From c2bede36e84c5beb7f01f32249515ab2b0dcc15e Mon Sep 17 00:00:00 2001 From: birdhead Date: Sun, 12 Oct 2025 13:55:56 +0900 Subject: [PATCH] First update source --- LICENSE | 625 + Makefile | 39059 ++++++++++++++++ README.md | 3 + SCallback.cpp | 75 + SCallback.h | 78 + SDCMCommonStructure.h | 657 + SDCMCommonStructure.h.old | 657 + SDCMImage.cpp | 1954 + SDCMImage.h | 111 + SDCMSendImpl.cpp | 1874 + SDCMSendImpl.h | 171 + SVG5.pro | 306 + SVG5.pro.user | 822 + SVG5_ko_KR.ts | 3 + acquisition_info.cpp | 77 + acquisition_info.h | 47 + assets.qrc | 41 + charconvert.cpp | 46 + charconvert.h | 19 + common.h | 701 + common.hpp | 327 + commondata.cpp | 2289 + commondata.cpp.old | 2079 + commondata.h | 375 + cscallbacksendprogress.cpp | 104 + cscallbacksendprogress.h | 42 + csdcm.cpp | 57 + csdcm.h | 34 + cuda_utils.h | 18 + dialogadvancedsetting.cpp | 196 + dialogadvancedsetting.h | 45 + dialogadvancedsetting.ui | 760 + dialogcalendar.cpp | 446 + dialogcalendar.h | 78 + dialogcalendar.ui | 394 + dialogchecksumerror.cpp | 42 + dialogchecksumerror.h | 28 + dialogchecksumerror.ui | 115 + dialogemergengy.cpp | 61 + dialogemergengy.h | 34 + dialogemergengy.ui | 512 + dialogexportsamba.cpp | 501 + dialogexportsamba.h | 82 + dialogexportsamba.ui | 242 + dialogexportusb.cpp | 572 + dialogexportusb.h | 70 + dialogexportusb.ui | 215 + dialoglogin.cpp | 131 + dialoglogin.h | 33 + dialoglogin.ui | 248 + dialogloginuseradd.cpp | 78 + dialogloginuseradd.h | 27 + dialogloginuseradd.ui | 305 + dialogmisscapture.cpp | 89 + dialogmisscapture.h | 33 + dialogmisscapture.ui | 114 + dialogpowerbutton.cpp | 96 + dialogpowerbutton.h | 38 + dialogpowerbutton.ui | 118 + dialogprogress.cpp | 437 + dialogprogress.h | 81 + dialogprogress.ui | 139 + dialogsettingnetworkshare.cpp | 152 + dialogsettingnetworkshare.h | 41 + dialogsettingnetworkshare.ui | 582 + dialogsettingtable.cpp | 439 + dialogsettingtable.h | 49 + dialogsettingtable.ui | 448 + formcalendarview.cpp | 408 + formcalendarview.h | 71 + formcalendarview.ui | 114 + formcapture.cpp | 2916 ++ formcapture.h | 157 + formcapture.ui | 1004 + formcaptureimageselect.cpp | 235 + formcaptureimageselect.h | 57 + formcaptureimageselect.ui | 55 + formcheckcaptureselect.cpp | 733 + formcheckcaptureselect.h | 61 + formcheckcaptureselect.ui | 293 + formheadertype1.cpp | 156 + formheadertype1.h | 48 + formheadertype1.ui | 165 + formhistory.cpp | 372 + formhistory.h | 47 + formhistory.ui | 396 + formimageselect.cpp | 484 + formimageselect.h | 81 + formimageselect.ui | 56 + formitemselection.cpp | 100 + formitemselection.h | 38 + formitemselection.ui | 241 + formlistwidget.cpp | 234 + formlistwidget.h | 79 + formlistwidget.ui | 320 + formlistwidgethistory.cpp | 252 + formlistwidgethistory.h | 42 + formlistwidgetworklist.cpp | 185 + formlistwidgetworklist.h | 42 + formmainmenu.cpp | 170 + formmainmenu.h | 47 + formmainmenu.ui | 181 + formscreensaver.cpp | 164 + formscreensaver.h | 49 + formscreensaver.ui | 28 + formsetting.cpp | 320 + formsetting.h | 37 + formsetting.ui | 2328 + formviewer.cpp | 1525 + formviewer.h | 112 + formviewer.ui | 889 + formworklist.cpp | 543 + formworklist.h | 85 + formworklist.ui | 429 + gitignore | 40 + headertype1.cpp | 430 + headertype1.h | 64 + image/1/Common/All chart_.png | Bin 0 -> 348084 bytes image/1/Common/Arrow_top_1.png | Bin 0 -> 428 bytes image/1/Common/Arrow_top_2.png | Bin 0 -> 382 bytes image/1/Common/Arrow_top_3.png | Bin 0 -> 429 bytes image/1/Common/Arrow_under_1.png | Bin 0 -> 419 bytes image/1/Common/Arrow_under_2.png | Bin 0 -> 356 bytes image/1/Common/Arrow_under_3.png | Bin 0 -> 362 bytes image/1/Common/Button_1.png | Bin 0 -> 1947 bytes image/1/Common/Button_1_select.png | Bin 0 -> 1945 bytes image/1/Common/Button_2.png | Bin 0 -> 1887 bytes image/1/Common/Button_2_select.png | Bin 0 -> 1928 bytes image/1/Common/Category_tab_1.png | Bin 0 -> 5300 bytes image/1/Common/Category_tab_button.png | Bin 0 -> 2373 bytes image/1/Common/Category_tab_button_select.png | Bin 0 -> 2391 bytes image/1/Common/Chart_category_1.png | Bin 0 -> 1519 bytes image/1/Common/Chart_category_10.png | Bin 0 -> 1253 bytes image/1/Common/Chart_category_11.png | Bin 0 -> 1477 bytes image/1/Common/Chart_category_12.png | Bin 0 -> 1540 bytes image/1/Common/Chart_category_2.png | Bin 0 -> 1457 bytes image/1/Common/Chart_category_3.png | Bin 0 -> 1645 bytes image/1/Common/Chart_category_4.png | Bin 0 -> 1243 bytes image/1/Common/Chart_category_5.png | Bin 0 -> 1243 bytes image/1/Common/Chart_category_6.png | Bin 0 -> 1320 bytes image/1/Common/Chart_category_7.png | Bin 0 -> 1042 bytes image/1/Common/Chart_category_8.png | Bin 0 -> 1163 bytes image/1/Common/Chart_category_9.png | Bin 0 -> 1144 bytes image/1/Common/Chart_contents_1.png | Bin 0 -> 1482 bytes image/1/Common/Chart_contents_10.png | Bin 0 -> 1464 bytes image/1/Common/Chart_contents_11.png | Bin 0 -> 1524 bytes image/1/Common/Chart_contents_2.png | Bin 0 -> 1415 bytes image/1/Common/Chart_contents_3.png | Bin 0 -> 1582 bytes image/1/Common/Chart_contents_4.png | Bin 0 -> 1210 bytes image/1/Common/Chart_contents_5.png | Bin 0 -> 1285 bytes image/1/Common/Chart_contents_6.png | Bin 0 -> 1035 bytes image/1/Common/Chart_contents_7.png | Bin 0 -> 1159 bytes image/1/Common/Chart_contents_8.png | Bin 0 -> 1249 bytes image/1/Common/Chart_contents_9.png | Bin 0 -> 1249 bytes image/1/Common/Chart_contents_color_1.png | Bin 0 -> 1489 bytes image/1/Common/Chart_contents_color_10.png | Bin 0 -> 1469 bytes image/1/Common/Chart_contents_color_11.png | Bin 0 -> 1529 bytes image/1/Common/Chart_contents_color_2.png | Bin 0 -> 1424 bytes image/1/Common/Chart_contents_color_3.png | Bin 0 -> 1608 bytes image/1/Common/Chart_contents_color_4.png | Bin 0 -> 1216 bytes image/1/Common/Chart_contents_color_5.png | Bin 0 -> 1291 bytes image/1/Common/Chart_contents_color_6.png | Bin 0 -> 1040 bytes image/1/Common/Chart_contents_color_7.png | Bin 0 -> 1164 bytes image/1/Common/Chart_contents_color_8.png | Bin 0 -> 1118 bytes image/1/Common/Chart_contents_color_9.png | Bin 0 -> 1254 bytes image/1/Common/Main_bg_1.png | Bin 0 -> 149415 bytes image/1/Common/Scroll_bar.png | Bin 0 -> 5610 bytes image/1/Common/Scroll_bar_2.png | Bin 0 -> 6251 bytes image/1/Common/Scroll_bar_icon.png | Bin 0 -> 1413 bytes image/1/Common/Search_bar_1.png | Bin 0 -> 1013 bytes image/1/Common/Search_bar_2.png | Bin 0 -> 1222 bytes image/1/Common/Sub_bg_1.png | Bin 0 -> 113493 bytes image/1/History/All chart_.png | Bin 0 -> 348084 bytes image/1/History/Arrow_top_1.png | Bin 0 -> 428 bytes image/1/History/Arrow_top_2.png | Bin 0 -> 382 bytes image/1/History/Arrow_top_3.png | Bin 0 -> 428 bytes image/1/History/Arrow_top_4.png | Bin 0 -> 423 bytes image/1/History/Arrow_under_1.png | Bin 0 -> 419 bytes image/1/History/Arrow_under_2.png | Bin 0 -> 356 bytes image/1/History/Arrow_under_3.png | Bin 0 -> 361 bytes image/1/History/Arrow_under_4.png | Bin 0 -> 362 bytes image/1/History/Button_1.png | Bin 0 -> 1947 bytes image/1/History/Button_1_select.png | Bin 0 -> 1945 bytes image/1/History/Category_tab_1.png | Bin 0 -> 5300 bytes image/1/History/Category_tab_button.png | Bin 0 -> 2373 bytes .../1/History/Category_tab_button_select.png | Bin 0 -> 2391 bytes image/1/History/Chart_category_1.png | Bin 0 -> 1519 bytes image/1/History/Chart_category_10.png | Bin 0 -> 1253 bytes image/1/History/Chart_category_11.png | Bin 0 -> 1477 bytes image/1/History/Chart_category_12.png | Bin 0 -> 1540 bytes image/1/History/Chart_category_2.png | Bin 0 -> 1457 bytes image/1/History/Chart_category_4.png | Bin 0 -> 1243 bytes image/1/History/Chart_category_5.png | Bin 0 -> 1243 bytes image/1/History/Chart_category_6.png | Bin 0 -> 1320 bytes image/1/History/Chart_category_7.png | Bin 0 -> 1042 bytes image/1/History/Chart_category_8.png | Bin 0 -> 1163 bytes image/1/History/Chart_category_9.png | Bin 0 -> 1144 bytes image/1/History/Chart_contents_1.png | Bin 0 -> 1482 bytes image/1/History/Chart_contents_10.png | Bin 0 -> 1464 bytes image/1/History/Chart_contents_11.png | Bin 0 -> 1524 bytes image/1/History/Chart_contents_2.png | Bin 0 -> 1415 bytes image/1/History/Chart_contents_3.png | Bin 0 -> 1582 bytes image/1/History/Chart_contents_4.png | Bin 0 -> 1210 bytes image/1/History/Chart_contents_5.png | Bin 0 -> 1285 bytes image/1/History/Chart_contents_6.png | Bin 0 -> 1035 bytes image/1/History/Chart_contents_7.png | Bin 0 -> 1159 bytes image/1/History/Chart_contents_8.png | Bin 0 -> 1249 bytes image/1/History/Chart_contents_9.png | Bin 0 -> 1249 bytes image/1/History/Chart_contents_color_1.png | Bin 0 -> 1489 bytes image/1/History/Chart_contents_color_10.png | Bin 0 -> 1469 bytes image/1/History/Chart_contents_color_11.png | Bin 0 -> 1529 bytes image/1/History/Chart_contents_color_2.png | Bin 0 -> 1424 bytes image/1/History/Chart_contents_color_3.png | Bin 0 -> 1608 bytes image/1/History/Chart_contents_color_4.png | Bin 0 -> 1216 bytes image/1/History/Chart_contents_color_5.png | Bin 0 -> 1291 bytes image/1/History/Chart_contents_color_6.png | Bin 0 -> 1040 bytes image/1/History/Chart_contents_color_7.png | Bin 0 -> 1164 bytes image/1/History/Chart_contents_color_8.png | Bin 0 -> 1118 bytes image/1/History/Chart_contents_color_9.png | Bin 0 -> 1254 bytes image/1/History/Main_bg_1.png | Bin 0 -> 149415 bytes image/1/History/Scroll_bar_2.png | Bin 0 -> 6251 bytes image/1/History/Scroll_bar_icon.png | Bin 0 -> 1413 bytes image/1/History/Search_bar_1.png | Bin 0 -> 1013 bytes image/1/History/Search_bar_2.png | Bin 0 -> 1222 bytes image/1/History/Sub_bg_1.png | Bin 0 -> 113493 bytes image/1/History/chart_category_3.png | Bin 0 -> 1645 bytes image/1/Worklist/All chart_.png | Bin 0 -> 348084 bytes image/1/Worklist/Arrow_top_2.png | Bin 0 -> 382 bytes image/1/Worklist/Arrow_top_3.png | Bin 0 -> 429 bytes image/1/Worklist/Arrow_under_1.png | Bin 0 -> 419 bytes image/1/Worklist/Arrow_under_2.png | Bin 0 -> 356 bytes image/1/Worklist/Arrow_under_3.png | Bin 0 -> 362 bytes image/1/Worklist/Button_1.png | Bin 0 -> 1947 bytes image/1/Worklist/Button_1_select.png | Bin 0 -> 1945 bytes image/1/Worklist/Button_2.png | Bin 0 -> 1887 bytes image/1/Worklist/Button_2_select.png | Bin 0 -> 1928 bytes image/1/Worklist/Category_tab_1.png | Bin 0 -> 5300 bytes image/1/Worklist/Category_tab_button.png | Bin 0 -> 2373 bytes .../1/Worklist/Category_tab_button_select.png | Bin 0 -> 2391 bytes image/1/Worklist/Chart_category_1.png | Bin 0 -> 1519 bytes image/1/Worklist/Chart_category_10.png | Bin 0 -> 1253 bytes image/1/Worklist/Chart_category_11.png | Bin 0 -> 1477 bytes image/1/Worklist/Chart_category_12.png | Bin 0 -> 1540 bytes image/1/Worklist/Chart_category_2.png | Bin 0 -> 1457 bytes image/1/Worklist/Chart_category_4.png | Bin 0 -> 1243 bytes image/1/Worklist/Chart_category_5.png | Bin 0 -> 1243 bytes image/1/Worklist/Chart_category_6.png | Bin 0 -> 1320 bytes image/1/Worklist/Chart_category_7.png | Bin 0 -> 1042 bytes image/1/Worklist/Chart_category_8.png | Bin 0 -> 1163 bytes image/1/Worklist/Chart_category_9.png | Bin 0 -> 1144 bytes image/1/Worklist/Chart_contents_1.png | Bin 0 -> 1482 bytes image/1/Worklist/Chart_contents_10.png | Bin 0 -> 1464 bytes image/1/Worklist/Chart_contents_11.png | Bin 0 -> 1524 bytes image/1/Worklist/Chart_contents_2.png | Bin 0 -> 1415 bytes image/1/Worklist/Chart_contents_3.png | Bin 0 -> 1582 bytes image/1/Worklist/Chart_contents_4.png | Bin 0 -> 1210 bytes image/1/Worklist/Chart_contents_5.png | Bin 0 -> 1285 bytes image/1/Worklist/Chart_contents_6.png | Bin 0 -> 1035 bytes image/1/Worklist/Chart_contents_7.png | Bin 0 -> 1159 bytes image/1/Worklist/Chart_contents_8.png | Bin 0 -> 1249 bytes image/1/Worklist/Chart_contents_9.png | Bin 0 -> 1249 bytes image/1/Worklist/Chart_contents_color_1.png | Bin 0 -> 1489 bytes image/1/Worklist/Chart_contents_color_10.png | Bin 0 -> 1469 bytes image/1/Worklist/Chart_contents_color_11.png | Bin 0 -> 1529 bytes image/1/Worklist/Chart_contents_color_2.png | Bin 0 -> 1424 bytes image/1/Worklist/Chart_contents_color_3.png | Bin 0 -> 1608 bytes image/1/Worklist/Chart_contents_color_4.png | Bin 0 -> 1216 bytes image/1/Worklist/Chart_contents_color_5.png | Bin 0 -> 1291 bytes image/1/Worklist/Chart_contents_color_6.png | Bin 0 -> 1040 bytes image/1/Worklist/Chart_contents_color_7.png | Bin 0 -> 1164 bytes image/1/Worklist/Chart_contents_color_8.png | Bin 0 -> 1118 bytes image/1/Worklist/Chart_contents_color_9.png | Bin 0 -> 1254 bytes image/1/Worklist/Main_bg_1.png | Bin 0 -> 149415 bytes image/1/Worklist/Scroll_bar_1.png | Bin 0 -> 5610 bytes image/1/Worklist/Scroll_bar_icon.png | Bin 0 -> 1413 bytes image/1/Worklist/Search_bar_1.png | Bin 0 -> 1013 bytes image/1/Worklist/Search_bar_2.png | Bin 0 -> 1222 bytes image/1/Worklist/Sub_bg_1.png | Bin 0 -> 113493 bytes image/1/Worklist/chart_category_3.png | Bin 0 -> 1645 bytes image/2/capture_button_bg_1-1.png | Bin 0 -> 618 bytes image/2/capture_button_bg_1-2.png | Bin 0 -> 591 bytes image/2/capture_button_bg_2-1.png | Bin 0 -> 618 bytes image/2/capture_button_bg_2-2.png | Bin 0 -> 591 bytes image/2/capture_button_bg_3-1.png | Bin 0 -> 627 bytes image/2/capture_button_bg_3-2.png | Bin 0 -> 630 bytes image/2/capture_button_bg_4-1.png | Bin 0 -> 607 bytes image/2/capture_button_bg_4-2.png | Bin 0 -> 595 bytes image/2/capture_check box.png | Bin 0 -> 447 bytes image/2/capture_close all_button_icon.png | Bin 0 -> 1187 bytes .../capture_close all_clicked_button_icon.png | Bin 0 -> 1256 bytes image/2/capture_close_button.png | Bin 0 -> 1097 bytes image/2/capture_close_button_bg.png | Bin 0 -> 584 bytes image/2/capture_close_button_clicked.png | Bin 0 -> 1090 bytes image/2/capture_close_button_icon.png | Bin 0 -> 887 bytes image/2/capture_close_clicked_button_bg.png | Bin 0 -> 559 bytes image/2/capture_close_clicked_button_icon.png | Bin 0 -> 931 bytes image/2/capture_delete all_button.png | Bin 0 -> 1088 bytes image/2/capture_delete all_button_icon.png | Bin 0 -> 1139 bytes image/2/capture_delete all_clicked_button.png | Bin 0 -> 1062 bytes ...capture_delete all_clicked_button_icon.png | Bin 0 -> 1197 bytes image/2/capture_delete current_button.png | Bin 0 -> 1228 bytes .../capture_delete current_clicked_button.png | Bin 0 -> 1299 bytes image/2/capture_delete_button.png | Bin 0 -> 902 bytes image/2/capture_delete_button_icon.png | Bin 0 -> 901 bytes image/2/capture_delete_clicked_button.png | Bin 0 -> 893 bytes .../2/capture_delete_clicked_button_icon.png | Bin 0 -> 886 bytes image/2/capture_next_button_icon.png | Bin 0 -> 742 bytes image/2/capture_prev_button_icon.png | Bin 0 -> 733 bytes image/2/capture_send all_button.png | Bin 0 -> 1255 bytes image/2/capture_send all_button_clicked.png | Bin 0 -> 2021 bytes image/2/capture_send all_clicked_button.png | Bin 0 -> 1296 bytes image/2/capture_send current_button.png | Bin 0 -> 1449 bytes .../2/capture_send current_clicked_button.png | Bin 0 -> 1472 bytes image/2/capture_send_button.png | Bin 0 -> 1142 bytes image/2/capture_send_clicked_button.png | Bin 0 -> 1166 bytes image/2/capture_send_icon_button.png | Bin 0 -> 1815 bytes .../2/capture_send_icon_check box_button.png | Bin 0 -> 2039 bytes image/2/capture_send_icon_clicked_button.png | Bin 0 -> 1824 bytes image/2/next-icon.png | Bin 0 -> 1156 bytes image/2/next-icon_clicked.png | Bin 0 -> 1147 bytes image/2/preview-icon.png | Bin 0 -> 1179 bytes image/2/preview-icon_clicked.png | Bin 0 -> 1162 bytes image/Arrow_top_2.png | Bin 0 -> 382 bytes image/Arrow_top_3.png | Bin 0 -> 429 bytes image/Arrow_under_2.png | Bin 0 -> 356 bytes image/Arrow_under_3.png | Bin 0 -> 362 bytes image/ScrollBar_Horizontal_Icon.png | Bin 0 -> 276 bytes image/ScrollBar_Vertical_Icon.png | Bin 0 -> 275 bytes image/Scroll_bar_1.png | Bin 0 -> 5610 bytes image/cancel_arrow.png | Bin 0 -> 392 bytes image/month_next.png | Bin 0 -> 198 bytes image/month_prev.png | Bin 0 -> 187 bytes image/scrollbar_down.png | Bin 0 -> 295 bytes image/scrollbar_horizontal_bg.png | Bin 0 -> 342 bytes image/scrollbar_left.png | Bin 0 -> 262 bytes image/scrollbar_right.png | Bin 0 -> 267 bytes image/scrollbar_up.png | Bin 0 -> 264 bytes image/scrollbar_vertical_bg.png | Bin 0 -> 301 bytes image/select_indicator.png | Bin 0 -> 360 bytes logging.h | 504 + macros.h | 27 + main.cpp | 157 + mainwindow.cpp | 1556 + mainwindow.h | 148 + mainwindow.ui | 45 + pkg-config_wrapper.sh | 6 + preprocess.cu | 116 + preprocess.h | 16 + qglslshader.cpp | 259 + qglslshader.h | 88 + qgstreamerplayer.cpp | 1937 + qgstreamerplayer.h | 252 + qgstreamerplayer2.cpp | 506 + qgstreamerplayer2.h | 22 + qgstreamerplayer_old.cpp | 2046 + qopenglbufferbase.cpp | 173 + qopenglbufferbase.h | 50 + qopenglbuffermenu.cpp | 253 + qopenglbuffermenu.h | 56 + qopenglbufferthumbnail.cpp | 396 + qopenglbufferthumbnail.h | 73 + qopengltexturebutton.cpp | 51 + qopengltexturebutton.h | 32 + qrc_assets.cpp | 2369 + qrtspthread.cpp | 686 + qrtspthread.h | 110 + qsthread.cpp | 82 + qsthread.h | 44 + qvideoshader.cpp | 49 + qvideoshader.h | 27 + qvideowidget.cpp | 1219 + qvideowidget.h | 199 + qvideowidget_720_yuy2.cpp | 236 + qvideowidget_720_yuy2.h | 15 + qvideowidget_rgb.cpp | 162 + qvideowidget_rgb.h | 15 + qvideowidget_uyvy.cpp | 415 + qvideowidget_uyvy.h | 15 + qvideowidget_yuy2.cpp | 219 + qvideowidget_yuy2.h | 15 + sambaclient.cpp | 332 + sambaclient.h | 46 + sapplication.cpp | 32 + sapplication.h | 14 + scalendarmenuview.cpp | 108 + scalendarmenuview.h | 42 + scurl.cpp | 435 + scurl.h | 59 + sdatabase.cpp | 2051 + sdatabase.cpp.old | 2403 + sdatabase.h | 182 + sdayview.cpp | 280 + sdayview.h | 58 + sdcmfindscu.cpp | 6 + sdcmfindscu.h | 12 + sdcmfindscudatacallback.cpp | 625 + sdcmfindscudatacallback.h | 72 + sdcmworklist.cpp | 618 + sdcmworklist.h | 54 + seventfilter.cpp | 22 + seventfilter.h | 21 + sexception.cpp | 2 + sexception.h | 21 + singlebutton.cpp | 17 + singlebutton.h | 21 + slistwidget.cpp | 963 + slistwidget.h | 116 + slistwidgetsetting.cpp | 109 + slistwidgetsetting.h | 33 + sslidebar.cpp | 233 + sslidebar.h | 56 + sslidebarhorizontal.cpp | 29 + sslidebarhorizontal.h | 20 + stableheader.cpp | 266 + stableheader.h | 37 + stextedit.cpp | 163 + stextedit.h | 28 + sthreadimagesave.cpp | 2287 + sthreadimagesave.h | 190 + sthreadsenddicom.cpp | 915 + sthreadsenddicom.h | 89 + sthreadwatchport.cpp | 173 + sthreadwatchport.h | 52 + sthreadwatchvideolink.cpp | 730 + sthreadwatchvideolink.h | 55 + sthreadworklistsearch.cpp | 308 + sthreadworklistsearch.h | 46 + sv4l2device.cpp | 312 + sv4l2device.h | 43 + test.png | Bin 0 -> 358152 bytes utils.h | 52 + yololayer.cu | 313 + yololayer.h | 138 + yolov5.cpp | 446 + 434 files changed, 107986 insertions(+) create mode 100644 LICENSE create mode 100644 Makefile create mode 100644 README.md create mode 100644 SCallback.cpp create mode 100644 SCallback.h create mode 100644 SDCMCommonStructure.h create mode 100644 SDCMCommonStructure.h.old create mode 100644 SDCMImage.cpp create mode 100644 SDCMImage.h create mode 100644 SDCMSendImpl.cpp create mode 100644 SDCMSendImpl.h create mode 100644 SVG5.pro create mode 100644 SVG5.pro.user create mode 100644 SVG5_ko_KR.ts create mode 100644 acquisition_info.cpp create mode 100644 acquisition_info.h create mode 100644 assets.qrc create mode 100644 charconvert.cpp create mode 100644 charconvert.h create mode 100644 common.h create mode 100644 common.hpp create mode 100644 commondata.cpp create mode 100644 commondata.cpp.old create mode 100644 commondata.h create mode 100644 cscallbacksendprogress.cpp create mode 100644 cscallbacksendprogress.h create mode 100644 csdcm.cpp create mode 100644 csdcm.h create mode 100644 cuda_utils.h create mode 100644 dialogadvancedsetting.cpp create mode 100644 dialogadvancedsetting.h create mode 100644 dialogadvancedsetting.ui create mode 100644 dialogcalendar.cpp create mode 100644 dialogcalendar.h create mode 100644 dialogcalendar.ui create mode 100644 dialogchecksumerror.cpp create mode 100644 dialogchecksumerror.h create mode 100644 dialogchecksumerror.ui create mode 100644 dialogemergengy.cpp create mode 100644 dialogemergengy.h create mode 100644 dialogemergengy.ui create mode 100644 dialogexportsamba.cpp create mode 100644 dialogexportsamba.h create mode 100644 dialogexportsamba.ui create mode 100644 dialogexportusb.cpp create mode 100644 dialogexportusb.h create mode 100644 dialogexportusb.ui create mode 100644 dialoglogin.cpp create mode 100644 dialoglogin.h create mode 100644 dialoglogin.ui create mode 100644 dialogloginuseradd.cpp create mode 100644 dialogloginuseradd.h create mode 100644 dialogloginuseradd.ui create mode 100644 dialogmisscapture.cpp create mode 100644 dialogmisscapture.h create mode 100644 dialogmisscapture.ui create mode 100644 dialogpowerbutton.cpp create mode 100644 dialogpowerbutton.h create mode 100644 dialogpowerbutton.ui create mode 100644 dialogprogress.cpp create mode 100644 dialogprogress.h create mode 100644 dialogprogress.ui create mode 100644 dialogsettingnetworkshare.cpp create mode 100644 dialogsettingnetworkshare.h create mode 100644 dialogsettingnetworkshare.ui create mode 100644 dialogsettingtable.cpp create mode 100644 dialogsettingtable.h create mode 100644 dialogsettingtable.ui create mode 100644 formcalendarview.cpp create mode 100644 formcalendarview.h create mode 100644 formcalendarview.ui create mode 100644 formcapture.cpp create mode 100644 formcapture.h create mode 100644 formcapture.ui create mode 100644 formcaptureimageselect.cpp create mode 100644 formcaptureimageselect.h create mode 100644 formcaptureimageselect.ui create mode 100644 formcheckcaptureselect.cpp create mode 100644 formcheckcaptureselect.h create mode 100644 formcheckcaptureselect.ui create mode 100644 formheadertype1.cpp create mode 100644 formheadertype1.h create mode 100644 formheadertype1.ui create mode 100644 formhistory.cpp create mode 100644 formhistory.h create mode 100644 formhistory.ui create mode 100644 formimageselect.cpp create mode 100644 formimageselect.h create mode 100644 formimageselect.ui create mode 100644 formitemselection.cpp create mode 100644 formitemselection.h create mode 100644 formitemselection.ui create mode 100644 formlistwidget.cpp create mode 100644 formlistwidget.h create mode 100644 formlistwidget.ui create mode 100644 formlistwidgethistory.cpp create mode 100644 formlistwidgethistory.h create mode 100644 formlistwidgetworklist.cpp create mode 100644 formlistwidgetworklist.h create mode 100644 formmainmenu.cpp create mode 100644 formmainmenu.h create mode 100644 formmainmenu.ui create mode 100644 formscreensaver.cpp create mode 100644 formscreensaver.h create mode 100644 formscreensaver.ui create mode 100644 formsetting.cpp create mode 100644 formsetting.h create mode 100644 formsetting.ui create mode 100644 formviewer.cpp create mode 100644 formviewer.h create mode 100644 formviewer.ui create mode 100644 formworklist.cpp create mode 100644 formworklist.h create mode 100644 formworklist.ui create mode 100644 gitignore create mode 100644 headertype1.cpp create mode 100644 headertype1.h create mode 100644 image/1/Common/All chart_.png create mode 100644 image/1/Common/Arrow_top_1.png create mode 100644 image/1/Common/Arrow_top_2.png create mode 100644 image/1/Common/Arrow_top_3.png create mode 100644 image/1/Common/Arrow_under_1.png create mode 100644 image/1/Common/Arrow_under_2.png create mode 100644 image/1/Common/Arrow_under_3.png create mode 100644 image/1/Common/Button_1.png create mode 100644 image/1/Common/Button_1_select.png create mode 100644 image/1/Common/Button_2.png create mode 100644 image/1/Common/Button_2_select.png create mode 100644 image/1/Common/Category_tab_1.png create mode 100644 image/1/Common/Category_tab_button.png create mode 100644 image/1/Common/Category_tab_button_select.png create mode 100644 image/1/Common/Chart_category_1.png create mode 100644 image/1/Common/Chart_category_10.png create mode 100644 image/1/Common/Chart_category_11.png create mode 100644 image/1/Common/Chart_category_12.png create mode 100644 image/1/Common/Chart_category_2.png create mode 100644 image/1/Common/Chart_category_3.png create mode 100644 image/1/Common/Chart_category_4.png create mode 100644 image/1/Common/Chart_category_5.png create mode 100644 image/1/Common/Chart_category_6.png create mode 100644 image/1/Common/Chart_category_7.png create mode 100644 image/1/Common/Chart_category_8.png create mode 100644 image/1/Common/Chart_category_9.png create mode 100644 image/1/Common/Chart_contents_1.png create mode 100644 image/1/Common/Chart_contents_10.png create mode 100644 image/1/Common/Chart_contents_11.png create mode 100644 image/1/Common/Chart_contents_2.png create mode 100644 image/1/Common/Chart_contents_3.png create mode 100644 image/1/Common/Chart_contents_4.png create mode 100644 image/1/Common/Chart_contents_5.png create mode 100644 image/1/Common/Chart_contents_6.png create mode 100644 image/1/Common/Chart_contents_7.png create mode 100644 image/1/Common/Chart_contents_8.png create mode 100644 image/1/Common/Chart_contents_9.png create mode 100644 image/1/Common/Chart_contents_color_1.png create mode 100644 image/1/Common/Chart_contents_color_10.png create mode 100644 image/1/Common/Chart_contents_color_11.png create mode 100644 image/1/Common/Chart_contents_color_2.png create mode 100644 image/1/Common/Chart_contents_color_3.png create mode 100644 image/1/Common/Chart_contents_color_4.png create mode 100644 image/1/Common/Chart_contents_color_5.png create mode 100644 image/1/Common/Chart_contents_color_6.png create mode 100644 image/1/Common/Chart_contents_color_7.png create mode 100644 image/1/Common/Chart_contents_color_8.png create mode 100644 image/1/Common/Chart_contents_color_9.png create mode 100644 image/1/Common/Main_bg_1.png create mode 100644 image/1/Common/Scroll_bar.png create mode 100644 image/1/Common/Scroll_bar_2.png create mode 100644 image/1/Common/Scroll_bar_icon.png create mode 100644 image/1/Common/Search_bar_1.png create mode 100644 image/1/Common/Search_bar_2.png create mode 100644 image/1/Common/Sub_bg_1.png create mode 100644 image/1/History/All chart_.png create mode 100644 image/1/History/Arrow_top_1.png create mode 100644 image/1/History/Arrow_top_2.png create mode 100644 image/1/History/Arrow_top_3.png create mode 100644 image/1/History/Arrow_top_4.png create mode 100644 image/1/History/Arrow_under_1.png create mode 100644 image/1/History/Arrow_under_2.png create mode 100644 image/1/History/Arrow_under_3.png create mode 100644 image/1/History/Arrow_under_4.png create mode 100644 image/1/History/Button_1.png create mode 100644 image/1/History/Button_1_select.png create mode 100644 image/1/History/Category_tab_1.png create mode 100644 image/1/History/Category_tab_button.png create mode 100644 image/1/History/Category_tab_button_select.png create mode 100644 image/1/History/Chart_category_1.png create mode 100644 image/1/History/Chart_category_10.png create mode 100644 image/1/History/Chart_category_11.png create mode 100644 image/1/History/Chart_category_12.png create mode 100644 image/1/History/Chart_category_2.png create mode 100644 image/1/History/Chart_category_4.png create mode 100644 image/1/History/Chart_category_5.png create mode 100644 image/1/History/Chart_category_6.png create mode 100644 image/1/History/Chart_category_7.png create mode 100644 image/1/History/Chart_category_8.png create mode 100644 image/1/History/Chart_category_9.png create mode 100644 image/1/History/Chart_contents_1.png create mode 100644 image/1/History/Chart_contents_10.png create mode 100644 image/1/History/Chart_contents_11.png create mode 100644 image/1/History/Chart_contents_2.png create mode 100644 image/1/History/Chart_contents_3.png create mode 100644 image/1/History/Chart_contents_4.png create mode 100644 image/1/History/Chart_contents_5.png create mode 100644 image/1/History/Chart_contents_6.png create mode 100644 image/1/History/Chart_contents_7.png create mode 100644 image/1/History/Chart_contents_8.png create mode 100644 image/1/History/Chart_contents_9.png create mode 100644 image/1/History/Chart_contents_color_1.png create mode 100644 image/1/History/Chart_contents_color_10.png create mode 100644 image/1/History/Chart_contents_color_11.png create mode 100644 image/1/History/Chart_contents_color_2.png create mode 100644 image/1/History/Chart_contents_color_3.png create mode 100644 image/1/History/Chart_contents_color_4.png create mode 100644 image/1/History/Chart_contents_color_5.png create mode 100644 image/1/History/Chart_contents_color_6.png create mode 100644 image/1/History/Chart_contents_color_7.png create mode 100644 image/1/History/Chart_contents_color_8.png create mode 100644 image/1/History/Chart_contents_color_9.png create mode 100644 image/1/History/Main_bg_1.png create mode 100644 image/1/History/Scroll_bar_2.png create mode 100644 image/1/History/Scroll_bar_icon.png create mode 100644 image/1/History/Search_bar_1.png create mode 100644 image/1/History/Search_bar_2.png create mode 100644 image/1/History/Sub_bg_1.png create mode 100644 image/1/History/chart_category_3.png create mode 100644 image/1/Worklist/All chart_.png create mode 100644 image/1/Worklist/Arrow_top_2.png create mode 100644 image/1/Worklist/Arrow_top_3.png create mode 100644 image/1/Worklist/Arrow_under_1.png create mode 100644 image/1/Worklist/Arrow_under_2.png create mode 100644 image/1/Worklist/Arrow_under_3.png create mode 100644 image/1/Worklist/Button_1.png create mode 100644 image/1/Worklist/Button_1_select.png create mode 100644 image/1/Worklist/Button_2.png create mode 100644 image/1/Worklist/Button_2_select.png create mode 100644 image/1/Worklist/Category_tab_1.png create mode 100644 image/1/Worklist/Category_tab_button.png create mode 100644 image/1/Worklist/Category_tab_button_select.png create mode 100644 image/1/Worklist/Chart_category_1.png create mode 100644 image/1/Worklist/Chart_category_10.png create mode 100644 image/1/Worklist/Chart_category_11.png create mode 100644 image/1/Worklist/Chart_category_12.png create mode 100644 image/1/Worklist/Chart_category_2.png create mode 100644 image/1/Worklist/Chart_category_4.png create mode 100644 image/1/Worklist/Chart_category_5.png create mode 100644 image/1/Worklist/Chart_category_6.png create mode 100644 image/1/Worklist/Chart_category_7.png create mode 100644 image/1/Worklist/Chart_category_8.png create mode 100644 image/1/Worklist/Chart_category_9.png create mode 100644 image/1/Worklist/Chart_contents_1.png create mode 100644 image/1/Worklist/Chart_contents_10.png create mode 100644 image/1/Worklist/Chart_contents_11.png create mode 100644 image/1/Worklist/Chart_contents_2.png create mode 100644 image/1/Worklist/Chart_contents_3.png create mode 100644 image/1/Worklist/Chart_contents_4.png create mode 100644 image/1/Worklist/Chart_contents_5.png create mode 100644 image/1/Worklist/Chart_contents_6.png create mode 100644 image/1/Worklist/Chart_contents_7.png create mode 100644 image/1/Worklist/Chart_contents_8.png create mode 100644 image/1/Worklist/Chart_contents_9.png create mode 100644 image/1/Worklist/Chart_contents_color_1.png create mode 100644 image/1/Worklist/Chart_contents_color_10.png create mode 100644 image/1/Worklist/Chart_contents_color_11.png create mode 100644 image/1/Worklist/Chart_contents_color_2.png create mode 100644 image/1/Worklist/Chart_contents_color_3.png create mode 100644 image/1/Worklist/Chart_contents_color_4.png create mode 100644 image/1/Worklist/Chart_contents_color_5.png create mode 100644 image/1/Worklist/Chart_contents_color_6.png create mode 100644 image/1/Worklist/Chart_contents_color_7.png create mode 100644 image/1/Worklist/Chart_contents_color_8.png create mode 100644 image/1/Worklist/Chart_contents_color_9.png create mode 100644 image/1/Worklist/Main_bg_1.png create mode 100644 image/1/Worklist/Scroll_bar_1.png create mode 100644 image/1/Worklist/Scroll_bar_icon.png create mode 100644 image/1/Worklist/Search_bar_1.png create mode 100644 image/1/Worklist/Search_bar_2.png create mode 100644 image/1/Worklist/Sub_bg_1.png create mode 100644 image/1/Worklist/chart_category_3.png create mode 100644 image/2/capture_button_bg_1-1.png create mode 100644 image/2/capture_button_bg_1-2.png create mode 100644 image/2/capture_button_bg_2-1.png create mode 100644 image/2/capture_button_bg_2-2.png create mode 100644 image/2/capture_button_bg_3-1.png create mode 100644 image/2/capture_button_bg_3-2.png create mode 100644 image/2/capture_button_bg_4-1.png create mode 100644 image/2/capture_button_bg_4-2.png create mode 100644 image/2/capture_check box.png create mode 100644 image/2/capture_close all_button_icon.png create mode 100644 image/2/capture_close all_clicked_button_icon.png create mode 100644 image/2/capture_close_button.png create mode 100644 image/2/capture_close_button_bg.png create mode 100644 image/2/capture_close_button_clicked.png create mode 100644 image/2/capture_close_button_icon.png create mode 100644 image/2/capture_close_clicked_button_bg.png create mode 100644 image/2/capture_close_clicked_button_icon.png create mode 100644 image/2/capture_delete all_button.png create mode 100644 image/2/capture_delete all_button_icon.png create mode 100644 image/2/capture_delete all_clicked_button.png create mode 100644 image/2/capture_delete all_clicked_button_icon.png create mode 100644 image/2/capture_delete current_button.png create mode 100644 image/2/capture_delete current_clicked_button.png create mode 100644 image/2/capture_delete_button.png create mode 100644 image/2/capture_delete_button_icon.png create mode 100644 image/2/capture_delete_clicked_button.png create mode 100644 image/2/capture_delete_clicked_button_icon.png create mode 100644 image/2/capture_next_button_icon.png create mode 100644 image/2/capture_prev_button_icon.png create mode 100644 image/2/capture_send all_button.png create mode 100644 image/2/capture_send all_button_clicked.png create mode 100644 image/2/capture_send all_clicked_button.png create mode 100644 image/2/capture_send current_button.png create mode 100644 image/2/capture_send current_clicked_button.png create mode 100644 image/2/capture_send_button.png create mode 100644 image/2/capture_send_clicked_button.png create mode 100644 image/2/capture_send_icon_button.png create mode 100644 image/2/capture_send_icon_check box_button.png create mode 100644 image/2/capture_send_icon_clicked_button.png create mode 100644 image/2/next-icon.png create mode 100644 image/2/next-icon_clicked.png create mode 100644 image/2/preview-icon.png create mode 100644 image/2/preview-icon_clicked.png create mode 100644 image/Arrow_top_2.png create mode 100644 image/Arrow_top_3.png create mode 100644 image/Arrow_under_2.png create mode 100644 image/Arrow_under_3.png create mode 100644 image/ScrollBar_Horizontal_Icon.png create mode 100644 image/ScrollBar_Vertical_Icon.png create mode 100644 image/Scroll_bar_1.png create mode 100644 image/cancel_arrow.png create mode 100644 image/month_next.png create mode 100644 image/month_prev.png create mode 100644 image/scrollbar_down.png create mode 100644 image/scrollbar_horizontal_bg.png create mode 100644 image/scrollbar_left.png create mode 100644 image/scrollbar_right.png create mode 100644 image/scrollbar_up.png create mode 100644 image/scrollbar_vertical_bg.png create mode 100644 image/select_indicator.png create mode 100644 logging.h create mode 100644 macros.h create mode 100644 main.cpp create mode 100644 mainwindow.cpp create mode 100644 mainwindow.h create mode 100644 mainwindow.ui create mode 100755 pkg-config_wrapper.sh create mode 100644 preprocess.cu create mode 100644 preprocess.h create mode 100644 qglslshader.cpp create mode 100644 qglslshader.h create mode 100644 qgstreamerplayer.cpp create mode 100644 qgstreamerplayer.h create mode 100644 qgstreamerplayer2.cpp create mode 100644 qgstreamerplayer2.h create mode 100644 qgstreamerplayer_old.cpp create mode 100644 qopenglbufferbase.cpp create mode 100644 qopenglbufferbase.h create mode 100644 qopenglbuffermenu.cpp create mode 100644 qopenglbuffermenu.h create mode 100644 qopenglbufferthumbnail.cpp create mode 100644 qopenglbufferthumbnail.h create mode 100644 qopengltexturebutton.cpp create mode 100644 qopengltexturebutton.h create mode 100644 qrc_assets.cpp create mode 100644 qrtspthread.cpp create mode 100644 qrtspthread.h create mode 100644 qsthread.cpp create mode 100644 qsthread.h create mode 100644 qvideoshader.cpp create mode 100644 qvideoshader.h create mode 100644 qvideowidget.cpp create mode 100644 qvideowidget.h create mode 100644 qvideowidget_720_yuy2.cpp create mode 100644 qvideowidget_720_yuy2.h create mode 100644 qvideowidget_rgb.cpp create mode 100644 qvideowidget_rgb.h create mode 100644 qvideowidget_uyvy.cpp create mode 100644 qvideowidget_uyvy.h create mode 100644 qvideowidget_yuy2.cpp create mode 100644 qvideowidget_yuy2.h create mode 100644 sambaclient.cpp create mode 100644 sambaclient.h create mode 100644 sapplication.cpp create mode 100644 sapplication.h create mode 100644 scalendarmenuview.cpp create mode 100644 scalendarmenuview.h create mode 100644 scurl.cpp create mode 100644 scurl.h create mode 100644 sdatabase.cpp create mode 100644 sdatabase.cpp.old create mode 100644 sdatabase.h create mode 100644 sdayview.cpp create mode 100644 sdayview.h create mode 100644 sdcmfindscu.cpp create mode 100644 sdcmfindscu.h create mode 100644 sdcmfindscudatacallback.cpp create mode 100644 sdcmfindscudatacallback.h create mode 100644 sdcmworklist.cpp create mode 100644 sdcmworklist.h create mode 100644 seventfilter.cpp create mode 100644 seventfilter.h create mode 100644 sexception.cpp create mode 100644 sexception.h create mode 100644 singlebutton.cpp create mode 100644 singlebutton.h create mode 100644 slistwidget.cpp create mode 100644 slistwidget.h create mode 100644 slistwidgetsetting.cpp create mode 100644 slistwidgetsetting.h create mode 100644 sslidebar.cpp create mode 100644 sslidebar.h create mode 100644 sslidebarhorizontal.cpp create mode 100644 sslidebarhorizontal.h create mode 100644 stableheader.cpp create mode 100644 stableheader.h create mode 100644 stextedit.cpp create mode 100644 stextedit.h create mode 100644 sthreadimagesave.cpp create mode 100644 sthreadimagesave.h create mode 100644 sthreadsenddicom.cpp create mode 100644 sthreadsenddicom.h create mode 100644 sthreadwatchport.cpp create mode 100644 sthreadwatchport.h create mode 100644 sthreadwatchvideolink.cpp create mode 100644 sthreadwatchvideolink.h create mode 100644 sthreadworklistsearch.cpp create mode 100644 sthreadworklistsearch.h create mode 100644 sv4l2device.cpp create mode 100644 sv4l2device.h create mode 100644 test.png create mode 100644 utils.h create mode 100644 yololayer.cu create mode 100644 yololayer.h create mode 100644 yolov5.cpp diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..e142a52 --- /dev/null +++ b/LICENSE @@ -0,0 +1,625 @@ +GNU GENERAL PUBLIC LICENSE + +Version 3, 29 June 2007 + +Copyright © 2007 Free Software Foundation, Inc. + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. + +Preamble + +The GNU General Public License is a free, copyleft license for software and +other kinds of works. + +The licenses for most software and other practical works are designed to take +away your freedom to share and change the works. By contrast, the GNU General +Public License is intended to guarantee your freedom to share and change all +versions of a program--to make sure it remains free software for all its users. +We, the Free Software Foundation, use the GNU General Public License for most +of our software; it applies also to any other work released this way by its +authors. You can apply it to your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom +to distribute copies of free software (and charge for them if you wish), that +you receive source code or can get it if you want it, that you can change +the software or use pieces of it in new free programs, and that you know you +can do these things. + +To protect your rights, we need to prevent others from denying you these rights +or asking you to surrender the rights. Therefore, you have certain responsibilities +if you distribute copies of the software, or if you modify it: responsibilities +to respect the freedom of others. + +For example, if you distribute copies of such a program, whether gratis or +for a fee, you must pass on to the recipients the same freedoms that you received. +You must make sure that they, too, receive or can get the source code. And +you must show them these terms so they know their rights. + +Developers that use the GNU GPL protect your rights with two steps: (1) assert +copyright on the software, and (2) offer you this License giving you legal +permission to copy, distribute and/or modify it. + +For the developers' and authors' protection, the GPL clearly explains that +there is no warranty for this free software. For both users' and authors' +sake, the GPL requires that modified versions be marked as changed, so that +their problems will not be attributed erroneously to authors of previous versions. + +Some devices are designed to deny users access to install or run modified +versions of the software inside them, although the manufacturer can do so. +This is fundamentally incompatible with the aim of protecting users' freedom +to change the software. The systematic pattern of such abuse occurs in the +area of products for individuals to use, which is precisely where it is most +unacceptable. Therefore, we have designed this version of the GPL to prohibit +the practice for those products. If such problems arise substantially in other +domains, we stand ready to extend this provision to those domains in future +versions of the GPL, as needed to protect the freedom of users. + +Finally, every program is threatened constantly by software patents. States +should not allow patents to restrict development and use of software on general-purpose +computers, but in those that do, we wish to avoid the special danger that +patents applied to a free program could make it effectively proprietary. To +prevent this, the GPL assures that patents cannot be used to render the program +non-free. + +The precise terms and conditions for copying, distribution and modification +follow. + +TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + +"Copyright" also means copyright-like laws that apply to other kinds of works, +such as semiconductor masks. + +"The Program" refers to any copyrightable work licensed under this License. +Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals +or organizations. + +To "modify" a work means to copy from or adapt all or part of the work in +a fashion requiring copyright permission, other than the making of an exact +copy. The resulting work is called a "modified version" of the earlier work +or a work "based on" the earlier work. + +A "covered work" means either the unmodified Program or a work based on the +Program. + +To "propagate" a work means to do anything with it that, without permission, +would make you directly or secondarily liable for infringement under applicable +copyright law, except executing it on a computer or modifying a private copy. +Propagation includes copying, distribution (with or without modification), +making available to the public, and in some countries other activities as +well. + +To "convey" a work means any kind of propagation that enables other parties +to make or receive copies. Mere interaction with a user through a computer +network, with no transfer of a copy, is not conveying. + +An interactive user interface displays "Appropriate Legal Notices" to the +extent that it includes a convenient and prominently visible feature that +(1) displays an appropriate copyright notice, and (2) tells the user that +there is no warranty for the work (except to the extent that warranties are +provided), that licensees may convey the work under this License, and how +to view a copy of this License. If the interface presents a list of user commands +or options, such as a menu, a prominent item in the list meets this criterion. + + 1. Source Code. + +The "source code" for a work means the preferred form of the work for making +modifications to it. "Object code" means any non-source form of a work. + +A "Standard Interface" means an interface that either is an official standard +defined by a recognized standards body, or, in the case of interfaces specified +for a particular programming language, one that is widely used among developers +working in that language. + +The "System Libraries" of an executable work include anything, other than +the work as a whole, that (a) is included in the normal form of packaging +a Major Component, but which is not part of that Major Component, and (b) +serves only to enable use of the work with that Major Component, or to implement +a Standard Interface for which an implementation is available to the public +in source code form. A "Major Component", in this context, means a major essential +component (kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to produce +the work, or an object code interpreter used to run it. + +The "Corresponding Source" for a work in object code form means all the source +code needed to generate, install, and (for an executable work) run the object +code and to modify the work, including scripts to control those activities. +However, it does not include the work's System Libraries, or general-purpose +tools or generally available free programs which are used unmodified in performing +those activities but which are not part of the work. For example, Corresponding +Source includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically linked +subprograms that the work is specifically designed to require, such as by +intimate data communication or control flow between those subprograms and +other parts of the work. + +The Corresponding Source need not include anything that users can regenerate +automatically from other parts of the Corresponding Source. + + The Corresponding Source for a work in source code form is that same work. + + 2. Basic Permissions. + +All rights granted under this License are granted for the term of copyright +on the Program, and are irrevocable provided the stated conditions are met. +This License explicitly affirms your unlimited permission to run the unmodified +Program. The output from running a covered work is covered by this License +only if the output, given its content, constitutes a covered work. This License +acknowledges your rights of fair use or other equivalent, as provided by copyright +law. + +You may make, run and propagate covered works that you do not convey, without +conditions so long as your license otherwise remains in force. You may convey +covered works to others for the sole purpose of having them make modifications +exclusively for you, or provide you with facilities for running those works, +provided that you comply with the terms of this License in conveying all material +for which you do not control copyright. Those thus making or running the covered +works for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of your copyrighted +material outside their relationship with you. + +Conveying under any other circumstances is permitted solely under the conditions +stated below. Sublicensing is not allowed; section 10 makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + +No covered work shall be deemed part of an effective technological measure +under any applicable law fulfilling obligations under article 11 of the WIPO +copyright treaty adopted on 20 December 1996, or similar laws prohibiting +or restricting circumvention of such measures. + +When you convey a covered work, you waive any legal power to forbid circumvention +of technological measures to the extent such circumvention is effected by +exercising rights under this License with respect to the covered work, and +you disclaim any intention to limit operation or modification of the work +as a means of enforcing, against the work's users, your or third parties' +legal rights to forbid circumvention of technological measures. + + 4. Conveying Verbatim Copies. + +You may convey verbatim copies of the Program's source code as you receive +it, in any medium, provided that you conspicuously and appropriately publish +on each copy an appropriate copyright notice; keep intact all notices stating +that this License and any non-permissive terms added in accord with section +7 apply to the code; keep intact all notices of the absence of any warranty; +and give all recipients a copy of this License along with the Program. + +You may charge any price or no price for each copy that you convey, and you +may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + +You may convey a work based on the Program, or the modifications to produce +it from the Program, in the form of source code under the terms of section +4, provided that you also meet all of these conditions: + +a) The work must carry prominent notices stating that you modified it, and +giving a relevant date. + +b) The work must carry prominent notices stating that it is released under +this License and any conditions added under section 7. This requirement modifies +the requirement in section 4 to "keep intact all notices". + +c) You must license the entire work, as a whole, under this License to anyone +who comes into possession of a copy. This License will therefore apply, along +with any applicable section 7 additional terms, to the whole of the work, +and all its parts, regardless of how they are packaged. This License gives +no permission to license the work in any other way, but it does not invalidate +such permission if you have separately received it. + +d) If the work has interactive user interfaces, each must display Appropriate +Legal Notices; however, if the Program has interactive interfaces that do +not display Appropriate Legal Notices, your work need not make them do so. + +A compilation of a covered work with other separate and independent works, +which are not by their nature extensions of the covered work, and which are +not combined with it such as to form a larger program, in or on a volume of +a storage or distribution medium, is called an "aggregate" if the compilation +and its resulting copyright are not used to limit the access or legal rights +of the compilation's users beyond what the individual works permit. Inclusion +of a covered work in an aggregate does not cause this License to apply to +the other parts of the aggregate. + + 6. Conveying Non-Source Forms. + +You may convey a covered work in object code form under the terms of sections +4 and 5, provided that you also convey the machine-readable Corresponding +Source under the terms of this License, in one of these ways: + +a) Convey the object code in, or embodied in, a physical product (including +a physical distribution medium), accompanied by the Corresponding Source fixed +on a durable physical medium customarily used for software interchange. + +b) Convey the object code in, or embodied in, a physical product (including +a physical distribution medium), accompanied by a written offer, valid for +at least three years and valid for as long as you offer spare parts or customer +support for that product model, to give anyone who possesses the object code +either (1) a copy of the Corresponding Source for all the software in the +product that is covered by this License, on a durable physical medium customarily +used for software interchange, for a price no more than your reasonable cost +of physically performing this conveying of source, or (2) access to copy the +Corresponding Source from a network server at no charge. + +c) Convey individual copies of the object code with a copy of the written +offer to provide the Corresponding Source. This alternative is allowed only +occasionally and noncommercially, and only if you received the object code +with such an offer, in accord with subsection 6b. + +d) Convey the object code by offering access from a designated place (gratis +or for a charge), and offer equivalent access to the Corresponding Source +in the same way through the same place at no further charge. You need not +require recipients to copy the Corresponding Source along with the object +code. If the place to copy the object code is a network server, the Corresponding +Source may be on a different server (operated by you or a third party) that +supports equivalent copying facilities, provided you maintain clear directions +next to the object code saying where to find the Corresponding Source. Regardless +of what server hosts the Corresponding Source, you remain obligated to ensure +that it is available for as long as needed to satisfy these requirements. + +e) Convey the object code using peer-to-peer transmission, provided you inform +other peers where the object code and Corresponding Source of the work are +being offered to the general public at no charge under subsection 6d. + +A separable portion of the object code, whose source code is excluded from +the Corresponding Source as a System Library, need not be included in conveying +the object code work. + +A "User Product" is either (1) a "consumer product", which means any tangible +personal property which is normally used for personal, family, or household +purposes, or (2) anything designed or sold for incorporation into a dwelling. +In determining whether a product is a consumer product, doubtful cases shall +be resolved in favor of coverage. For a particular product received by a particular +user, "normally used" refers to a typical or common use of that class of product, +regardless of the status of the particular user or of the way in which the +particular user actually uses, or expects or is expected to use, the product. +A product is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent the +only significant mode of use of the product. + +"Installation Information" for a User Product means any methods, procedures, +authorization keys, or other information required to install and execute modified +versions of a covered work in that User Product from a modified version of +its Corresponding Source. The information must suffice to ensure that the +continued functioning of the modified object code is in no case prevented +or interfered with solely because modification has been made. + +If you convey an object code work under this section in, or with, or specifically +for use in, a User Product, and the conveying occurs as part of a transaction +in which the right of possession and use of the User Product is transferred +to the recipient in perpetuity or for a fixed term (regardless of how the +transaction is characterized), the Corresponding Source conveyed under this +section must be accompanied by the Installation Information. But this requirement +does not apply if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has been installed +in ROM). + +The requirement to provide Installation Information does not include a requirement +to continue to provide support service, warranty, or updates for a work that +has been modified or installed by the recipient, or for the User Product in +which it has been modified or installed. Access to a network may be denied +when the modification itself materially and adversely affects the operation +of the network or violates the rules and protocols for communication across +the network. + +Corresponding Source conveyed, and Installation Information provided, in accord +with this section must be in a format that is publicly documented (and with +an implementation available to the public in source code form), and must require +no special password or key for unpacking, reading or copying. + + 7. Additional Terms. + +"Additional permissions" are terms that supplement the terms of this License +by making exceptions from one or more of its conditions. Additional permissions +that are applicable to the entire Program shall be treated as though they +were included in this License, to the extent that they are valid under applicable +law. If additional permissions apply only to part of the Program, that part +may be used separately under those permissions, but the entire Program remains +governed by this License without regard to the additional permissions. + +When you convey a copy of a covered work, you may at your option remove any +additional permissions from that copy, or from any part of it. (Additional +permissions may be written to require their own removal in certain cases when +you modify the work.) You may place additional permissions on material, added +by you to a covered work, for which you have or can give appropriate copyright +permission. + +Notwithstanding any other provision of this License, for material you add +to a covered work, you may (if authorized by the copyright holders of that +material) supplement the terms of this License with terms: + +a) Disclaiming warranty or limiting liability differently from the terms of +sections 15 and 16 of this License; or + +b) Requiring preservation of specified reasonable legal notices or author +attributions in that material or in the Appropriate Legal Notices displayed +by works containing it; or + +c) Prohibiting misrepresentation of the origin of that material, or requiring +that modified versions of such material be marked in reasonable ways as different +from the original version; or + +d) Limiting the use for publicity purposes of names of licensors or authors +of the material; or + +e) Declining to grant rights under trademark law for use of some trade names, +trademarks, or service marks; or + +f) Requiring indemnification of licensors and authors of that material by +anyone who conveys the material (or modified versions of it) with contractual +assumptions of liability to the recipient, for any liability that these contractual +assumptions directly impose on those licensors and authors. + +All other non-permissive additional terms are considered "further restrictions" +within the meaning of section 10. If the Program as you received it, or any +part of it, contains a notice stating that it is governed by this License +along with a term that is a further restriction, you may remove that term. +If a license document contains a further restriction but permits relicensing +or conveying under this License, you may add to a covered work material governed +by the terms of that license document, provided that the further restriction +does not survive such relicensing or conveying. + +If you add terms to a covered work in accord with this section, you must place, +in the relevant source files, a statement of the additional terms that apply +to those files, or a notice indicating where to find the applicable terms. + +Additional terms, permissive or non-permissive, may be stated in the form +of a separately written license, or stated as exceptions; the above requirements +apply either way. + + 8. Termination. + +You may not propagate or modify a covered work except as expressly provided +under this License. Any attempt otherwise to propagate or modify it is void, +and will automatically terminate your rights under this License (including +any patent licenses granted under the third paragraph of section 11). + +However, if you cease all violation of this License, then your license from +a particular copyright holder is reinstated (a) provisionally, unless and +until the copyright holder explicitly and finally terminates your license, +and (b) permanently, if the copyright holder fails to notify you of the violation +by some reasonable means prior to 60 days after the cessation. + +Moreover, your license from a particular copyright holder is reinstated permanently +if the copyright holder notifies you of the violation by some reasonable means, +this is the first time you have received notice of violation of this License +(for any work) from that copyright holder, and you cure the violation prior +to 30 days after your receipt of the notice. + +Termination of your rights under this section does not terminate the licenses +of parties who have received copies or rights from you under this License. +If your rights have been terminated and not permanently reinstated, you do +not qualify to receive new licenses for the same material under section 10. + + 9. Acceptance Not Required for Having Copies. + +You are not required to accept this License in order to receive or run a copy +of the Program. Ancillary propagation of a covered work occurring solely as +a consequence of using peer-to-peer transmission to receive a copy likewise +does not require acceptance. However, nothing other than this License grants +you permission to propagate or modify any covered work. These actions infringe +copyright if you do not accept this License. Therefore, by modifying or propagating +a covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + +Each time you convey a covered work, the recipient automatically receives +a license from the original licensors, to run, modify and propagate that work, +subject to this License. You are not responsible for enforcing compliance +by third parties with this License. + +An "entity transaction" is a transaction transferring control of an organization, +or substantially all assets of one, or subdividing an organization, or merging +organizations. If propagation of a covered work results from an entity transaction, +each party to that transaction who receives a copy of the work also receives +whatever licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the Corresponding +Source of the work from the predecessor in interest, if the predecessor has +it or can get it with reasonable efforts. + +You may not impose any further restrictions on the exercise of the rights +granted or affirmed under this License. For example, you may not impose a +license fee, royalty, or other charge for exercise of rights granted under +this License, and you may not initiate litigation (including a cross-claim +or counterclaim in a lawsuit) alleging that any patent claim is infringed +by making, using, selling, offering for sale, or importing the Program or +any portion of it. + + 11. Patents. + +A "contributor" is a copyright holder who authorizes use under this License +of the Program or a work on which the Program is based. The work thus licensed +is called the contributor's "contributor version". + +A contributor's "essential patent claims" are all patent claims owned or controlled +by the contributor, whether already acquired or hereafter acquired, that would +be infringed by some manner, permitted by this License, of making, using, +or selling its contributor version, but do not include claims that would be +infringed only as a consequence of further modification of the contributor +version. For purposes of this definition, "control" includes the right to +grant patent sublicenses in a manner consistent with the requirements of this +License. + +Each contributor grants you a non-exclusive, worldwide, royalty-free patent +license under the contributor's essential patent claims, to make, use, sell, +offer for sale, import and otherwise run, modify and propagate the contents +of its contributor version. + +In the following three paragraphs, a "patent license" is any express agreement +or commitment, however denominated, not to enforce a patent (such as an express +permission to practice a patent or covenant not to sue for patent infringement). +To "grant" such a patent license to a party means to make such an agreement +or commitment not to enforce a patent against the party. + +If you convey a covered work, knowingly relying on a patent license, and the +Corresponding Source of the work is not available for anyone to copy, free +of charge and under the terms of this License, through a publicly available +network server or other readily accessible means, then you must either (1) +cause the Corresponding Source to be so available, or (2) arrange to deprive +yourself of the benefit of the patent license for this particular work, or +(3) arrange, in a manner consistent with the requirements of this License, +to extend the patent license to downstream recipients. "Knowingly relying" +means you have actual knowledge that, but for the patent license, your conveying +the covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that country +that you have reason to believe are valid. + +If, pursuant to or in connection with a single transaction or arrangement, +you convey, or propagate by procuring conveyance of, a covered work, and grant +a patent license to some of the parties receiving the covered work authorizing +them to use, propagate, modify or convey a specific copy of the covered work, +then the patent license you grant is automatically extended to all recipients +of the covered work and works based on it. + +A patent license is "discriminatory" if it does not include within the scope +of its coverage, prohibits the exercise of, or is conditioned on the non-exercise +of one or more of the rights that are specifically granted under this License. +You may not convey a covered work if you are a party to an arrangement with +a third party that is in the business of distributing software, under which +you make payment to the third party based on the extent of your activity of +conveying the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory patent +license (a) in connection with copies of the covered work conveyed by you +(or copies made from those copies), or (b) primarily for and in connection +with specific products or compilations that contain the covered work, unless +you entered into that arrangement, or that patent license was granted, prior +to 28 March 2007. + +Nothing in this License shall be construed as excluding or limiting any implied +license or other defenses to infringement that may otherwise be available +to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + +If conditions are imposed on you (whether by court order, agreement or otherwise) +that contradict the conditions of this License, they do not excuse you from +the conditions of this License. If you cannot convey a covered work so as +to satisfy simultaneously your obligations under this License and any other +pertinent obligations, then as a consequence you may not convey it at all. +For example, if you agree to terms that obligate you to collect a royalty +for further conveying from those to whom you convey the Program, the only +way you could satisfy both those terms and this License would be to refrain +entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + +Notwithstanding any other provision of this License, you have permission to +link or combine any covered work with a work licensed under version 3 of the +GNU Affero General Public License into a single combined work, and to convey +the resulting work. The terms of this License will continue to apply to the +part which is the covered work, but the special requirements of the GNU Affero +General Public License, section 13, concerning interaction through a network +will apply to the combination as such. + + 14. Revised Versions of this License. + +The Free Software Foundation may publish revised and/or new versions of the +GNU General Public License from time to time. Such new versions will be similar +in spirit to the present version, but may differ in detail to address new +problems or concerns. + +Each version is given a distinguishing version number. If the Program specifies +that a certain numbered version of the GNU General Public License "or any +later version" applies to it, you have the option of following the terms and +conditions either of that numbered version or of any later version published +by the Free Software Foundation. If the Program does not specify a version +number of the GNU General Public License, you may choose any version ever +published by the Free Software Foundation. + +If the Program specifies that a proxy can decide which future versions of +the GNU General Public License can be used, that proxy's public statement +of acceptance of a version permanently authorizes you to choose that version +for the Program. + +Later license versions may give you additional or different permissions. However, +no additional obligations are imposed on any author or copyright holder as +a result of your choosing to follow a later version. + + 15. Disclaimer of Warranty. + +THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE +LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER +EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM +PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR +CORRECTION. + + 16. Limitation of Liability. + +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL +ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM +AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, +INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO +USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED +INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE +PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER +PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + +If the disclaimer of warranty and limitation of liability provided above cannot +be given local legal effect according to their terms, reviewing courts shall +apply local law that most closely approximates an absolute waiver of all civil +liability in connection with the Program, unless a warranty or assumption +of liability accompanies a copy of the Program in return for a fee. END OF +TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible +use to the public, the best way to achieve this is to make it free software +which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach +them to the start of each source file to most effectively state the exclusion +of warranty; and each file should have at least the "copyright" line and a +pointer to where the full notice is found. + + + +Copyright (C) + +This program is free software: you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later +version. + +This program is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along with +this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + +If the program does terminal interaction, make it output a short notice like +this when it starts in an interactive mode: + + Copyright (C) + +This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + +This is free software, and you are welcome to redistribute it under certain +conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands might +be different; for a GUI interface, you would use an "about box". + +You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. For +more information on this, and how to apply and follow the GNU GPL, see . + +The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General Public +License instead of this License. But first, please read . diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..c7995f6 --- /dev/null +++ b/Makefile @@ -0,0 +1,39059 @@ +############################################################################# +# Makefile for building: SVG +# Generated by qmake (3.1) (Qt 5.12.12) +# Project: SVG.pro +# Template: app +# Command: /usr/local/qt5/bin/qmake -o Makefile SVG.pro -spec linux-g++ +############################################################################# + +MAKEFILE = Makefile + +EQ = = + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +DEFINES = -DQT_DEPRECATED_WARNINGS -D_GSTREAMER_1_0 -D_SYOLOV5_NO -D_PC -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB +CFLAGS = -pipe -g -pthread -pthread -Wall -W -D_REENTRANT -fPIC $(DEFINES) +CXXFLAGS = -pipe -fPIC -fexceptions -frtti -g -std=gnu++11 -pthread -pthread -Wall -W -D_REENTRANT -fPIC $(DEFINES) +INCPATH = -I. -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I. -I. -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ +QMAKE = /usr/local/qt5/bin/qmake +DEL_FILE = rm -f +CHK_DIR_EXISTS= test -d +MKDIR = mkdir -p +COPY = cp -f +COPY_FILE = cp -f +COPY_DIR = cp -f -R +INSTALL_FILE = install -m 644 -p +INSTALL_PROGRAM = install -m 755 -p +INSTALL_DIR = cp -f -R +QINSTALL = /usr/local/qt5/bin/qmake -install qinstall +QINSTALL_PROGRAM = /usr/local/qt5/bin/qmake -install qinstall -exe +DEL_FILE = rm -f +SYMLINK = ln -f -s +DEL_DIR = rmdir +MOVE = mv -f +TAR = tar -cf +COMPRESS = gzip -9f +DISTNAME = SVG1.0.0 +DISTDIR = /work/project/qt/SVG_Upload5/.tmp/SVG1.0.0 +LINK = g++ +LFLAGS = -Wl,-rpath,/usr/local/qt5-5.12.12/lib +LIBS = $(SUBLIBS) -L/usr/local/lib -lsqlite3 -L/usr/local/dcmtk/lib -loflog -ldcmnet -ldcmtls -ldcmdata -ldcmimage -ldcmjpeg -ldcmjpls -lofstd -L/usr/local/curl/lib -lcurl -L/usr/local/gstreamer-1.16.3/lib -lgstapp-1.0 -lgstbase-1.0 -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0 /usr/local/qt5-5.12.12/lib/libQt5Widgets.so /usr/local/qt5-5.12.12/lib/libQt5Gui.so /usr/local/qt5-5.12.12/lib/libQt5Network.so /usr/local/qt5-5.12.12/lib/libQt5Core.so /usr/lib/x86_64-linux-gnu/libGLESv2.so -lpthread +AR = ar cqs +RANLIB = +SED = sed +STRIP = strip + +####### Output directory + +OBJECTS_DIR = ./ + +####### Files + +SOURCES = SCallback.cpp \ + SDCMImage.cpp \ + SDCMSendImpl.cpp \ + acquisition_info.cpp \ + charconvert.cpp \ + commondata.cpp \ + cscallbacksendprogress.cpp \ + csdcm.cpp \ + dialogadvancedsetting.cpp \ + dialogcalendar.cpp \ + dialogprogress.cpp \ + dialogsettingtable.cpp \ + formcalendarview.cpp \ + formcapture.cpp \ + formcaptureimageselect.cpp \ + formcheckcaptureselect.cpp \ + formheadertype1.cpp \ + formhistory.cpp \ + formimageselect.cpp \ + formitemselection.cpp \ + formlistwidget.cpp \ + formlistwidgethistory.cpp \ + formlistwidgetworklist.cpp \ + formmainmenu.cpp \ + formsetting.cpp \ + formviewer.cpp \ + formworklist.cpp \ + headertype1.cpp \ + main.cpp \ + mainwindow.cpp \ + qglslshader.cpp \ + qgstreamerplayer.cpp \ + qgstreamerplayer2.cpp \ + qopenglbufferbase.cpp \ + qopenglbuffermenu.cpp \ + qopenglbufferthumbnail.cpp \ + qopengltexturebutton.cpp \ + qrtspthread.cpp \ + qsthread.cpp \ + qvideoshader.cpp \ + qvideowidget.cpp \ + qvideowidget_720_yuy2.cpp \ + qvideowidget_rgb.cpp \ + qvideowidget_uyvy.cpp \ + qvideowidget_yuy2.cpp \ + scalendarmenuview.cpp \ + sdatabase.cpp \ + sdayview.cpp \ + sdcmfindscu.cpp \ + sdcmfindscudatacallback.cpp \ + sdcmworklist.cpp \ + slistwidget.cpp \ + slistwidgetsetting.cpp \ + sslidebar.cpp \ + sslidebarhorizontal.cpp \ + stableheader.cpp \ + stextedit.cpp \ + sthreadimagesave.cpp \ + sv4l2device.cpp \ + dialogemergengy.cpp \ + dialogexportusb.cpp \ + dialogpowerbutton.cpp \ + sthreadwatchport.cpp \ + dialogmisscapture.cpp \ + dialoglogin.cpp \ + dialogchecksumerror.cpp \ + dialogsettingnetworkshare.cpp \ + dialogexportsamba.cpp \ + singlebutton.cpp \ + sambaclient.cpp \ + dialogloginuseradd.cpp \ + sthreadsenddicom.cpp \ + scurl.cpp \ + formscreensaver.cpp \ + seventfilter.cpp \ + sexception.cpp \ + sapplication.cpp qrc_assets.cpp \ + moc_dialogadvancedsetting.cpp \ + moc_dialogcalendar.cpp \ + moc_dialogprogress.cpp \ + moc_dialogsettingtable.cpp \ + moc_formcalendarview.cpp \ + moc_formcapture.cpp \ + moc_formcaptureimageselect.cpp \ + moc_formcheckcaptureselect.cpp \ + moc_formheadertype1.cpp \ + moc_formhistory.cpp \ + moc_formimageselect.cpp \ + moc_formitemselection.cpp \ + moc_formlistwidget.cpp \ + moc_formlistwidgethistory.cpp \ + moc_formlistwidgetworklist.cpp \ + moc_formmainmenu.cpp \ + moc_formsetting.cpp \ + moc_formviewer.cpp \ + moc_formworklist.cpp \ + moc_headertype1.cpp \ + moc_mainwindow.cpp \ + moc_qgstreamerplayer.cpp \ + moc_qgstreamerplayer2.cpp \ + moc_qopenglbufferbase.cpp \ + moc_qopenglbuffermenu.cpp \ + moc_qopenglbufferthumbnail.cpp \ + moc_qopengltexturebutton.cpp \ + moc_qrtspthread.cpp \ + moc_qsthread.cpp \ + moc_qvideowidget.cpp \ + moc_scalendarmenuview.cpp \ + moc_sdatabase.cpp \ + moc_sdayview.cpp \ + moc_slistwidget.cpp \ + moc_slistwidgetsetting.cpp \ + moc_sslidebar.cpp \ + moc_sslidebarhorizontal.cpp \ + moc_stextedit.cpp \ + moc_sthreadimagesave.cpp \ + moc_dialogemergengy.cpp \ + moc_dialogexportusb.cpp \ + moc_dialogpowerbutton.cpp \ + moc_sthreadwatchport.cpp \ + moc_dialogmisscapture.cpp \ + moc_dialoglogin.cpp \ + moc_dialogchecksumerror.cpp \ + moc_dialogexportsamba.cpp \ + moc_dialogsettingnetworkshare.cpp \ + moc_singlebutton.cpp \ + moc_sambaclient.cpp \ + moc_dialogloginuseradd.cpp \ + moc_sthreadsenddicom.cpp \ + moc_scurl.cpp \ + moc_formscreensaver.cpp \ + moc_seventfilter.cpp +OBJECTS = SCallback.o \ + SDCMImage.o \ + SDCMSendImpl.o \ + acquisition_info.o \ + charconvert.o \ + commondata.o \ + cscallbacksendprogress.o \ + csdcm.o \ + dialogadvancedsetting.o \ + dialogcalendar.o \ + dialogprogress.o \ + dialogsettingtable.o \ + formcalendarview.o \ + formcapture.o \ + formcaptureimageselect.o \ + formcheckcaptureselect.o \ + formheadertype1.o \ + formhistory.o \ + formimageselect.o \ + formitemselection.o \ + formlistwidget.o \ + formlistwidgethistory.o \ + formlistwidgetworklist.o \ + formmainmenu.o \ + formsetting.o \ + formviewer.o \ + formworklist.o \ + headertype1.o \ + main.o \ + mainwindow.o \ + qglslshader.o \ + qgstreamerplayer.o \ + qgstreamerplayer2.o \ + qopenglbufferbase.o \ + qopenglbuffermenu.o \ + qopenglbufferthumbnail.o \ + qopengltexturebutton.o \ + qrtspthread.o \ + qsthread.o \ + qvideoshader.o \ + qvideowidget.o \ + qvideowidget_720_yuy2.o \ + qvideowidget_rgb.o \ + qvideowidget_uyvy.o \ + qvideowidget_yuy2.o \ + scalendarmenuview.o \ + sdatabase.o \ + sdayview.o \ + sdcmfindscu.o \ + sdcmfindscudatacallback.o \ + sdcmworklist.o \ + slistwidget.o \ + slistwidgetsetting.o \ + sslidebar.o \ + sslidebarhorizontal.o \ + stableheader.o \ + stextedit.o \ + sthreadimagesave.o \ + sv4l2device.o \ + dialogemergengy.o \ + dialogexportusb.o \ + dialogpowerbutton.o \ + sthreadwatchport.o \ + dialogmisscapture.o \ + dialoglogin.o \ + dialogchecksumerror.o \ + dialogsettingnetworkshare.o \ + dialogexportsamba.o \ + singlebutton.o \ + sambaclient.o \ + dialogloginuseradd.o \ + sthreadsenddicom.o \ + scurl.o \ + formscreensaver.o \ + seventfilter.o \ + sexception.o \ + sapplication.o \ + qrc_assets.o \ + moc_dialogadvancedsetting.o \ + moc_dialogcalendar.o \ + moc_dialogprogress.o \ + moc_dialogsettingtable.o \ + moc_formcalendarview.o \ + moc_formcapture.o \ + moc_formcaptureimageselect.o \ + moc_formcheckcaptureselect.o \ + moc_formheadertype1.o \ + moc_formhistory.o \ + moc_formimageselect.o \ + moc_formitemselection.o \ + moc_formlistwidget.o \ + moc_formlistwidgethistory.o \ + moc_formlistwidgetworklist.o \ + moc_formmainmenu.o \ + moc_formsetting.o \ + moc_formviewer.o \ + moc_formworklist.o \ + moc_headertype1.o \ + moc_mainwindow.o \ + moc_qgstreamerplayer.o \ + moc_qgstreamerplayer2.o \ + moc_qopenglbufferbase.o \ + moc_qopenglbuffermenu.o \ + moc_qopenglbufferthumbnail.o \ + moc_qopengltexturebutton.o \ + moc_qrtspthread.o \ + moc_qsthread.o \ + moc_qvideowidget.o \ + moc_scalendarmenuview.o \ + moc_sdatabase.o \ + moc_sdayview.o \ + moc_slistwidget.o \ + moc_slistwidgetsetting.o \ + moc_sslidebar.o \ + moc_sslidebarhorizontal.o \ + moc_stextedit.o \ + moc_sthreadimagesave.o \ + moc_dialogemergengy.o \ + moc_dialogexportusb.o \ + moc_dialogpowerbutton.o \ + moc_sthreadwatchport.o \ + moc_dialogmisscapture.o \ + moc_dialoglogin.o \ + moc_dialogchecksumerror.o \ + moc_dialogexportsamba.o \ + moc_dialogsettingnetworkshare.o \ + moc_singlebutton.o \ + moc_sambaclient.o \ + moc_dialogloginuseradd.o \ + moc_sthreadsenddicom.o \ + moc_scurl.o \ + moc_formscreensaver.o \ + moc_seventfilter.o +DIST = /usr/local/qt5-5.12.12/mkspecs/features/spec_pre.prf \ + /usr/local/qt5-5.12.12/mkspecs/common/unix.conf \ + /usr/local/qt5-5.12.12/mkspecs/common/linux.conf \ + /usr/local/qt5-5.12.12/mkspecs/common/sanitize.conf \ + /usr/local/qt5-5.12.12/mkspecs/common/gcc-base.conf \ + /usr/local/qt5-5.12.12/mkspecs/common/gcc-base-unix.conf \ + /usr/local/qt5-5.12.12/mkspecs/common/g++-base.conf \ + /usr/local/qt5-5.12.12/mkspecs/common/g++-unix.conf \ + /usr/local/qt5-5.12.12/mkspecs/qconfig.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3danimation.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3danimation_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dcore.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dcore_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dextras.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dextras_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dinput.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dinput_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dlogic.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dlogic_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquick.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquick_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickanimation.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickanimation_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickextras.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickextras_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickinput.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickinput_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickrender.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickrender_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickscene2d.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickscene2d_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3drender.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3drender_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_accessibility_support_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_bluetooth.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_bluetooth_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_bootstrap_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_charts.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_charts_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_concurrent.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_concurrent_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_core.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_core_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_datavisualization.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_datavisualization_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_dbus.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_dbus_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_designer.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_designer_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_designercomponents_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_edid_support_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_egl_support_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_fb_support_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_fontdatabase_support_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_gamepad.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_gamepad_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_gui.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_gui_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_help.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_help_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_input_support_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_location.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_location_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_multimedia.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_multimedia_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_multimediawidgets.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_multimediawidgets_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_network.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_network_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_networkauth.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_networkauth_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_nfc.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_nfc_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_opengl.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_opengl_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_openglextensions.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_openglextensions_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_packetprotocol_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_positioning.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_positioning_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_positioningquick.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_positioningquick_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_printsupport.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_printsupport_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_purchasing.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_purchasing_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_qml.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_qml_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_qmldebug_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_qmldevtools_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_qmltest.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_qmltest_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quick.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quick_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quickcontrols2.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quickcontrols2_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quickparticles_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quickshapes_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quicktemplates2.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quicktemplates2_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quickwidgets.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quickwidgets_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_remoteobjects.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_remoteobjects_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_repparser.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_repparser_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_script.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_script_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_scripttools.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_scripttools_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_scxml.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_scxml_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_sensors.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_sensors_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_serialbus.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_serialbus_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_serialport.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_serialport_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_service_support_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_sql.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_sql_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_svg.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_svg_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_testlib.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_testlib_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_texttospeech.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_texttospeech_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_theme_support_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_uiplugin.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_uitools.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_uitools_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_virtualkeyboard.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_virtualkeyboard_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_vulkan_support_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_waylandclient.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_waylandclient_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_waylandcompositor.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_waylandcompositor_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_widgets.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_widgets_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_x11extras.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_x11extras_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_xml.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_xml_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_xmlpatterns.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_xmlpatterns_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/features/qt_functions.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/qt_config.prf \ + /usr/local/qt5-5.12.12/mkspecs/linux-g++/qmake.conf \ + /usr/local/qt5-5.12.12/mkspecs/features/spec_post.prf \ + .qmake.stash \ + /usr/local/qt5-5.12.12/mkspecs/features/exclusive_builds.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/toolchain.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/default_pre.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/resolve_config.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/default_post.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/link_pkgconfig.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/exceptions.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/warn_on.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/qt.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/resources.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/moc.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/unix/opengl.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/uic.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/unix/thread.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/qmake_use.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/file_copies.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/testcase_targets.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/yacc.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/lex.prf \ + SVG.pro SCallback.h \ + SDCMCommonStructure.h \ + SDCMImage.h \ + SDCMSendImpl.h \ + acquisition_info.h \ + charconvert.h \ + common.h \ + common.hpp \ + commondata.h \ + cscallbacksendprogress.h \ + csdcm.h \ + cuda_utils.h \ + dialogadvancedsetting.h \ + dialogcalendar.h \ + dialogprogress.h \ + dialogsettingtable.h \ + formcalendarview.h \ + formcapture.h \ + formcaptureimageselect.h \ + formcheckcaptureselect.h \ + formheadertype1.h \ + formhistory.h \ + formimageselect.h \ + formitemselection.h \ + formlistwidget.h \ + formlistwidgethistory.h \ + formlistwidgetworklist.h \ + formmainmenu.h \ + formsetting.h \ + formviewer.h \ + formworklist.h \ + headertype1.h \ + logging.h \ + macros.h \ + mainwindow.h \ + preprocess.h \ + qglslshader.h \ + qgstreamerplayer.h \ + qgstreamerplayer2.h \ + qopenglbufferbase.h \ + qopenglbuffermenu.h \ + qopenglbufferthumbnail.h \ + qopengltexturebutton.h \ + qrtspthread.h \ + qsthread.h \ + qvideoshader.h \ + qvideowidget.h \ + qvideowidget_720_yuy2.h \ + qvideowidget_rgb.h \ + qvideowidget_uyvy.h \ + qvideowidget_yuy2.h \ + scalendarmenuview.h \ + sdatabase.h \ + sdayview.h \ + sdcmfindscu.h \ + sdcmfindscudatacallback.h \ + sdcmworklist.h \ + slistwidget.h \ + slistwidgetsetting.h \ + sslidebar.h \ + sslidebarhorizontal.h \ + stableheader.h \ + stextedit.h \ + sthreadimagesave.h \ + sv4l2device.h \ + utils.h \ + dialogemergengy.h \ + dialogexportusb.h \ + dialogpowerbutton.h \ + sthreadwatchport.h \ + dialogmisscapture.h \ + dialoglogin.h \ + dialogchecksumerror.h \ + dialogexportsamba.h \ + dialogsettingnetworkshare.h \ + dialogexportsamba.h \ + singlebutton.h \ + sambaclient.h \ + dialogloginuseradd.h \ + sthreadsenddicom.h \ + common.h \ + scurl.h \ + formscreensaver.h \ + seventfilter.h \ + sexception.h \ + sapplication.h SCallback.cpp \ + SDCMImage.cpp \ + SDCMSendImpl.cpp \ + acquisition_info.cpp \ + charconvert.cpp \ + commondata.cpp \ + cscallbacksendprogress.cpp \ + csdcm.cpp \ + dialogadvancedsetting.cpp \ + dialogcalendar.cpp \ + dialogprogress.cpp \ + dialogsettingtable.cpp \ + formcalendarview.cpp \ + formcapture.cpp \ + formcaptureimageselect.cpp \ + formcheckcaptureselect.cpp \ + formheadertype1.cpp \ + formhistory.cpp \ + formimageselect.cpp \ + formitemselection.cpp \ + formlistwidget.cpp \ + formlistwidgethistory.cpp \ + formlistwidgetworklist.cpp \ + formmainmenu.cpp \ + formsetting.cpp \ + formviewer.cpp \ + formworklist.cpp \ + headertype1.cpp \ + main.cpp \ + mainwindow.cpp \ + qglslshader.cpp \ + qgstreamerplayer.cpp \ + qgstreamerplayer2.cpp \ + qopenglbufferbase.cpp \ + qopenglbuffermenu.cpp \ + qopenglbufferthumbnail.cpp \ + qopengltexturebutton.cpp \ + qrtspthread.cpp \ + qsthread.cpp \ + qvideoshader.cpp \ + qvideowidget.cpp \ + qvideowidget_720_yuy2.cpp \ + qvideowidget_rgb.cpp \ + qvideowidget_uyvy.cpp \ + qvideowidget_yuy2.cpp \ + scalendarmenuview.cpp \ + sdatabase.cpp \ + sdayview.cpp \ + sdcmfindscu.cpp \ + sdcmfindscudatacallback.cpp \ + sdcmworklist.cpp \ + slistwidget.cpp \ + slistwidgetsetting.cpp \ + sslidebar.cpp \ + sslidebarhorizontal.cpp \ + stableheader.cpp \ + stextedit.cpp \ + sthreadimagesave.cpp \ + sv4l2device.cpp \ + dialogemergengy.cpp \ + dialogexportusb.cpp \ + dialogpowerbutton.cpp \ + sthreadwatchport.cpp \ + dialogmisscapture.cpp \ + dialoglogin.cpp \ + dialogchecksumerror.cpp \ + dialogsettingnetworkshare.cpp \ + dialogexportsamba.cpp \ + singlebutton.cpp \ + sambaclient.cpp \ + dialogloginuseradd.cpp \ + sthreadsenddicom.cpp \ + scurl.cpp \ + formscreensaver.cpp \ + seventfilter.cpp \ + sexception.cpp \ + sapplication.cpp +QMAKE_TARGET = SVG +DESTDIR = +TARGET = SVG + + +first: all +####### Build rules + +SVG: ui_dialogadvancedsetting.h ui_dialogcalendar.h ui_dialogprogress.h ui_dialogsettingtable.h ui_formcalendarview.h ui_formcapture.h ui_formcaptureimageselect.h ui_formcheckcaptureselect.h ui_formheadertype1.h ui_formhistory.h ui_formimageselect.h ui_formitemselection.h ui_formlistwidget.h ui_formmainmenu.h ui_formsetting.h ui_formviewer.h ui_formworklist.h ui_mainwindow.h ui_dialogemergengy.h ui_dialogexportusb.h ui_dialogpowerbutton.h ui_dialogmisscapture.h ui_dialoglogin.h ui_dialogchecksumerror.h ui_dialogsettingnetworkshare.h ui_dialogexportsamba.h ui_dialogloginuseradd.h ui_formscreensaver.h $(OBJECTS) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) + +Makefile: SVG.pro /usr/local/qt5-5.12.12/mkspecs/linux-g++/qmake.conf /usr/local/qt5-5.12.12/mkspecs/features/spec_pre.prf \ + /usr/local/qt5-5.12.12/mkspecs/common/unix.conf \ + /usr/local/qt5-5.12.12/mkspecs/common/linux.conf \ + /usr/local/qt5-5.12.12/mkspecs/common/sanitize.conf \ + /usr/local/qt5-5.12.12/mkspecs/common/gcc-base.conf \ + /usr/local/qt5-5.12.12/mkspecs/common/gcc-base-unix.conf \ + /usr/local/qt5-5.12.12/mkspecs/common/g++-base.conf \ + /usr/local/qt5-5.12.12/mkspecs/common/g++-unix.conf \ + /usr/local/qt5-5.12.12/mkspecs/qconfig.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3danimation.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3danimation_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dcore.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dcore_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dextras.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dextras_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dinput.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dinput_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dlogic.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dlogic_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquick.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquick_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickanimation.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickanimation_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickextras.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickextras_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickinput.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickinput_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickrender.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickrender_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickscene2d.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickscene2d_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3drender.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3drender_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_accessibility_support_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_bluetooth.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_bluetooth_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_bootstrap_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_charts.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_charts_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_concurrent.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_concurrent_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_core.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_core_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_datavisualization.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_datavisualization_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_dbus.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_dbus_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_designer.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_designer_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_designercomponents_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_edid_support_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_egl_support_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_fb_support_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_fontdatabase_support_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_gamepad.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_gamepad_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_gui.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_gui_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_help.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_help_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_input_support_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_location.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_location_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_multimedia.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_multimedia_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_multimediawidgets.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_multimediawidgets_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_network.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_network_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_networkauth.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_networkauth_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_nfc.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_nfc_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_opengl.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_opengl_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_openglextensions.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_openglextensions_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_packetprotocol_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_positioning.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_positioning_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_positioningquick.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_positioningquick_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_printsupport.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_printsupport_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_purchasing.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_purchasing_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_qml.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_qml_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_qmldebug_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_qmldevtools_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_qmltest.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_qmltest_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quick.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quick_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quickcontrols2.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quickcontrols2_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quickparticles_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quickshapes_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quicktemplates2.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quicktemplates2_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quickwidgets.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quickwidgets_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_remoteobjects.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_remoteobjects_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_repparser.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_repparser_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_script.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_script_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_scripttools.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_scripttools_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_scxml.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_scxml_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_sensors.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_sensors_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_serialbus.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_serialbus_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_serialport.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_serialport_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_service_support_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_sql.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_sql_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_svg.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_svg_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_testlib.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_testlib_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_texttospeech.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_texttospeech_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_theme_support_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_uiplugin.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_uitools.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_uitools_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_virtualkeyboard.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_virtualkeyboard_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_vulkan_support_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_waylandclient.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_waylandclient_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_waylandcompositor.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_waylandcompositor_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_widgets.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_widgets_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_x11extras.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_x11extras_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_xml.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_xml_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_xmlpatterns.pri \ + /usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_xmlpatterns_private.pri \ + /usr/local/qt5-5.12.12/mkspecs/features/qt_functions.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/qt_config.prf \ + /usr/local/qt5-5.12.12/mkspecs/linux-g++/qmake.conf \ + /usr/local/qt5-5.12.12/mkspecs/features/spec_post.prf \ + .qmake.stash \ + /usr/local/qt5-5.12.12/mkspecs/features/exclusive_builds.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/toolchain.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/default_pre.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/resolve_config.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/default_post.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/link_pkgconfig.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/exceptions.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/warn_on.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/qt.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/resources.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/moc.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/unix/opengl.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/uic.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/unix/thread.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/qmake_use.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/file_copies.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/testcase_targets.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/yacc.prf \ + /usr/local/qt5-5.12.12/mkspecs/features/lex.prf \ + SVG.pro \ + assets.qrc + $(QMAKE) -o Makefile SVG.pro -spec linux-g++ +/usr/local/qt5-5.12.12/mkspecs/features/spec_pre.prf: +/usr/local/qt5-5.12.12/mkspecs/common/unix.conf: +/usr/local/qt5-5.12.12/mkspecs/common/linux.conf: +/usr/local/qt5-5.12.12/mkspecs/common/sanitize.conf: +/usr/local/qt5-5.12.12/mkspecs/common/gcc-base.conf: +/usr/local/qt5-5.12.12/mkspecs/common/gcc-base-unix.conf: +/usr/local/qt5-5.12.12/mkspecs/common/g++-base.conf: +/usr/local/qt5-5.12.12/mkspecs/common/g++-unix.conf: +/usr/local/qt5-5.12.12/mkspecs/qconfig.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3danimation.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3danimation_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dcore.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dcore_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dextras.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dextras_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dinput.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dinput_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dlogic.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dlogic_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquick.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquick_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickanimation.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickanimation_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickextras.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickextras_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickinput.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickinput_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickrender.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickrender_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickscene2d.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3dquickscene2d_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3drender.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_3drender_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_accessibility_support_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_bluetooth.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_bluetooth_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_bootstrap_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_charts.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_charts_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_concurrent.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_concurrent_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_core.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_core_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_datavisualization.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_datavisualization_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_dbus.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_dbus_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_designer.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_designer_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_designercomponents_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_devicediscovery_support_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_edid_support_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_egl_support_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_fb_support_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_fontdatabase_support_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_gamepad.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_gamepad_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_gui.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_gui_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_help.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_help_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_input_support_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_location.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_location_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_multimedia.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_multimedia_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_multimediawidgets.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_multimediawidgets_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_network.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_network_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_networkauth.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_networkauth_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_nfc.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_nfc_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_opengl.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_opengl_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_openglextensions.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_openglextensions_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_packetprotocol_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_platformcompositor_support_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_positioning.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_positioning_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_positioningquick.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_positioningquick_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_printsupport.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_printsupport_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_purchasing.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_purchasing_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_qml.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_qml_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_qmldebug_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_qmldevtools_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_qmltest.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_qmltest_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quick.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quick_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quickcontrols2.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quickcontrols2_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quickparticles_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quickshapes_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quicktemplates2.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quicktemplates2_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quickwidgets.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_quickwidgets_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_remoteobjects.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_remoteobjects_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_repparser.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_repparser_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_script.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_script_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_scripttools.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_scripttools_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_scxml.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_scxml_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_sensors.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_sensors_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_serialbus.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_serialbus_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_serialport.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_serialport_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_service_support_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_sql.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_sql_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_svg.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_svg_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_testlib.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_testlib_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_texttospeech.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_texttospeech_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_theme_support_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_uiplugin.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_uitools.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_uitools_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_virtualkeyboard.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_virtualkeyboard_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_vulkan_support_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_waylandclient.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_waylandclient_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_waylandcompositor.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_waylandcompositor_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_widgets.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_widgets_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_x11extras.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_x11extras_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_xml.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_xml_private.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_xmlpatterns.pri: +/usr/local/qt5-5.12.12/mkspecs/modules/qt_lib_xmlpatterns_private.pri: +/usr/local/qt5-5.12.12/mkspecs/features/qt_functions.prf: +/usr/local/qt5-5.12.12/mkspecs/features/qt_config.prf: +/usr/local/qt5-5.12.12/mkspecs/linux-g++/qmake.conf: +/usr/local/qt5-5.12.12/mkspecs/features/spec_post.prf: +.qmake.stash: +/usr/local/qt5-5.12.12/mkspecs/features/exclusive_builds.prf: +/usr/local/qt5-5.12.12/mkspecs/features/toolchain.prf: +/usr/local/qt5-5.12.12/mkspecs/features/default_pre.prf: +/usr/local/qt5-5.12.12/mkspecs/features/resolve_config.prf: +/usr/local/qt5-5.12.12/mkspecs/features/default_post.prf: +/usr/local/qt5-5.12.12/mkspecs/features/link_pkgconfig.prf: +/usr/local/qt5-5.12.12/mkspecs/features/exceptions.prf: +/usr/local/qt5-5.12.12/mkspecs/features/warn_on.prf: +/usr/local/qt5-5.12.12/mkspecs/features/qt.prf: +/usr/local/qt5-5.12.12/mkspecs/features/resources.prf: +/usr/local/qt5-5.12.12/mkspecs/features/moc.prf: +/usr/local/qt5-5.12.12/mkspecs/features/unix/opengl.prf: +/usr/local/qt5-5.12.12/mkspecs/features/uic.prf: +/usr/local/qt5-5.12.12/mkspecs/features/unix/thread.prf: +/usr/local/qt5-5.12.12/mkspecs/features/qmake_use.prf: +/usr/local/qt5-5.12.12/mkspecs/features/file_copies.prf: +/usr/local/qt5-5.12.12/mkspecs/features/testcase_targets.prf: +/usr/local/qt5-5.12.12/mkspecs/features/yacc.prf: +/usr/local/qt5-5.12.12/mkspecs/features/lex.prf: +SVG.pro: +assets.qrc: +qmake: FORCE + @$(QMAKE) -o Makefile SVG.pro -spec linux-g++ + +qmake_all: FORCE + + +all: Makefile SVG + +dist: distdir FORCE + (cd `dirname $(DISTDIR)` && $(TAR) $(DISTNAME).tar $(DISTNAME) && $(COMPRESS) $(DISTNAME).tar) && $(MOVE) `dirname $(DISTDIR)`/$(DISTNAME).tar.gz . && $(DEL_FILE) -r $(DISTDIR) + +distdir: FORCE + @test -d $(DISTDIR) || mkdir -p $(DISTDIR) + $(COPY_FILE) --parents $(DIST) $(DISTDIR)/ + $(COPY_FILE) --parents assets.qrc $(DISTDIR)/ + $(COPY_FILE) --parents /usr/local/qt5-5.12.12/mkspecs/features/data/dummy.cpp $(DISTDIR)/ + $(COPY_FILE) --parents SCallback.h SDCMCommonStructure.h SDCMImage.h SDCMSendImpl.h acquisition_info.h charconvert.h common.h common.hpp commondata.h cscallbacksendprogress.h csdcm.h cuda_utils.h dialogadvancedsetting.h dialogcalendar.h dialogprogress.h dialogsettingtable.h formcalendarview.h formcapture.h formcaptureimageselect.h formcheckcaptureselect.h formheadertype1.h formhistory.h formimageselect.h formitemselection.h formlistwidget.h formlistwidgethistory.h formlistwidgetworklist.h formmainmenu.h formsetting.h formviewer.h formworklist.h headertype1.h logging.h macros.h mainwindow.h preprocess.h qglslshader.h qgstreamerplayer.h qgstreamerplayer2.h qopenglbufferbase.h qopenglbuffermenu.h qopenglbufferthumbnail.h qopengltexturebutton.h qrtspthread.h qsthread.h qvideoshader.h qvideowidget.h qvideowidget_720_yuy2.h qvideowidget_rgb.h qvideowidget_uyvy.h qvideowidget_yuy2.h scalendarmenuview.h sdatabase.h sdayview.h sdcmfindscu.h sdcmfindscudatacallback.h sdcmworklist.h slistwidget.h slistwidgetsetting.h sslidebar.h sslidebarhorizontal.h stableheader.h stextedit.h sthreadimagesave.h sv4l2device.h utils.h dialogemergengy.h dialogexportusb.h dialogpowerbutton.h sthreadwatchport.h dialogmisscapture.h dialoglogin.h dialogchecksumerror.h dialogexportsamba.h dialogsettingnetworkshare.h dialogexportsamba.h singlebutton.h sambaclient.h dialogloginuseradd.h sthreadsenddicom.h common.h scurl.h formscreensaver.h seventfilter.h sexception.h sapplication.h $(DISTDIR)/ + $(COPY_FILE) --parents SCallback.cpp SDCMImage.cpp SDCMSendImpl.cpp acquisition_info.cpp charconvert.cpp commondata.cpp cscallbacksendprogress.cpp csdcm.cpp dialogadvancedsetting.cpp dialogcalendar.cpp dialogprogress.cpp dialogsettingtable.cpp formcalendarview.cpp formcapture.cpp formcaptureimageselect.cpp formcheckcaptureselect.cpp formheadertype1.cpp formhistory.cpp formimageselect.cpp formitemselection.cpp formlistwidget.cpp formlistwidgethistory.cpp formlistwidgetworklist.cpp formmainmenu.cpp formsetting.cpp formviewer.cpp formworklist.cpp headertype1.cpp main.cpp mainwindow.cpp qglslshader.cpp qgstreamerplayer.cpp qgstreamerplayer2.cpp qopenglbufferbase.cpp qopenglbuffermenu.cpp qopenglbufferthumbnail.cpp qopengltexturebutton.cpp qrtspthread.cpp qsthread.cpp qvideoshader.cpp qvideowidget.cpp qvideowidget_720_yuy2.cpp qvideowidget_rgb.cpp qvideowidget_uyvy.cpp qvideowidget_yuy2.cpp scalendarmenuview.cpp sdatabase.cpp sdayview.cpp sdcmfindscu.cpp sdcmfindscudatacallback.cpp sdcmworklist.cpp slistwidget.cpp slistwidgetsetting.cpp sslidebar.cpp sslidebarhorizontal.cpp stableheader.cpp stextedit.cpp sthreadimagesave.cpp sv4l2device.cpp dialogemergengy.cpp dialogexportusb.cpp dialogpowerbutton.cpp sthreadwatchport.cpp dialogmisscapture.cpp dialoglogin.cpp dialogchecksumerror.cpp dialogsettingnetworkshare.cpp dialogexportsamba.cpp singlebutton.cpp sambaclient.cpp dialogloginuseradd.cpp sthreadsenddicom.cpp scurl.cpp formscreensaver.cpp seventfilter.cpp sexception.cpp sapplication.cpp $(DISTDIR)/ + $(COPY_FILE) --parents dialogadvancedsetting.ui dialogcalendar.ui dialogprogress.ui dialogsettingtable.ui formcalendarview.ui formcapture.ui formcaptureimageselect.ui formcheckcaptureselect.ui formheadertype1.ui formhistory.ui formimageselect.ui formitemselection.ui formlistwidget.ui formmainmenu.ui formsetting.ui formviewer.ui formworklist.ui mainwindow.ui dialogemergengy.ui dialogexportusb.ui dialogpowerbutton.ui dialogmisscapture.ui dialoglogin.ui dialogchecksumerror.ui dialogsettingnetworkshare.ui dialogexportsamba.ui dialogloginuseradd.ui formscreensaver.ui $(DISTDIR)/ + $(COPY_FILE) --parents SVG_ko_KR.ts $(DISTDIR)/ + + +clean: compiler_clean + -$(DEL_FILE) $(OBJECTS) + -$(DEL_FILE) *~ core *.core + + +distclean: clean + -$(DEL_FILE) $(TARGET) + -$(DEL_FILE) .qmake.stash + -$(DEL_FILE) Makefile + + +####### Sub-libraries + +mocclean: compiler_moc_header_clean compiler_moc_objc_header_clean compiler_moc_source_clean + +mocables: compiler_moc_header_make_all compiler_moc_objc_header_make_all compiler_moc_source_make_all + +check: first + +benchmark: first + +compiler_rcc_make_all: qrc_assets.cpp +compiler_rcc_clean: + -$(DEL_FILE) qrc_assets.cpp +qrc_assets.cpp: assets.qrc \ + /usr/local/qt5-5.12.12/bin/rcc \ + image/Arrow_under_2.png \ + image/Arrow_under_3.png \ + image/Arrow_top_2.png \ + image/Arrow_top_3.png \ + image/scrollbar_vertical_bg.png \ + image/cancel_arrow.png \ + image/scrollbar_down.png \ + image/select_indicator.png \ + image/Scroll_bar_1.png \ + image/scrollbar_right.png \ + image/scrollbar_left.png \ + image/month_next.png \ + image/scrollbar_horizontal_bg.png \ + image/scrollbar_up.png \ + image/month_prev.png \ + image/ScrollBar_Horizontal_Icon.png \ + image/ScrollBar_Vertical_Icon.png \ + image/2/capture_next_button_icon.png \ + image/2/capture_delete_button_icon.png \ + image/2/preview-icon.png \ + image/2/capture_check\ box.png \ + image/2/next-icon_clicked.png \ + image/2/capture_close\ all_clicked_button_icon.png \ + image/2/capture_send_icon_check\ box_button.png \ + image/2/capture_delete_clicked_button_icon.png \ + image/2/capture_delete\ all_button_icon.png \ + image/2/capture_send_icon_clicked_button.png \ + image/2/capture_send\ all_button_clicked.png \ + image/2/capture_close\ all_button_icon.png \ + image/2/capture_send\ all_clicked_button.png \ + image/2/capture_prev_button_icon.png \ + image/2/capture_close_clicked_button_icon.png \ + image/2/capture_delete\ all_clicked_button_icon.png \ + image/2/next-icon.png \ + image/2/capture_send_icon_button.png \ + image/2/preview-icon_clicked.png \ + image/2/capture_close_button_icon.png + /usr/local/qt5-5.12.12/bin/rcc -name assets assets.qrc -o qrc_assets.cpp + +compiler_moc_predefs_make_all: moc_predefs.h +compiler_moc_predefs_clean: + -$(DEL_FILE) moc_predefs.h +moc_predefs.h: /usr/local/qt5-5.12.12/mkspecs/features/data/dummy.cpp + g++ -pipe -fPIC -fexceptions -frtti -g -std=gnu++11 -pthread -pthread -Wall -W -dM -E -o moc_predefs.h /usr/local/qt5-5.12.12/mkspecs/features/data/dummy.cpp + +compiler_moc_header_make_all: moc_dialogadvancedsetting.cpp moc_dialogcalendar.cpp moc_dialogprogress.cpp moc_dialogsettingtable.cpp moc_formcalendarview.cpp moc_formcapture.cpp moc_formcaptureimageselect.cpp moc_formcheckcaptureselect.cpp moc_formheadertype1.cpp moc_formhistory.cpp moc_formimageselect.cpp moc_formitemselection.cpp moc_formlistwidget.cpp moc_formlistwidgethistory.cpp moc_formlistwidgetworklist.cpp moc_formmainmenu.cpp moc_formsetting.cpp moc_formviewer.cpp moc_formworklist.cpp moc_headertype1.cpp moc_mainwindow.cpp moc_qgstreamerplayer.cpp moc_qgstreamerplayer2.cpp moc_qopenglbufferbase.cpp moc_qopenglbuffermenu.cpp moc_qopenglbufferthumbnail.cpp moc_qopengltexturebutton.cpp moc_qrtspthread.cpp moc_qsthread.cpp moc_qvideowidget.cpp moc_scalendarmenuview.cpp moc_sdatabase.cpp moc_sdayview.cpp moc_slistwidget.cpp moc_slistwidgetsetting.cpp moc_sslidebar.cpp moc_sslidebarhorizontal.cpp moc_stextedit.cpp moc_sthreadimagesave.cpp moc_dialogemergengy.cpp moc_dialogexportusb.cpp moc_dialogpowerbutton.cpp moc_sthreadwatchport.cpp moc_dialogmisscapture.cpp moc_dialoglogin.cpp moc_dialogchecksumerror.cpp moc_dialogexportsamba.cpp moc_dialogsettingnetworkshare.cpp moc_dialogexportsamba.cpp moc_singlebutton.cpp moc_sambaclient.cpp moc_dialogloginuseradd.cpp moc_sthreadsenddicom.cpp moc_scurl.cpp moc_formscreensaver.cpp moc_seventfilter.cpp +compiler_moc_header_clean: + -$(DEL_FILE) moc_dialogadvancedsetting.cpp moc_dialogcalendar.cpp moc_dialogprogress.cpp moc_dialogsettingtable.cpp moc_formcalendarview.cpp moc_formcapture.cpp moc_formcaptureimageselect.cpp moc_formcheckcaptureselect.cpp moc_formheadertype1.cpp moc_formhistory.cpp moc_formimageselect.cpp moc_formitemselection.cpp moc_formlistwidget.cpp moc_formlistwidgethistory.cpp moc_formlistwidgetworklist.cpp moc_formmainmenu.cpp moc_formsetting.cpp moc_formviewer.cpp moc_formworklist.cpp moc_headertype1.cpp moc_mainwindow.cpp moc_qgstreamerplayer.cpp moc_qgstreamerplayer2.cpp moc_qopenglbufferbase.cpp moc_qopenglbuffermenu.cpp moc_qopenglbufferthumbnail.cpp moc_qopengltexturebutton.cpp moc_qrtspthread.cpp moc_qsthread.cpp moc_qvideowidget.cpp moc_scalendarmenuview.cpp moc_sdatabase.cpp moc_sdayview.cpp moc_slistwidget.cpp moc_slistwidgetsetting.cpp moc_sslidebar.cpp moc_sslidebarhorizontal.cpp moc_stextedit.cpp moc_sthreadimagesave.cpp moc_dialogemergengy.cpp moc_dialogexportusb.cpp moc_dialogpowerbutton.cpp moc_sthreadwatchport.cpp moc_dialogmisscapture.cpp moc_dialoglogin.cpp moc_dialogchecksumerror.cpp moc_dialogexportsamba.cpp moc_dialogsettingnetworkshare.cpp moc_dialogexportsamba.cpp moc_singlebutton.cpp moc_sambaclient.cpp moc_dialogloginuseradd.cpp moc_sthreadsenddicom.cpp moc_scurl.cpp moc_formscreensaver.cpp moc_seventfilter.cpp +moc_dialogadvancedsetting.cpp: dialogadvancedsetting.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include dialogadvancedsetting.h -o moc_dialogadvancedsetting.cpp + +moc_dialogcalendar.cpp: dialogcalendar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + scalendarmenuview.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include dialogcalendar.h -o moc_dialogcalendar.cpp + +moc_dialogprogress.cpp: dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include dialogprogress.h -o moc_dialogprogress.cpp + +moc_dialogsettingtable.cpp: dialogsettingtable.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include dialogsettingtable.h -o moc_dialogsettingtable.cpp + +moc_formcalendarview.cpp: formcalendarview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + sdayview.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include formcalendarview.h -o moc_formcalendarview.cpp + +moc_formcapture.cpp: formcapture.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + formcaptureimageselect.h \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include formcapture.h -o moc_formcapture.cpp + +moc_formcaptureimageselect.cpp: formcaptureimageselect.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include formcaptureimageselect.h -o moc_formcaptureimageselect.cpp + +moc_formcheckcaptureselect.cpp: formcheckcaptureselect.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include formcheckcaptureselect.h -o moc_formcheckcaptureselect.cpp + +moc_formheadertype1.cpp: formheadertype1.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include formheadertype1.h -o moc_formheadertype1.cpp + +moc_formhistory.cpp: formhistory.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include formhistory.h -o moc_formhistory.cpp + +moc_formimageselect.cpp: formimageselect.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + common.h \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include formimageselect.h -o moc_formimageselect.cpp + +moc_formitemselection.cpp: formitemselection.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include formitemselection.h -o moc_formitemselection.cpp + +moc_formlistwidget.cpp: formlistwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QTableWidgetItem \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtablewidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtableview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtCore/qabstractitemmodel.h \ + /usr/local/qt5-5.12.12/include/QtCore/qitemselectionmodel.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemdelegate.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyleoption.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractspinbox.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvalidator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregularexpression.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyle.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qrubberband.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + slistwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QTableWidget \ + headertype1.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QHeaderView \ + /usr/local/qt5-5.12.12/include/QtWidgets/qheaderview.h \ + formheadertype1.h \ + sslidebar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollBar \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollbar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + /usr/local/qt5-5.12.12/include/QtWidgets/QAbstractScrollArea \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include formlistwidget.h -o moc_formlistwidget.cpp + +moc_formlistwidgethistory.cpp: formlistwidgethistory.h \ + formlistwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QTableWidgetItem \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtablewidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtableview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtCore/qabstractitemmodel.h \ + /usr/local/qt5-5.12.12/include/QtCore/qitemselectionmodel.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemdelegate.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyleoption.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractspinbox.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvalidator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregularexpression.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyle.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qrubberband.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + slistwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QTableWidget \ + headertype1.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QHeaderView \ + /usr/local/qt5-5.12.12/include/QtWidgets/qheaderview.h \ + formheadertype1.h \ + sslidebar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollBar \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollbar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + /usr/local/qt5-5.12.12/include/QtWidgets/QAbstractScrollArea \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include formlistwidgethistory.h -o moc_formlistwidgethistory.cpp + +moc_formlistwidgetworklist.cpp: formlistwidgetworklist.h \ + formlistwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QTableWidgetItem \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtablewidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtableview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtCore/qabstractitemmodel.h \ + /usr/local/qt5-5.12.12/include/QtCore/qitemselectionmodel.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemdelegate.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyleoption.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractspinbox.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvalidator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregularexpression.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyle.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qrubberband.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + slistwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QTableWidget \ + headertype1.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QHeaderView \ + /usr/local/qt5-5.12.12/include/QtWidgets/qheaderview.h \ + formheadertype1.h \ + sslidebar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollBar \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollbar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + /usr/local/qt5-5.12.12/include/QtWidgets/QAbstractScrollArea \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include formlistwidgetworklist.h -o moc_formlistwidgetworklist.cpp + +moc_formmainmenu.cpp: formmainmenu.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include formmainmenu.h -o moc_formmainmenu.cpp + +moc_formsetting.cpp: formsetting.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include formsetting.h -o moc_formsetting.cpp + +moc_formviewer.cpp: formviewer.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + formimageselect.h \ + sslidebar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollBar \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + /usr/local/qt5-5.12.12/include/QtWidgets/QAbstractScrollArea \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include formviewer.h -o moc_formviewer.cpp + +moc_formworklist.cpp: formworklist.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + dialogcalendar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + scalendarmenuview.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollArea \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include formworklist.h -o moc_formworklist.cpp + +moc_headertype1.cpp: headertype1.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QHeaderView \ + /usr/local/qt5-5.12.12/include/QtWidgets/qheaderview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qabstractitemmodel.h \ + /usr/local/qt5-5.12.12/include/QtCore/qitemselectionmodel.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemdelegate.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyleoption.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractspinbox.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvalidator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregularexpression.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyle.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qrubberband.h \ + formheadertype1.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include headertype1.h -o moc_headertype1.cpp + +moc_mainwindow.cpp: mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include mainwindow.h -o moc_mainwindow.cpp + +moc_qgstreamerplayer.cpp: qgstreamerplayer.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsrc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstpushsrc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesrc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-enumtypes.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/qt5-5.12.12/include/QtGui/QList \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include qgstreamerplayer.h -o moc_qgstreamerplayer.cpp + +moc_qgstreamerplayer2.cpp: qgstreamerplayer2.h \ + qgstreamerplayer.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsrc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstpushsrc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesrc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-enumtypes.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/qt5-5.12.12/include/QtGui/QList \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include qgstreamerplayer2.h -o moc_qgstreamerplayer2.cpp + +moc_qopenglbufferbase.cpp: qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include qopenglbufferbase.h -o moc_qopenglbufferbase.cpp + +moc_qopenglbuffermenu.cpp: qopenglbuffermenu.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include qopenglbuffermenu.h -o moc_qopenglbuffermenu.cpp + +moc_qopenglbufferthumbnail.cpp: qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include qopenglbufferthumbnail.h -o moc_qopenglbufferthumbnail.cpp + +moc_qopengltexturebutton.cpp: qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include qopengltexturebutton.h -o moc_qopengltexturebutton.cpp + +moc_qrtspthread.cpp: qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include qrtspthread.h -o moc_qrtspthread.cpp + +moc_qsthread.cpp: qsthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include qsthread.h -o moc_qsthread.cpp + +moc_qvideowidget.cpp: qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include qvideowidget.h -o moc_qvideowidget.cpp + +moc_scalendarmenuview.cpp: scalendarmenuview.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include scalendarmenuview.h -o moc_scalendarmenuview.cpp + +moc_sdatabase.cpp: sdatabase.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + acquisition_info.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + csdcm.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include sdatabase.h -o moc_sdatabase.cpp + +moc_sdayview.cpp: sdayview.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include sdayview.h -o moc_sdayview.cpp + +moc_slistwidget.cpp: slistwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QTableWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtablewidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtableview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qabstractitemmodel.h \ + /usr/local/qt5-5.12.12/include/QtCore/qitemselectionmodel.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemdelegate.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyleoption.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractspinbox.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvalidator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregularexpression.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyle.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qrubberband.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + headertype1.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QHeaderView \ + /usr/local/qt5-5.12.12/include/QtWidgets/qheaderview.h \ + formheadertype1.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + sslidebar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollBar \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollbar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + /usr/local/qt5-5.12.12/include/QtWidgets/QAbstractScrollArea \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include slistwidget.h -o moc_slistwidget.cpp + +moc_slistwidgetsetting.cpp: slistwidgetsetting.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QListWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qlistwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qlistview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qabstractitemmodel.h \ + /usr/local/qt5-5.12.12/include/QtCore/qitemselectionmodel.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemdelegate.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyleoption.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractspinbox.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvalidator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregularexpression.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyle.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qrubberband.h \ + formitemselection.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include slistwidgetsetting.h -o moc_slistwidgetsetting.cpp + +moc_sslidebar.cpp: sslidebar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollBar \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + /usr/local/qt5-5.12.12/include/QtWidgets/QAbstractScrollArea \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include sslidebar.h -o moc_sslidebar.cpp + +moc_sslidebarhorizontal.cpp: sslidebarhorizontal.h \ + sslidebar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollBar \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + /usr/local/qt5-5.12.12/include/QtWidgets/QAbstractScrollArea \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include sslidebarhorizontal.h -o moc_sslidebarhorizontal.cpp + +moc_stextedit.cpp: stextedit.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPlainTextEdit \ + /usr/local/qt5-5.12.12/include/QtWidgets/qplaintextedit.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtextedit.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextdocument.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextoption.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpen.h \ + /usr/local/qt5-5.12.12/include/QtGui/qabstracttextdocumentlayout.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextlayout.h \ + /usr/local/qt5-5.12.12/include/QtGui/qglyphrun.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrawfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontdatabase.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include stextedit.h -o moc_stextedit.cpp + +moc_sthreadimagesave.cpp: sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + scurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include sthreadimagesave.h -o moc_sthreadimagesave.cpp + +moc_dialogemergengy.cpp: dialogemergengy.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include dialogemergengy.h -o moc_dialogemergengy.cpp + +moc_dialogexportusb.cpp: dialogexportusb.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include dialogexportusb.h -o moc_dialogexportusb.cpp + +moc_dialogpowerbutton.cpp: dialogpowerbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include dialogpowerbutton.h -o moc_dialogpowerbutton.cpp + +moc_sthreadwatchport.cpp: sthreadwatchport.h \ + qsthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include sthreadwatchport.h -o moc_sthreadwatchport.cpp + +moc_dialogmisscapture.cpp: dialogmisscapture.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include dialogmisscapture.h -o moc_dialogmisscapture.cpp + +moc_dialoglogin.cpp: dialoglogin.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include dialoglogin.h -o moc_dialoglogin.cpp + +moc_dialogchecksumerror.cpp: dialogchecksumerror.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include dialogchecksumerror.h -o moc_dialogchecksumerror.cpp + +moc_dialogexportsamba.cpp: dialogexportsamba.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include dialogexportsamba.h -o moc_dialogexportsamba.cpp + +moc_dialogsettingnetworkshare.cpp: dialogsettingnetworkshare.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include dialogsettingnetworkshare.h -o moc_dialogsettingnetworkshare.cpp + +moc_dialogexportsamba.cpp: dialogexportsamba.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include dialogexportsamba.h -o moc_dialogexportsamba.cpp + +moc_singlebutton.cpp: singlebutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include singlebutton.h -o moc_singlebutton.cpp + +moc_sambaclient.cpp: sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include sambaclient.h -o moc_sambaclient.cpp + +moc_dialogloginuseradd.cpp: dialogloginuseradd.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include dialogloginuseradd.h -o moc_dialogloginuseradd.cpp + +moc_sthreadsenddicom.cpp: sthreadsenddicom.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include sthreadsenddicom.h -o moc_sthreadsenddicom.cpp + +moc_scurl.cpp: scurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include scurl.h -o moc_scurl.cpp + +moc_formscreensaver.cpp: formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include formscreensaver.h -o moc_formscreensaver.cpp + +moc_seventfilter.cpp: seventfilter.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + moc_predefs.h \ + /usr/local/qt5-5.12.12/bin/moc + /usr/local/qt5-5.12.12/bin/moc $(DEFINES) --include /work/project/qt/SVG_Upload5/moc_predefs.h -I/usr/local/qt5-5.12.12/mkspecs/linux-g++ -I/work/project/qt/SVG_Upload5 -I/usr/local/include -I/usr/local/curl/include -I/usr/local/dcmtk/include -I/usr/local/gstreamer-1.16.3/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/qt5-5.12.12/include -I/usr/local/qt5-5.12.12/include/QtWidgets -I/usr/local/qt5-5.12.12/include/QtGui -I/usr/local/qt5-5.12.12/include/QtNetwork -I/usr/local/qt5-5.12.12/include/QtCore -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0 -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/aarch64-linux-gnu -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.5.0/backward -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/7.5.0/include-fixed -I/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/local/include -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include/aarch64-linux-gnu -I/work/nvidia/tx2_nx/qt-compile/rootfs_qt_compile/usr/include seventfilter.h -o moc_seventfilter.cpp + +compiler_moc_objc_header_make_all: +compiler_moc_objc_header_clean: +compiler_moc_source_make_all: +compiler_moc_source_clean: +compiler_uic_make_all: ui_dialogadvancedsetting.h ui_dialogcalendar.h ui_dialogprogress.h ui_dialogsettingtable.h ui_formcalendarview.h ui_formcapture.h ui_formcaptureimageselect.h ui_formcheckcaptureselect.h ui_formheadertype1.h ui_formhistory.h ui_formimageselect.h ui_formitemselection.h ui_formlistwidget.h ui_formmainmenu.h ui_formsetting.h ui_formviewer.h ui_formworklist.h ui_mainwindow.h ui_dialogemergengy.h ui_dialogexportusb.h ui_dialogpowerbutton.h ui_dialogmisscapture.h ui_dialoglogin.h ui_dialogchecksumerror.h ui_dialogsettingnetworkshare.h ui_dialogexportsamba.h ui_dialogloginuseradd.h ui_formscreensaver.h +compiler_uic_clean: + -$(DEL_FILE) ui_dialogadvancedsetting.h ui_dialogcalendar.h ui_dialogprogress.h ui_dialogsettingtable.h ui_formcalendarview.h ui_formcapture.h ui_formcaptureimageselect.h ui_formcheckcaptureselect.h ui_formheadertype1.h ui_formhistory.h ui_formimageselect.h ui_formitemselection.h ui_formlistwidget.h ui_formmainmenu.h ui_formsetting.h ui_formviewer.h ui_formworklist.h ui_mainwindow.h ui_dialogemergengy.h ui_dialogexportusb.h ui_dialogpowerbutton.h ui_dialogmisscapture.h ui_dialoglogin.h ui_dialogchecksumerror.h ui_dialogsettingnetworkshare.h ui_dialogexportsamba.h ui_dialogloginuseradd.h ui_formscreensaver.h +ui_dialogadvancedsetting.h: dialogadvancedsetting.ui \ + /usr/local/qt5-5.12.12/bin/uic + /usr/local/qt5-5.12.12/bin/uic dialogadvancedsetting.ui -o ui_dialogadvancedsetting.h + +ui_dialogcalendar.h: dialogcalendar.ui \ + /usr/local/qt5-5.12.12/bin/uic \ + formcalendarview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + sdayview.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h + /usr/local/qt5-5.12.12/bin/uic dialogcalendar.ui -o ui_dialogcalendar.h + +ui_dialogprogress.h: dialogprogress.ui \ + /usr/local/qt5-5.12.12/bin/uic + /usr/local/qt5-5.12.12/bin/uic dialogprogress.ui -o ui_dialogprogress.h + +ui_dialogsettingtable.h: dialogsettingtable.ui \ + /usr/local/qt5-5.12.12/bin/uic \ + sslidebar.h \ + slistwidgetsetting.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollBar \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + /usr/local/qt5-5.12.12/include/QtWidgets/QAbstractScrollArea \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QListWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qlistwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qlistview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qabstractitemmodel.h \ + /usr/local/qt5-5.12.12/include/QtCore/qitemselectionmodel.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemdelegate.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyleoption.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractspinbox.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvalidator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregularexpression.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyle.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qrubberband.h \ + formitemselection.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h + /usr/local/qt5-5.12.12/bin/uic dialogsettingtable.ui -o ui_dialogsettingtable.h + +ui_formcalendarview.h: formcalendarview.ui \ + /usr/local/qt5-5.12.12/bin/uic + /usr/local/qt5-5.12.12/bin/uic formcalendarview.ui -o ui_formcalendarview.h + +ui_formcapture.h: formcapture.ui \ + /usr/local/qt5-5.12.12/bin/uic \ + sslidebar.h \ + sslidebarhorizontal.h \ + qvideowidget_uyvy.h \ + formcheckcaptureselect.h \ + singlebutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollBar \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + /usr/local/qt5-5.12.12/include/QtWidgets/QAbstractScrollArea \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + sslidebar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollBar \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + /usr/local/qt5-5.12.12/include/QtWidgets/QAbstractScrollArea \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h + /usr/local/qt5-5.12.12/bin/uic formcapture.ui -o ui_formcapture.h + +ui_formcaptureimageselect.h: formcaptureimageselect.ui \ + /usr/local/qt5-5.12.12/bin/uic + /usr/local/qt5-5.12.12/bin/uic formcaptureimageselect.ui -o ui_formcaptureimageselect.h + +ui_formcheckcaptureselect.h: formcheckcaptureselect.ui \ + /usr/local/qt5-5.12.12/bin/uic + /usr/local/qt5-5.12.12/bin/uic formcheckcaptureselect.ui -o ui_formcheckcaptureselect.h + +ui_formheadertype1.h: formheadertype1.ui \ + /usr/local/qt5-5.12.12/bin/uic + /usr/local/qt5-5.12.12/bin/uic formheadertype1.ui -o ui_formheadertype1.h + +ui_formhistory.h: formhistory.ui \ + /usr/local/qt5-5.12.12/bin/uic \ + stextedit.h \ + formlistwidgethistory.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPlainTextEdit \ + /usr/local/qt5-5.12.12/include/QtWidgets/qplaintextedit.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtextedit.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextdocument.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextoption.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpen.h \ + /usr/local/qt5-5.12.12/include/QtGui/qabstracttextdocumentlayout.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextlayout.h \ + /usr/local/qt5-5.12.12/include/QtGui/qglyphrun.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrawfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontdatabase.h \ + formlistwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QTableWidgetItem \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtablewidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtableview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtCore/qabstractitemmodel.h \ + /usr/local/qt5-5.12.12/include/QtCore/qitemselectionmodel.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemdelegate.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyleoption.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractspinbox.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvalidator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregularexpression.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyle.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qrubberband.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + slistwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QTableWidget \ + headertype1.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QHeaderView \ + /usr/local/qt5-5.12.12/include/QtWidgets/qheaderview.h \ + formheadertype1.h \ + sslidebar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollBar \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollbar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + /usr/local/qt5-5.12.12/include/QtWidgets/QAbstractScrollArea \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h + /usr/local/qt5-5.12.12/bin/uic formhistory.ui -o ui_formhistory.h + +ui_formimageselect.h: formimageselect.ui \ + /usr/local/qt5-5.12.12/bin/uic + /usr/local/qt5-5.12.12/bin/uic formimageselect.ui -o ui_formimageselect.h + +ui_formitemselection.h: formitemselection.ui \ + /usr/local/qt5-5.12.12/bin/uic + /usr/local/qt5-5.12.12/bin/uic formitemselection.ui -o ui_formitemselection.h + +ui_formlistwidget.h: formlistwidget.ui \ + /usr/local/qt5-5.12.12/bin/uic \ + sslidebar.h \ + slistwidget.h \ + sslidebarhorizontal.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollBar \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + /usr/local/qt5-5.12.12/include/QtWidgets/QAbstractScrollArea \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QTableWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtablewidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtableview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qabstractitemmodel.h \ + /usr/local/qt5-5.12.12/include/QtCore/qitemselectionmodel.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemdelegate.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyleoption.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractspinbox.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvalidator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregularexpression.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyle.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qrubberband.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + headertype1.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QHeaderView \ + /usr/local/qt5-5.12.12/include/QtWidgets/qheaderview.h \ + formheadertype1.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + sslidebar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollBar \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollbar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + /usr/local/qt5-5.12.12/include/QtWidgets/QAbstractScrollArea \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + sslidebar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollBar \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + /usr/local/qt5-5.12.12/include/QtWidgets/QAbstractScrollArea \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h + /usr/local/qt5-5.12.12/bin/uic formlistwidget.ui -o ui_formlistwidget.h + +ui_formmainmenu.h: formmainmenu.ui \ + /usr/local/qt5-5.12.12/bin/uic + /usr/local/qt5-5.12.12/bin/uic formmainmenu.ui -o ui_formmainmenu.h + +ui_formsetting.h: formsetting.ui \ + /usr/local/qt5-5.12.12/bin/uic \ + stextedit.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPlainTextEdit \ + /usr/local/qt5-5.12.12/include/QtWidgets/qplaintextedit.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtextedit.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextdocument.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextoption.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpen.h \ + /usr/local/qt5-5.12.12/include/QtGui/qabstracttextdocumentlayout.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextlayout.h \ + /usr/local/qt5-5.12.12/include/QtGui/qglyphrun.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrawfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontdatabase.h + /usr/local/qt5-5.12.12/bin/uic formsetting.ui -o ui_formsetting.h + +ui_formviewer.h: formviewer.ui \ + /usr/local/qt5-5.12.12/bin/uic \ + sslidebar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollBar \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + /usr/local/qt5-5.12.12/include/QtWidgets/QAbstractScrollArea \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h + /usr/local/qt5-5.12.12/bin/uic formviewer.ui -o ui_formviewer.h + +ui_formworklist.h: formworklist.ui \ + /usr/local/qt5-5.12.12/bin/uic \ + stextedit.h \ + formlistwidgetworklist.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPlainTextEdit \ + /usr/local/qt5-5.12.12/include/QtWidgets/qplaintextedit.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtextedit.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextdocument.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextoption.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpen.h \ + /usr/local/qt5-5.12.12/include/QtGui/qabstracttextdocumentlayout.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextlayout.h \ + /usr/local/qt5-5.12.12/include/QtGui/qglyphrun.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrawfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontdatabase.h \ + formlistwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QTableWidgetItem \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtablewidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtableview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtCore/qabstractitemmodel.h \ + /usr/local/qt5-5.12.12/include/QtCore/qitemselectionmodel.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemdelegate.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyleoption.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractspinbox.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvalidator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregularexpression.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyle.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qrubberband.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + slistwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QTableWidget \ + headertype1.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QHeaderView \ + /usr/local/qt5-5.12.12/include/QtWidgets/qheaderview.h \ + formheadertype1.h \ + sslidebar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollBar \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollbar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + /usr/local/qt5-5.12.12/include/QtWidgets/QAbstractScrollArea \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h + /usr/local/qt5-5.12.12/bin/uic formworklist.ui -o ui_formworklist.h + +ui_mainwindow.h: mainwindow.ui \ + /usr/local/qt5-5.12.12/bin/uic \ + formmainmenu.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h + /usr/local/qt5-5.12.12/bin/uic mainwindow.ui -o ui_mainwindow.h + +ui_dialogemergengy.h: dialogemergengy.ui \ + /usr/local/qt5-5.12.12/bin/uic \ + stextedit.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPlainTextEdit \ + /usr/local/qt5-5.12.12/include/QtWidgets/qplaintextedit.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtextedit.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextdocument.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextoption.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpen.h \ + /usr/local/qt5-5.12.12/include/QtGui/qabstracttextdocumentlayout.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextlayout.h \ + /usr/local/qt5-5.12.12/include/QtGui/qglyphrun.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrawfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontdatabase.h + /usr/local/qt5-5.12.12/bin/uic dialogemergengy.ui -o ui_dialogemergengy.h + +ui_dialogexportusb.h: dialogexportusb.ui \ + /usr/local/qt5-5.12.12/bin/uic + /usr/local/qt5-5.12.12/bin/uic dialogexportusb.ui -o ui_dialogexportusb.h + +ui_dialogpowerbutton.h: dialogpowerbutton.ui \ + /usr/local/qt5-5.12.12/bin/uic + /usr/local/qt5-5.12.12/bin/uic dialogpowerbutton.ui -o ui_dialogpowerbutton.h + +ui_dialogmisscapture.h: dialogmisscapture.ui \ + /usr/local/qt5-5.12.12/bin/uic + /usr/local/qt5-5.12.12/bin/uic dialogmisscapture.ui -o ui_dialogmisscapture.h + +ui_dialoglogin.h: dialoglogin.ui \ + /usr/local/qt5-5.12.12/bin/uic + /usr/local/qt5-5.12.12/bin/uic dialoglogin.ui -o ui_dialoglogin.h + +ui_dialogchecksumerror.h: dialogchecksumerror.ui \ + /usr/local/qt5-5.12.12/bin/uic + /usr/local/qt5-5.12.12/bin/uic dialogchecksumerror.ui -o ui_dialogchecksumerror.h + +ui_dialogsettingnetworkshare.h: dialogsettingnetworkshare.ui \ + /usr/local/qt5-5.12.12/bin/uic \ + stextedit.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPlainTextEdit \ + /usr/local/qt5-5.12.12/include/QtWidgets/qplaintextedit.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtextedit.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextdocument.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextoption.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpen.h \ + /usr/local/qt5-5.12.12/include/QtGui/qabstracttextdocumentlayout.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextlayout.h \ + /usr/local/qt5-5.12.12/include/QtGui/qglyphrun.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrawfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontdatabase.h + /usr/local/qt5-5.12.12/bin/uic dialogsettingnetworkshare.ui -o ui_dialogsettingnetworkshare.h + +ui_dialogexportsamba.h: dialogexportsamba.ui \ + /usr/local/qt5-5.12.12/bin/uic + /usr/local/qt5-5.12.12/bin/uic dialogexportsamba.ui -o ui_dialogexportsamba.h + +ui_dialogloginuseradd.h: dialogloginuseradd.ui \ + /usr/local/qt5-5.12.12/bin/uic + /usr/local/qt5-5.12.12/bin/uic dialogloginuseradd.ui -o ui_dialogloginuseradd.h + +ui_formscreensaver.h: formscreensaver.ui \ + /usr/local/qt5-5.12.12/bin/uic + /usr/local/qt5-5.12.12/bin/uic formscreensaver.ui -o ui_formscreensaver.h + +compiler_yacc_decl_make_all: +compiler_yacc_decl_clean: +compiler_yacc_impl_make_all: +compiler_yacc_impl_clean: +compiler_lex_make_all: +compiler_lex_clean: +compiler_clean: compiler_rcc_clean compiler_moc_predefs_clean compiler_moc_header_clean compiler_uic_clean + +####### Compile + +SCallback.o: SCallback.cpp SCallback.h \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + SDCMCommonStructure.h \ + csdcm.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o SCallback.o SCallback.cpp + +SDCMImage.o: SDCMImage.cpp SDCMImage.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + csdcm.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + charconvert.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTextCodec \ + /usr/local/qt5-5.12.12/include/QtCore/qtextcodec.h \ + /usr/local/qt5-5.12.12/include/QtCore/QByteArray \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcfilefo.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcsequen.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcelem.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcmetinf.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdicent.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmjpeg/djdecode.h \ + /usr/local/dcmtk/include/dcmtk/dcmjpeg/djutils.h \ + /usr/local/dcmtk/include/dcmtk/dcmimgle/diutils.h \ + /usr/local/dcmtk/include/dcmtk/dcmimgle/didefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmjpeg/djdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmjpeg/djencode.h \ + /usr/local/dcmtk/include/dcmtk/dcmjpls/djdecode.h \ + /usr/local/dcmtk/include/dcmtk/dcmjpls/djlsutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmjpls/dldefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmjpls/djencode.h \ + /usr/local/dcmtk/include/dcmtk/dcmjpls/djcparam.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dccodec.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcrledrg.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcrleerg.h \ + /usr/local/dcmtk/include/dcmtk/dcmjpeg/dipijpeg.h \ + /usr/local/dcmtk/include/dcmtk/dcmimgle/diplugin.h \ + /usr/local/dcmtk/include/dcmtk/dcmjpeg/djrplol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpixel.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvrpobw.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvrobow.h \ + /usr/local/dcmtk/include/dcmtk/dcmimage/diregist.h \ + /usr/local/dcmtk/include/dcmtk/dcmimgle/diregbas.h \ + /usr/local/dcmtk/include/dcmtk/dcmimage/dicdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpixseq.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcofsetl.h \ + /usr/local/dcmtk/include/dcmtk/dcmjpeg/djcparam.h \ + /usr/local/dcmtk/include/dcmtk/dcmjpeg/djeijg8.h \ + /usr/local/dcmtk/include/dcmtk/dcmjpeg/djencabs.h \ + /usr/local/dcmtk/include/dcmtk/dcmjpeg/djcodece.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcchrstr.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcbytstr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofchrenc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvrui.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvrsh.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmf.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcwcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcfcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcistrma.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o SDCMImage.o SDCMImage.cpp + +SDCMSendImpl.o: SDCMSendImpl.cpp SDCMSendImpl.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcasccfg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dccftsmp.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dccfuidh.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dccfpcmp.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dccfrsmp.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dccfenmp.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dccfprmp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + csdcm.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + SCallback.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcfilefo.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcsequen.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcelem.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmjpeg/djdecode.h \ + /usr/local/dcmtk/include/dcmtk/dcmjpeg/djutils.h \ + /usr/local/dcmtk/include/dcmtk/dcmimgle/diutils.h \ + /usr/local/dcmtk/include/dcmtk/dcmimgle/didefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmjpeg/djdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmjpeg/djencode.h \ + /usr/local/dcmtk/include/dcmtk/dcmjpls/djdecode.h \ + /usr/local/dcmtk/include/dcmtk/dcmjpls/djlsutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmjpls/dldefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmjpls/djencode.h \ + /usr/local/dcmtk/include/dcmtk/dcmjpls/djcparam.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dccodec.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcrledrg.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcrleerg.h \ + /usr/local/dcmtk/include/dcmtk/dcmjpeg/dipijpeg.h \ + /usr/local/dcmtk/include/dcmtk/dcmimgle/diplugin.h \ + /usr/local/qt5-5.12.12/include/QtCore/QFile \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdicent.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o SDCMSendImpl.o SDCMSendImpl.cpp + +acquisition_info.o: acquisition_info.cpp acquisition_info.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + csdcm.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o acquisition_info.o acquisition_info.cpp + +charconvert.o: charconvert.cpp charconvert.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTextCodec \ + /usr/local/qt5-5.12.12/include/QtCore/qtextcodec.h \ + /usr/local/qt5-5.12.12/include/QtCore/QByteArray + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o charconvert.o charconvert.cpp + +commondata.o: commondata.cpp commondata.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDir \ + /usr/local/qt5-5.12.12/include/QtCore/qdir.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfileinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDirIterator \ + /usr/local/qt5-5.12.12/include/QtCore/qdiriterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/QStorageInfo \ + /usr/local/qt5-5.12.12/include/QtCore/qstorageinfo.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o commondata.o commondata.cpp + +cscallbacksendprogress.o: cscallbacksendprogress.cpp cscallbacksendprogress.h \ + SCallback.h \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + SDCMCommonStructure.h \ + csdcm.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o cscallbacksendprogress.o cscallbacksendprogress.cpp + +csdcm.o: csdcm.cpp csdcm.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o csdcm.o csdcm.cpp + +dialogadvancedsetting.o: dialogadvancedsetting.cpp dialogadvancedsetting.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + ui_dialogadvancedsetting.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dialogadvancedsetting.o dialogadvancedsetting.cpp + +dialogcalendar.o: dialogcalendar.cpp dialogcalendar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + scalendarmenuview.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + ui_dialogcalendar.h \ + /usr/local/qt5-5.12.12/include/QtGui/QShowEvent \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h \ + /usr/local/qt5-5.12.12/include/QtGui/QScreen \ + /usr/local/qt5-5.12.12/include/QtGui/qscreen.h \ + /usr/local/qt5-5.12.12/include/QtCore/QList \ + /usr/local/qt5-5.12.12/include/QtCore/QRect \ + /usr/local/qt5-5.12.12/include/QtCore/QSize \ + /usr/local/qt5-5.12.12/include/QtCore/QSizeF \ + /usr/local/qt5-5.12.12/include/QtGui/QTransform \ + /usr/local/qt5-5.12.12/include/QtGui/QGuiApplication \ + /usr/local/qt5-5.12.12/include/QtGui/qguiapplication.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreapplication.h \ + /usr/local/qt5-5.12.12/include/QtCore/qeventloop.h \ + /usr/local/qt5-5.12.12/include/QtGui/qinputmethod.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPainter \ + /usr/local/qt5-5.12.12/include/QtGui/qpainter.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextoption.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpen.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dialogcalendar.o dialogcalendar.cpp + +dialogprogress.o: dialogprogress.cpp dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + ui_dialogprogress.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dialogprogress.o dialogprogress.cpp + +dialogsettingtable.o: dialogsettingtable.cpp dialogsettingtable.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + ui_dialogsettingtable.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + dialogprogress.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dialogsettingtable.o dialogsettingtable.cpp + +formcalendarview.o: formcalendarview.cpp formcalendarview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + sdayview.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + ui_formcalendarview.h \ + /usr/local/qt5-5.12.12/include/QtGui/QResizeEvent \ + /usr/local/qt5-5.12.12/include/QtWidgets/QLabel \ + /usr/local/qt5-5.12.12/include/QtWidgets/qlabel.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + dialogcalendar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + scalendarmenuview.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o formcalendarview.o formcalendarview.cpp + +formcapture.o: formcapture.cpp formcapture.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + formcaptureimageselect.h \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + ui_formcapture.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + sthreadwatchport.h \ + qgstreamerplayer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsrc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstpushsrc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesrc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-enumtypes.h \ + /usr/local/qt5-5.12.12/include/QtGui/QList \ + /usr/local/qt5-5.12.12/include/QtCore/QFileInfo \ + /usr/local/qt5-5.12.12/include/QtCore/qfileinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDirIterator \ + /usr/local/qt5-5.12.12/include/QtCore/qdiriterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdir.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o formcapture.o formcapture.cpp + +formcaptureimageselect.o: formcaptureimageselect.cpp formcaptureimageselect.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + ui_formcaptureimageselect.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPainter \ + /usr/local/qt5-5.12.12/include/QtGui/qpainter.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextoption.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpen.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtGui/QResizeEvent \ + /usr/local/qt5-5.12.12/include/QtGui/QWheelEvent + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o formcaptureimageselect.o formcaptureimageselect.cpp + +formcheckcaptureselect.o: formcheckcaptureselect.cpp formcheckcaptureselect.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + ui_formcheckcaptureselect.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPainter \ + /usr/local/qt5-5.12.12/include/QtGui/qpainter.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextoption.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpen.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h \ + /usr/local/qt5-5.12.12/include/QtCore/QFileInfo \ + /usr/local/qt5-5.12.12/include/QtCore/qfileinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDirIterator \ + /usr/local/qt5-5.12.12/include/QtCore/qdiriterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdir.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o formcheckcaptureselect.o formcheckcaptureselect.cpp + +formheadertype1.o: formheadertype1.cpp formheadertype1.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + ui_formheadertype1.h \ + /usr/local/qt5-5.12.12/include/QtGui/QResizeEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o formheadertype1.o formheadertype1.cpp + +formhistory.o: formhistory.cpp formhistory.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + ui_formhistory.h \ + commondata.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h \ + dialogcalendar.h \ + scalendarmenuview.h \ + formcalendarview.h \ + sdayview.h \ + dialogexportusb.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o formhistory.o formhistory.cpp + +formimageselect.o: formimageselect.cpp formimageselect.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + common.h \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + ui_formimageselect.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPainter \ + /usr/local/qt5-5.12.12/include/QtGui/qpainter.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextoption.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpen.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + /usr/local/qt5-5.12.12/include/QtGui/QPixelFormat \ + /usr/local/qt5-5.12.12/include/QtCore/QtMath \ + /usr/local/qt5-5.12.12/include/QtCore/qmath.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o formimageselect.o formimageselect.cpp + +formitemselection.o: formitemselection.cpp formitemselection.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + ui_formitemselection.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h \ + /usr/local/qt5-5.12.12/include/QtGui/QResizeEvent + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o formitemselection.o formitemselection.cpp + +formlistwidget.o: formlistwidget.cpp formlistwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QTableWidgetItem \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtablewidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtableview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtCore/qabstractitemmodel.h \ + /usr/local/qt5-5.12.12/include/QtCore/qitemselectionmodel.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemdelegate.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyleoption.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractspinbox.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvalidator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregularexpression.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyle.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qrubberband.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + slistwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QTableWidget \ + headertype1.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QHeaderView \ + /usr/local/qt5-5.12.12/include/QtWidgets/qheaderview.h \ + formheadertype1.h \ + sslidebar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollBar \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollbar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + /usr/local/qt5-5.12.12/include/QtWidgets/QAbstractScrollArea \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + ui_formlistwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/QWheelEvent \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o formlistwidget.o formlistwidget.cpp + +formlistwidgethistory.o: formlistwidgethistory.cpp formlistwidgethistory.h \ + formlistwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QTableWidgetItem \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtablewidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtableview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtCore/qabstractitemmodel.h \ + /usr/local/qt5-5.12.12/include/QtCore/qitemselectionmodel.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemdelegate.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyleoption.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractspinbox.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvalidator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregularexpression.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyle.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qrubberband.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + slistwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QTableWidget \ + headertype1.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QHeaderView \ + /usr/local/qt5-5.12.12/include/QtWidgets/qheaderview.h \ + formheadertype1.h \ + sslidebar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollBar \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollbar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + /usr/local/qt5-5.12.12/include/QtWidgets/QAbstractScrollArea \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h \ + /usr/local/qt5-5.12.12/include/QtCore/QFileInfo \ + /usr/local/qt5-5.12.12/include/QtCore/qfileinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDirIterator \ + /usr/local/qt5-5.12.12/include/QtCore/qdiriterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdir.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o formlistwidgethistory.o formlistwidgethistory.cpp + +formlistwidgetworklist.o: formlistwidgetworklist.cpp formlistwidgetworklist.h \ + formlistwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QTableWidgetItem \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtablewidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtableview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtCore/qabstractitemmodel.h \ + /usr/local/qt5-5.12.12/include/QtCore/qitemselectionmodel.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemdelegate.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyleoption.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractspinbox.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvalidator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregularexpression.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyle.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qrubberband.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + slistwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QTableWidget \ + headertype1.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QHeaderView \ + /usr/local/qt5-5.12.12/include/QtWidgets/qheaderview.h \ + formheadertype1.h \ + sslidebar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollBar \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollbar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + /usr/local/qt5-5.12.12/include/QtWidgets/QAbstractScrollArea \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o formlistwidgetworklist.o formlistwidgetworklist.cpp + +formmainmenu.o: formmainmenu.cpp formmainmenu.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + ui_formmainmenu.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o formmainmenu.o formmainmenu.cpp + +formsetting.o: formsetting.cpp formsetting.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + ui_formsetting.h \ + dialogsettingtable.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + dialogprogress.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h \ + dialogsettingnetworkshare.h \ + dialogloginuseradd.h \ + dialogadvancedsetting.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o formsetting.o formsetting.cpp + +formviewer.o: formviewer.cpp formviewer.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + formimageselect.h \ + sslidebar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollBar \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + /usr/local/qt5-5.12.12/include/QtWidgets/QAbstractScrollArea \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + ui_formviewer.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtGui/QWheelEvent \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h \ + SDCMSendImpl.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcasccfg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dccftsmp.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dccfuidh.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dccfpcmp.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dccfrsmp.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dccfenmp.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dccfprmp.h \ + SCallback.h \ + cscallbacksendprogress.h \ + SDCMImage.h \ + /usr/local/qt5-5.12.12/include/QtCore/QFileInfo \ + /usr/local/qt5-5.12.12/include/QtCore/qfileinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDirIterator \ + /usr/local/qt5-5.12.12/include/QtCore/qdiriterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdir.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o formviewer.o formviewer.cpp + +formworklist.o: formworklist.cpp formworklist.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + dialogcalendar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + scalendarmenuview.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollArea \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + ui_formworklist.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h \ + formcalendarview.h \ + sdayview.h \ + dialogemergengy.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o formworklist.o formworklist.cpp + +headertype1.o: headertype1.cpp headertype1.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QHeaderView \ + /usr/local/qt5-5.12.12/include/QtWidgets/qheaderview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qabstractitemmodel.h \ + /usr/local/qt5-5.12.12/include/QtCore/qitemselectionmodel.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemdelegate.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyleoption.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractspinbox.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvalidator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregularexpression.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyle.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qrubberband.h \ + formheadertype1.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + /usr/local/qt5-5.12.12/include/QtGui/QPainter \ + /usr/local/qt5-5.12.12/include/QtGui/qpainter.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextoption.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpen.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h \ + slistwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QTableWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtablewidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtableview.h \ + sslidebar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollBar \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QAbstractScrollArea + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o headertype1.o headertype1.cpp + +main.o: main.cpp mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QApplication \ + /usr/local/qt5-5.12.12/include/QtWidgets/qapplication.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreapplication.h \ + /usr/local/qt5-5.12.12/include/QtCore/qeventloop.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdesktopwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qguiapplication.h \ + /usr/local/qt5-5.12.12/include/QtGui/qinputmethod.h \ + /usr/local/qt5-5.12.12/include/QtCore/QLibraryInfo \ + /usr/local/qt5-5.12.12/include/QtCore/qlibraryinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversionnumber.h \ + /usr/local/qt5-5.12.12/include/QtGui/QScreen \ + /usr/local/qt5-5.12.12/include/QtGui/qscreen.h \ + /usr/local/qt5-5.12.12/include/QtCore/QList \ + /usr/local/qt5-5.12.12/include/QtCore/QRect \ + /usr/local/qt5-5.12.12/include/QtCore/QSize \ + /usr/local/qt5-5.12.12/include/QtCore/QSizeF \ + /usr/local/qt5-5.12.12/include/QtGui/QTransform \ + /usr/local/qt5-5.12.12/include/QtCore/QSharedMemory \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedmemory.h \ + seventfilter.h \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + sapplication.h \ + sexception.h \ + /usr/local/qt5-5.12.12/include/QtCore/QUnhandledException \ + /usr/local/qt5-5.12.12/include/QtCore/qexception.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp + +mainwindow.o: mainwindow.cpp mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h \ + ui_mainwindow.h \ + formworklist.h \ + dialogcalendar.h \ + scalendarmenuview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollArea \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + formhistory.h \ + formsetting.h \ + formcapture.h \ + formcaptureimageselect.h \ + formviewer.h \ + formimageselect.h \ + sslidebar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollBar \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + /usr/local/qt5-5.12.12/include/QtWidgets/QAbstractScrollArea \ + qgstreamerplayer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsrc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstpushsrc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesrc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-enumtypes.h \ + /usr/local/qt5-5.12.12/include/QtGui/QList \ + /usr/local/qt5-5.12.12/include/QtCore/QSharedMemory \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedmemory.h \ + charconvert.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTextCodec \ + /usr/local/qt5-5.12.12/include/QtCore/qtextcodec.h \ + /usr/local/qt5-5.12.12/include/QtCore/QByteArray \ + dialogpowerbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QKeyEvent \ + dialoglogin.h \ + dialogchecksumerror.h \ + dialogexportsamba.h \ + dialogsettingnetworkshare.h \ + /usr/local/qt5-5.12.12/include/QtCore/QFileInfo \ + /usr/local/qt5-5.12.12/include/QtCore/qfileinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDirIterator \ + /usr/local/qt5-5.12.12/include/QtCore/qdiriterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdir.h \ + sexception.h \ + /usr/local/qt5-5.12.12/include/QtCore/QUnhandledException \ + /usr/local/qt5-5.12.12/include/QtCore/qexception.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindow.o mainwindow.cpp + +qglslshader.o: qglslshader.cpp qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qglslshader.o qglslshader.cpp + +qgstreamerplayer.o: qgstreamerplayer.cpp qgstreamerplayer.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsrc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstpushsrc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesrc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-enumtypes.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/qt5-5.12.12/include/QtGui/QList \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + sthreadwatchport.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qgstreamerplayer.o qgstreamerplayer.cpp + +qgstreamerplayer2.o: qgstreamerplayer2.cpp qgstreamerplayer2.h \ + qgstreamerplayer.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsrc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstpushsrc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesrc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-enumtypes.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/qt5-5.12.12/include/QtGui/QList \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + sthreadwatchport.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qgstreamerplayer2.o qgstreamerplayer2.cpp + +qopenglbufferbase.o: qopenglbufferbase.cpp qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qopenglbufferbase.o qopenglbufferbase.cpp + +qopenglbuffermenu.o: qopenglbuffermenu.cpp qopenglbuffermenu.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qopenglbuffermenu.o qopenglbuffermenu.cpp + +qopenglbufferthumbnail.o: qopenglbufferthumbnail.cpp qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qopenglbufferthumbnail.o qopenglbufferthumbnail.cpp + +qopengltexturebutton.o: qopengltexturebutton.cpp qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qopengltexturebutton.o qopengltexturebutton.cpp + +qrtspthread.o: qrtspthread.cpp qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + qgstreamerplayer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsrc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstpushsrc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesrc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-enumtypes.h \ + /usr/local/qt5-5.12.12/include/QtGui/QList \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + sthreadwatchport.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qrtspthread.o qrtspthread.cpp + +qsthread.o: qsthread.cpp qsthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qsthread.o qsthread.cpp + +qvideoshader.o: qvideoshader.cpp qvideoshader.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qvideoshader.o qvideoshader.cpp + +qvideowidget.o: qvideowidget.cpp qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPainter \ + /usr/local/qt5-5.12.12/include/QtGui/qpainter.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextoption.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpen.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEngine \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintengine.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShaderProgram \ + /usr/local/qt5-5.12.12/include/QtCore/QCoreApplication \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreapplication.h \ + /usr/local/qt5-5.12.12/include/QtCore/qeventloop.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPainterPath \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLPixelTransferOptions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglpixeltransferoptions.h \ + /usr/local/qt5-5.12.12/include/QtCore/QSharedDataPointer \ + /usr/local/qt5-5.12.12/include/QtWidgets/QFrame \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h \ + qvideoshader.h \ + qgstreamerplayer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsrc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstpushsrc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesrc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-enumtypes.h \ + /usr/local/qt5-5.12.12/include/QtGui/QList + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qvideowidget.o qvideowidget.cpp + +qvideowidget_720_yuy2.o: qvideowidget_720_yuy2.cpp qvideowidget_720_yuy2.h \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + qvideoshader.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qvideowidget_720_yuy2.o qvideowidget_720_yuy2.cpp + +qvideowidget_rgb.o: qvideowidget_rgb.cpp qvideowidget_rgb.h \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + qvideoshader.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qvideowidget_rgb.o qvideowidget_rgb.cpp + +qvideowidget_uyvy.o: qvideowidget_uyvy.cpp qvideowidget_uyvy.h \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + qvideoshader.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qvideowidget_uyvy.o qvideowidget_uyvy.cpp + +qvideowidget_yuy2.o: qvideowidget_yuy2.cpp qvideowidget_yuy2.h \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + qvideoshader.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qvideowidget_yuy2.o qvideowidget_yuy2.cpp + +scalendarmenuview.o: scalendarmenuview.cpp scalendarmenuview.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtGui/QPainter \ + /usr/local/qt5-5.12.12/include/QtGui/qpainter.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextoption.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpen.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o scalendarmenuview.o scalendarmenuview.cpp + +sdatabase.o: sdatabase.cpp sdatabase.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + acquisition_info.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + csdcm.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o sdatabase.o sdatabase.cpp + +sdayview.o: sdayview.cpp sdayview.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtGui/QPainter \ + /usr/local/qt5-5.12.12/include/QtGui/qpainter.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextoption.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpen.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPainterPath \ + formcalendarview.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o sdayview.o sdayview.cpp + +sdcmfindscu.o: sdcmfindscu.cpp sdcmfindscu.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o sdcmfindscu.o sdcmfindscu.cpp + +sdcmfindscudatacallback.o: sdcmfindscudatacallback.cpp sdcmfindscudatacallback.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcelem.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcsequen.h \ + /usr/local/qt5-5.12.12/include/QtCore/QByteArray \ + /usr/local/qt5-5.12.12/include/QtCore/QTextCodec \ + /usr/local/qt5-5.12.12/include/QtCore/qtextcodec.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h \ + charconvert.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o sdcmfindscudatacallback.o sdcmfindscudatacallback.cpp + +sdcmworklist.o: sdcmworklist.cpp sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + commondata.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h \ + charconvert.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTextCodec \ + /usr/local/qt5-5.12.12/include/QtCore/qtextcodec.h \ + /usr/local/qt5-5.12.12/include/QtCore/QByteArray + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o sdcmworklist.o sdcmworklist.cpp + +slistwidget.o: slistwidget.cpp slistwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QTableWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtablewidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtableview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qabstractitemmodel.h \ + /usr/local/qt5-5.12.12/include/QtCore/qitemselectionmodel.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemdelegate.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyleoption.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractspinbox.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvalidator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregularexpression.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyle.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qrubberband.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + headertype1.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QHeaderView \ + /usr/local/qt5-5.12.12/include/QtWidgets/qheaderview.h \ + formheadertype1.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + sslidebar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollBar \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollbar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + /usr/local/qt5-5.12.12/include/QtWidgets/QAbstractScrollArea \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QTableWidgetItem \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h \ + /usr/local/qt5-5.12.12/include/QtGui/QKeyEvent \ + /usr/local/qt5-5.12.12/include/QtGui/QResizeEvent + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o slistwidget.o slistwidget.cpp + +slistwidgetsetting.o: slistwidgetsetting.cpp slistwidgetsetting.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QListWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qlistwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qlistview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemview.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qabstractitemmodel.h \ + /usr/local/qt5-5.12.12/include/QtCore/qitemselectionmodel.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractitemdelegate.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyleoption.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractspinbox.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvalidator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregularexpression.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qstyle.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qrubberband.h \ + formitemselection.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollBar \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollbar.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o slistwidgetsetting.o slistwidgetsetting.cpp + +sslidebar.o: sslidebar.cpp sslidebar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollBar \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + /usr/local/qt5-5.12.12/include/QtWidgets/QAbstractScrollArea \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + /usr/local/qt5-5.12.12/include/QtGui/QWheelEvent + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o sslidebar.o sslidebar.cpp + +sslidebarhorizontal.o: sslidebarhorizontal.cpp sslidebarhorizontal.h \ + sslidebar.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QScrollBar \ + /usr/local/qt5-5.12.12/include/QtWidgets/qscrollbar.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractslider.h \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + /usr/local/qt5-5.12.12/include/QtWidgets/QAbstractScrollArea \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o sslidebarhorizontal.o sslidebarhorizontal.cpp + +stableheader.o: stableheader.cpp stableheader.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + csdcm.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o stableheader.o stableheader.cpp + +stextedit.o: stextedit.cpp stextedit.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPlainTextEdit \ + /usr/local/qt5-5.12.12/include/QtWidgets/qplaintextedit.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtextedit.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractscrollarea.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qframe.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextdocument.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextoption.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpen.h \ + /usr/local/qt5-5.12.12/include/QtGui/qabstracttextdocumentlayout.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextlayout.h \ + /usr/local/qt5-5.12.12/include/QtGui/qglyphrun.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrawfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontdatabase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QKeyEvent \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + /usr/local/qt5-5.12.12/include/QtGui/QInputMethodEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o stextedit.o stextedit.cpp + +sthreadimagesave.o: sthreadimagesave.cpp sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + scurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + commondata.h \ + qrtspthread.h \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDir \ + /usr/local/qt5-5.12.12/include/QtCore/qdir.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfileinfo.h \ + formcapture.h \ + formcaptureimageselect.h \ + SDCMSendImpl.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcasccfg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dccftsmp.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dccfuidh.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dccfpcmp.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dccfrsmp.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dccfenmp.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dccfprmp.h \ + SCallback.h \ + SDCMImage.h \ + cscallbacksendprogress.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDirIterator \ + /usr/local/qt5-5.12.12/include/QtCore/qdiriterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDataStream \ + /usr/local/qt5-5.12.12/include/QtWidgets/QFileDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qfiledialog.h \ + /usr/local/qt5-5.12.12/include/QtCore/QFileInfo + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o sthreadimagesave.o sthreadimagesave.cpp + +sv4l2device.o: sv4l2device.cpp sv4l2device.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o sv4l2device.o sv4l2device.cpp + +dialogemergengy.o: dialogemergengy.cpp dialogemergengy.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + ui_dialogemergengy.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dialogemergengy.o dialogemergengy.cpp + +dialogexportusb.o: dialogexportusb.cpp dialogexportusb.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + ui_dialogexportusb.h \ + /usr/local/qt5-5.12.12/include/QtCore/QStorageInfo \ + /usr/local/qt5-5.12.12/include/QtCore/qstorageinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdir.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfileinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + dialogprogress.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dialogexportusb.o dialogexportusb.cpp + +dialogpowerbutton.o: dialogpowerbutton.cpp dialogpowerbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + ui_dialogpowerbutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dialogpowerbutton.o dialogpowerbutton.cpp + +sthreadwatchport.o: sthreadwatchport.cpp sthreadwatchport.h \ + qsthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o sthreadwatchport.o sthreadwatchport.cpp + +dialogmisscapture.o: dialogmisscapture.cpp dialogmisscapture.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + ui_dialogmisscapture.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dialogmisscapture.o dialogmisscapture.cpp + +dialoglogin.o: dialoglogin.cpp dialoglogin.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + ui_dialoglogin.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dialoglogin.o dialoglogin.cpp + +dialogchecksumerror.o: dialogchecksumerror.cpp dialogchecksumerror.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + ui_dialogchecksumerror.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dialogchecksumerror.o dialogchecksumerror.cpp + +dialogsettingnetworkshare.o: dialogsettingnetworkshare.cpp dialogsettingnetworkshare.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + ui_dialogsettingnetworkshare.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dialogsettingnetworkshare.o dialogsettingnetworkshare.cpp + +dialogexportsamba.o: dialogexportsamba.cpp dialogexportsamba.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + ui_dialogexportsamba.h \ + /usr/local/qt5-5.12.12/include/QtCore/QStorageInfo \ + /usr/local/qt5-5.12.12/include/QtCore/qstorageinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdir.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfileinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + dialogprogress.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dialogexportsamba.o dialogexportsamba.cpp + +singlebutton.o: singlebutton.cpp singlebutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o singlebutton.o singlebutton.cpp + +sambaclient.o: sambaclient.cpp sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o sambaclient.o sambaclient.cpp + +dialogloginuseradd.o: dialogloginuseradd.cpp dialogloginuseradd.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + ui_dialogloginuseradd.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dialogloginuseradd.o dialogloginuseradd.cpp + +sthreadsenddicom.o: sthreadsenddicom.cpp sthreadsenddicom.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + commondata.h \ + qrtspthread.h \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDir \ + /usr/local/qt5-5.12.12/include/QtCore/qdir.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfileinfo.h \ + formcapture.h \ + formcaptureimageselect.h \ + SDCMSendImpl.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcasccfg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dccftsmp.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dccfuidh.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dccfpcmp.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dccfrsmp.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dccfenmp.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dccfprmp.h \ + SCallback.h \ + SDCMImage.h \ + cscallbacksendprogress.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDirIterator \ + /usr/local/qt5-5.12.12/include/QtCore/qdiriterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDataStream + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o sthreadsenddicom.o sthreadsenddicom.cpp + +scurl.o: scurl.cpp scurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + /usr/local/qt5-5.12.12/include/QtCore/QFileInfo \ + /usr/local/qt5-5.12.12/include/QtCore/qfileinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtNetwork/QNetworkInterface \ + /usr/local/qt5-5.12.12/include/QtNetwork/qnetworkinterface.h \ + /usr/local/qt5-5.12.12/include/QtNetwork/qtnetworkglobal.h \ + /usr/local/qt5-5.12.12/include/QtNetwork/qtnetwork-config.h \ + /usr/local/qt5-5.12.12/include/QtNetwork/qhostaddress.h \ + /usr/local/qt5-5.12.12/include/QtNetwork/qabstractsocket.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtNetwork/QNetworkAddressEntry \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o scurl.o scurl.cpp + +formscreensaver.o: formscreensaver.cpp formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + ui_formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QApplication \ + /usr/local/qt5-5.12.12/include/QtWidgets/qapplication.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreapplication.h \ + /usr/local/qt5-5.12.12/include/QtCore/qeventloop.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdesktopwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qguiapplication.h \ + /usr/local/qt5-5.12.12/include/QtGui/qinputmethod.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDesktopWidget \ + /usr/local/qt5-5.12.12/include/QtGui/QPainter \ + /usr/local/qt5-5.12.12/include/QtGui/qpainter.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtextoption.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpen.h \ + /usr/local/qt5-5.12.12/include/QtCore/QRandomGenerator \ + /usr/local/qt5-5.12.12/include/QtCore/qrandom.h \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o formscreensaver.o formscreensaver.cpp + +seventfilter.o: seventfilter.cpp seventfilter.h \ + /usr/local/qt5-5.12.12/include/QtCore/QObject \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/QEvent \ + mainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QMainWindow \ + /usr/local/qt5-5.12.12/include/QtWidgets/qmainwindow.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtabwidget.h \ + /usr/local/qt5-5.12.12/include/QtGui/qicon.h \ + common.h \ + /usr/local/qt5-5.12.12/include/QtGui/QImage \ + /usr/local/qt5-5.12.12/include/QtCore/QString \ + /usr/local/qt5-5.12.12/include/QtCore/QDate \ + /usr/local/qt5-5.12.12/include/QtCore/qdatetime.h \ + /usr/local/qt5-5.12.12/include/QtCore/QDateTime \ + /usr/local/qt5-5.12.12/include/QtCore/QDebug \ + commondata.h \ + sdcmworklist.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dfindscu.h \ + /usr/local/dcmtk/include/dcmtk/config/osconfig.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftypes.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofdefine.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcast.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexport.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstdinc.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofalgo.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstream.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflist.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmap.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofutil.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oftraits.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/variadic/tuplefwd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstack.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstring.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofvector.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcxfer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctypes.h \ + /usr/local/dcmtk/include/dcmtk/oflog/oflog.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logger.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/win32.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/macosx.h \ + /usr/local/dcmtk/include/dcmtk/oflog/config/defines.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/threadcf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/loglevel.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tstring.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tchar.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/apndatch.h \ + /usr/local/dcmtk/include/dcmtk/oflog/appender.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofmem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofthread.h \ + /usr/local/dcmtk/include/dcmtk/oflog/layout.h \ + /usr/local/dcmtk/include/dcmtk/oflog/streams.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/pointer.h \ + /usr/local/dcmtk/include/dcmtk/oflog/thread/syncprim.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/filter.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/lockfile.h \ + /usr/local/dcmtk/include/dcmtk/oflog/spi/logfact.h \ + /usr/local/dcmtk/include/dcmtk/oflog/logmacro.h \ + /usr/local/dcmtk/include/dcmtk/oflog/helpers/snprintf.h \ + /usr/local/dcmtk/include/dcmtk/oflog/tracelog.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcvr.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofglobal.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dimse.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dicom.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/cond.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconsol.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcerror.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dndefine.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcompat.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofbmanip.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcuid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/lst.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dul.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/extneg.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcuserid.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dntypes.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/assoc.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdatset.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcitem.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/offile.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofstd.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oflimits.h \ + /usr/local/dcmtk/include/dcmtk/config/arith.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/oferror.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcobject.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctag.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dctagkey.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcstack.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dclist.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcpcache.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/diutil.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmtrans.h \ + /usr/local/dcmtk/include/dcmtk/dcmnet/dcmlayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/cmdlnarg.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofconapp.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofcmdln.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexbl.h \ + /usr/local/dcmtk/include/dcmtk/ofstd/ofexit.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdict.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dchashdi.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrmz.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcostrma.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsopt.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlslayer.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsdefin.h \ + /usr/local/dcmtk/include/dcmtk/dcmtls/tlsciphr.h \ + sdcmfindscudatacallback.h \ + SDCMCommonStructure.h \ + /usr/local/dcmtk/include/dcmtk/dcmdata/dcdeftag.h \ + csdcm.h \ + qrtspthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QThread \ + /usr/local/qt5-5.12.12/include/QtCore/qthread.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutex \ + qvideowidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QOpenGLWidget \ + /usr/local/qt5-5.12.12/include/QtWidgets/qopenglwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QWidget \ + /usr/local/qt5-5.12.12/include/QtGui/QSurfaceFormat \ + /usr/local/qt5-5.12.12/include/QtGui/qsurfaceformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qt_windows.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopengles2ext.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglext.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFunctions \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglcontext.h \ + /usr/local/qt5-5.12.12/include/QtCore/QScopedPointer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglversionfunctions.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLBuffer \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglbuffer.h \ + /usr/local/qt5-5.12.12/include/QtGui/QVector3D \ + /usr/local/qt5-5.12.12/include/QtGui/qvector3d.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMatrix4x4 \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix4x4.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector4d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qquaternion.h \ + /usr/local/qt5-5.12.12/include/QtGui/qgenericmatrix.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTime \ + /usr/local/qt5-5.12.12/include/QtCore/QVector \ + /usr/local/qt5-5.12.12/include/QtWidgets/QPushButton \ + /usr/local/qt5-5.12.12/include/QtWidgets/qpushbutton.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qabstractbutton.h \ + /usr/local/qt5-5.12.12/include/QtCore/QTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qtimer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasictimer.h \ + qglslshader.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLTexture \ + /usr/local/qt5-5.12.12/include/QtGui/qopengltexture.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLShader \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglshaderprogram.h \ + /usr/local/qt5-5.12.12/include/QtGui/qopenglframebufferobject.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOffscreenSurface \ + /usr/local/qt5-5.12.12/include/QtGui/qoffscreensurface.h \ + /usr/local/qt5-5.12.12/include/QtGui/qsurface.h \ + qopengltexturebutton.h \ + /usr/local/qt5-5.12.12/include/QtGui/QMouseEvent \ + qopenglbufferthumbnail.h \ + qopenglbufferbase.h \ + /usr/local/qt5-5.12.12/include/QtGui/QOpenGLFramebufferObject \ + qopenglbuffermenu.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gst.h \ + /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/include/glib-2.0/glib/gversionmacros.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gerror.h \ + /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gbase64.h \ + /usr/include/glib-2.0/glib/gbitlock.h \ + /usr/include/glib-2.0/glib/gbookmarkfile.h \ + /usr/include/glib-2.0/glib/gbytes.h \ + /usr/include/glib-2.0/glib/gcharset.h \ + /usr/include/glib-2.0/glib/gchecksum.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h \ + /usr/include/glib-2.0/glib/gdatetime.h \ + /usr/include/glib-2.0/glib/gtimezone.h \ + /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/genviron.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ggettext.h \ + /usr/include/glib-2.0/glib/ghash.h \ + /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/ghmac.h \ + /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/ghostutils.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h \ + /usr/include/glib-2.0/glib/gpoll.h \ + /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gkeyfile.h \ + /usr/include/glib-2.0/glib/gmappedfile.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gvariant.h \ + /usr/include/glib-2.0/glib/gvarianttype.h \ + /usr/include/glib-2.0/glib/goption.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h \ + /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h \ + /usr/include/glib-2.0/glib/grcbox.h \ + /usr/include/glib-2.0/glib/grefcount.h \ + /usr/include/glib-2.0/glib/grefstring.h \ + /usr/include/glib-2.0/glib/gregex.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gsequence.h \ + /usr/include/glib-2.0/glib/gshell.h \ + /usr/include/glib-2.0/glib/gslice.h \ + /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gstringchunk.h \ + /usr/include/glib-2.0/glib/gtestutils.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h \ + /usr/include/glib-2.0/glib/gtrashstack.h \ + /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gurifuncs.h \ + /usr/include/glib-2.0/glib/guuid.h \ + /usr/include/glib-2.0/glib/gversion.h \ + /usr/include/glib-2.0/glib/gwin32.h \ + /usr/include/glib-2.0/glib/deprecated/gallocator.h \ + /usr/include/glib-2.0/glib/deprecated/gcache.h \ + /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ + /usr/include/glib-2.0/glib/deprecated/gmain.h \ + /usr/include/glib-2.0/glib/deprecated/grel.h \ + /usr/include/glib-2.0/glib/deprecated/gthread.h \ + /usr/include/glib-2.0/glib/glib-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/glib-compat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstenumtypes.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gbinding.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/glib-types.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/glib-enumtypes.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/glib-2.0/gobject/gobject-autocleanups.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstconfig.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstversion.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstatomicqueue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelement.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolbinding.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontrolsource.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbuffer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstminiobject.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstallocator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmemory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcaps.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststructure.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdatetime.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcapsfeatures.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmeta.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferlist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpadtemplate.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstevent.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstformat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstiterator.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaglist.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsample.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsegment.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmessage.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstquery.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttoc.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcontext.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevice.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreams.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gststreamcollection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttask.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttaskpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbus.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstplugin.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstmacros.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpluginfeature.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsturi.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstbufferpool.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstchildproxy.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdebugutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdevicemonitor.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceprovider.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdeviceproviderfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstdynamictypefactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstelementmetadata.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsterror.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstghostpad.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstinfo.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparamspecs.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstvalue.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpipeline.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpoll.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpreset.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstprotection.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstregistry.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstpromise.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstsystemclock.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttagsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttocsetter.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracer.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttracerrecord.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefind.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gsttypefindfactory.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstutils.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstparse.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/gstcompat.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/gstappsink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/gstbasesink.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/base/base-prelude.h \ + /usr/local/gstreamer-1.16.3/include/gstreamer-1.0/gst/app/app-prelude.h \ + sthreadimagesave.h \ + /usr/local/qt5-5.12.12/include/QtCore/QMutexLocker \ + qsthread.h \ + scurl.h \ + /usr/local/curl/include/curl/curl.h \ + /usr/local/curl/include/curl/curlver.h \ + /usr/local/curl/include/curl/system.h \ + /usr/local/curl/include/curl/easy.h \ + /usr/local/curl/include/curl/multi.h \ + /usr/local/curl/include/curl/urlapi.h \ + /usr/local/curl/include/curl/options.h \ + /usr/local/curl/include/curl/header.h \ + /usr/local/curl/include/curl/websockets.h \ + /usr/local/curl/include/curl/typecheck-gcc.h \ + sthreadsenddicom.h \ + stableheader.h \ + sdatabase.h \ + acquisition_info.h \ + sambaclient.h \ + /usr/local/qt5-5.12.12/include/QtCore/QProcess \ + /usr/local/qt5-5.12.12/include/QtCore/qprocess.h \ + dialogprogress.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QDialog \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdialog.h \ + dialogmisscapture.h \ + formscreensaver.h \ + /usr/local/qt5-5.12.12/include/QtGui/QPaintEvent \ + /usr/local/qt5-5.12.12/include/QtCore/QElapsedTimer \ + /usr/local/qt5-5.12.12/include/QtCore/qelapsedtimer.h \ + sthreadwatchport.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o seventfilter.o seventfilter.cpp + +sexception.o: sexception.cpp sexception.h \ + /usr/local/qt5-5.12.12/include/QtCore/QUnhandledException \ + /usr/local/qt5-5.12.12/include/QtCore/qexception.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o sexception.o sexception.cpp + +sapplication.o: sapplication.cpp sapplication.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/QApplication \ + /usr/local/qt5-5.12.12/include/QtWidgets/qapplication.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgetsglobal.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtguiglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobal.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig-bootstrapped.h \ + /usr/local/qt5-5.12.12/include/QtCore/qconfig.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtcore-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsystemdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qprocessordetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcompilerdetection.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtypeinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsysinfo.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlogging.h \ + /usr/local/qt5-5.12.12/include/QtCore/qflags.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbasicatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_bootstrap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qgenericatomic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_cxx11.h \ + /usr/local/qt5-5.12.12/include/QtCore/qatomic_msvc.h \ + /usr/local/qt5-5.12.12/include/QtCore/qglobalstatic.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmutex.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnumeric.h \ + /usr/local/qt5-5.12.12/include/QtCore/qversiontagging.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtgui-config.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qtwidgets-config.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreapplication.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstring.h \ + /usr/local/qt5-5.12.12/include/QtCore/qchar.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrefcount.h \ + /usr/local/qt5-5.12.12/include/QtCore/qnamespace.h \ + /usr/local/qt5-5.12.12/include/QtCore/qarraydata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringliteral.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringview.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringbuilder.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobjectdefs_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qalgorithms.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiterator.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhashfunctions.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpair.h \ + /usr/local/qt5-5.12.12/include/QtCore/qbytearraylist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringlist.h \ + /usr/local/qt5-5.12.12/include/QtCore/qregexp.h \ + /usr/local/qt5-5.12.12/include/QtCore/qstringmatcher.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcoreevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qscopedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmetatype.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvarlengtharray.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontainerfwd.h \ + /usr/local/qt5-5.12.12/include/QtCore/qobject_impl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qeventloop.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs.h \ + /usr/local/qt5-5.12.12/include/QtGui/qwindowdefs_win.h \ + /usr/local/qt5-5.12.12/include/QtCore/qpoint.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsize.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcursor.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qdesktopwidget.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qwidget.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmargins.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpaintdevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qrect.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpalette.h \ + /usr/local/qt5-5.12.12/include/QtGui/qcolor.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgb.h \ + /usr/local/qt5-5.12.12/include/QtGui/qrgba64.h \ + /usr/local/qt5-5.12.12/include/QtGui/qbrush.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvector.h \ + /usr/local/qt5-5.12.12/include/QtGui/qmatrix.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpolygon.h \ + /usr/local/qt5-5.12.12/include/QtGui/qregion.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdatastream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qiodevice.h \ + /usr/local/qt5-5.12.12/include/QtCore/qline.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtransform.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpainterpath.h \ + /usr/local/qt5-5.12.12/include/QtGui/qimage.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixelformat.h \ + /usr/local/qt5-5.12.12/include/QtGui/qpixmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer.h \ + /usr/local/qt5-5.12.12/include/QtCore/qshareddata.h \ + /usr/local/qt5-5.12.12/include/QtCore/qhash.h \ + /usr/local/qt5-5.12.12/include/QtCore/qsharedpointer_impl.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfont.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontmetrics.h \ + /usr/local/qt5-5.12.12/include/QtGui/qfontinfo.h \ + /usr/local/qt5-5.12.12/include/QtWidgets/qsizepolicy.h \ + /usr/local/qt5-5.12.12/include/QtGui/qkeysequence.h \ + /usr/local/qt5-5.12.12/include/QtGui/qevent.h \ + /usr/local/qt5-5.12.12/include/QtCore/qvariant.h \ + /usr/local/qt5-5.12.12/include/QtCore/qmap.h \ + /usr/local/qt5-5.12.12/include/QtCore/qdebug.h \ + /usr/local/qt5-5.12.12/include/QtCore/qtextstream.h \ + /usr/local/qt5-5.12.12/include/QtCore/qlocale.h \ + /usr/local/qt5-5.12.12/include/QtCore/qset.h \ + /usr/local/qt5-5.12.12/include/QtCore/qcontiguouscache.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurl.h \ + /usr/local/qt5-5.12.12/include/QtCore/qurlquery.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfile.h \ + /usr/local/qt5-5.12.12/include/QtCore/qfiledevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qvector2d.h \ + /usr/local/qt5-5.12.12/include/QtGui/qtouchdevice.h \ + /usr/local/qt5-5.12.12/include/QtGui/qguiapplication.h \ + /usr/local/qt5-5.12.12/include/QtGui/qinputmethod.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o sapplication.o sapplication.cpp + +qrc_assets.o: qrc_assets.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qrc_assets.o qrc_assets.cpp + +moc_dialogadvancedsetting.o: moc_dialogadvancedsetting.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_dialogadvancedsetting.o moc_dialogadvancedsetting.cpp + +moc_dialogcalendar.o: moc_dialogcalendar.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_dialogcalendar.o moc_dialogcalendar.cpp + +moc_dialogprogress.o: moc_dialogprogress.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_dialogprogress.o moc_dialogprogress.cpp + +moc_dialogsettingtable.o: moc_dialogsettingtable.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_dialogsettingtable.o moc_dialogsettingtable.cpp + +moc_formcalendarview.o: moc_formcalendarview.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_formcalendarview.o moc_formcalendarview.cpp + +moc_formcapture.o: moc_formcapture.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_formcapture.o moc_formcapture.cpp + +moc_formcaptureimageselect.o: moc_formcaptureimageselect.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_formcaptureimageselect.o moc_formcaptureimageselect.cpp + +moc_formcheckcaptureselect.o: moc_formcheckcaptureselect.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_formcheckcaptureselect.o moc_formcheckcaptureselect.cpp + +moc_formheadertype1.o: moc_formheadertype1.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_formheadertype1.o moc_formheadertype1.cpp + +moc_formhistory.o: moc_formhistory.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_formhistory.o moc_formhistory.cpp + +moc_formimageselect.o: moc_formimageselect.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_formimageselect.o moc_formimageselect.cpp + +moc_formitemselection.o: moc_formitemselection.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_formitemselection.o moc_formitemselection.cpp + +moc_formlistwidget.o: moc_formlistwidget.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_formlistwidget.o moc_formlistwidget.cpp + +moc_formlistwidgethistory.o: moc_formlistwidgethistory.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_formlistwidgethistory.o moc_formlistwidgethistory.cpp + +moc_formlistwidgetworklist.o: moc_formlistwidgetworklist.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_formlistwidgetworklist.o moc_formlistwidgetworklist.cpp + +moc_formmainmenu.o: moc_formmainmenu.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_formmainmenu.o moc_formmainmenu.cpp + +moc_formsetting.o: moc_formsetting.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_formsetting.o moc_formsetting.cpp + +moc_formviewer.o: moc_formviewer.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_formviewer.o moc_formviewer.cpp + +moc_formworklist.o: moc_formworklist.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_formworklist.o moc_formworklist.cpp + +moc_headertype1.o: moc_headertype1.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_headertype1.o moc_headertype1.cpp + +moc_mainwindow.o: moc_mainwindow.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mainwindow.o moc_mainwindow.cpp + +moc_qgstreamerplayer.o: moc_qgstreamerplayer.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qgstreamerplayer.o moc_qgstreamerplayer.cpp + +moc_qgstreamerplayer2.o: moc_qgstreamerplayer2.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qgstreamerplayer2.o moc_qgstreamerplayer2.cpp + +moc_qopenglbufferbase.o: moc_qopenglbufferbase.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qopenglbufferbase.o moc_qopenglbufferbase.cpp + +moc_qopenglbuffermenu.o: moc_qopenglbuffermenu.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qopenglbuffermenu.o moc_qopenglbuffermenu.cpp + +moc_qopenglbufferthumbnail.o: moc_qopenglbufferthumbnail.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qopenglbufferthumbnail.o moc_qopenglbufferthumbnail.cpp + +moc_qopengltexturebutton.o: moc_qopengltexturebutton.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qopengltexturebutton.o moc_qopengltexturebutton.cpp + +moc_qrtspthread.o: moc_qrtspthread.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qrtspthread.o moc_qrtspthread.cpp + +moc_qsthread.o: moc_qsthread.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qsthread.o moc_qsthread.cpp + +moc_qvideowidget.o: moc_qvideowidget.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qvideowidget.o moc_qvideowidget.cpp + +moc_scalendarmenuview.o: moc_scalendarmenuview.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_scalendarmenuview.o moc_scalendarmenuview.cpp + +moc_sdatabase.o: moc_sdatabase.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_sdatabase.o moc_sdatabase.cpp + +moc_sdayview.o: moc_sdayview.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_sdayview.o moc_sdayview.cpp + +moc_slistwidget.o: moc_slistwidget.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_slistwidget.o moc_slistwidget.cpp + +moc_slistwidgetsetting.o: moc_slistwidgetsetting.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_slistwidgetsetting.o moc_slistwidgetsetting.cpp + +moc_sslidebar.o: moc_sslidebar.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_sslidebar.o moc_sslidebar.cpp + +moc_sslidebarhorizontal.o: moc_sslidebarhorizontal.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_sslidebarhorizontal.o moc_sslidebarhorizontal.cpp + +moc_stextedit.o: moc_stextedit.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_stextedit.o moc_stextedit.cpp + +moc_sthreadimagesave.o: moc_sthreadimagesave.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_sthreadimagesave.o moc_sthreadimagesave.cpp + +moc_dialogemergengy.o: moc_dialogemergengy.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_dialogemergengy.o moc_dialogemergengy.cpp + +moc_dialogexportusb.o: moc_dialogexportusb.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_dialogexportusb.o moc_dialogexportusb.cpp + +moc_dialogpowerbutton.o: moc_dialogpowerbutton.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_dialogpowerbutton.o moc_dialogpowerbutton.cpp + +moc_sthreadwatchport.o: moc_sthreadwatchport.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_sthreadwatchport.o moc_sthreadwatchport.cpp + +moc_dialogmisscapture.o: moc_dialogmisscapture.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_dialogmisscapture.o moc_dialogmisscapture.cpp + +moc_dialoglogin.o: moc_dialoglogin.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_dialoglogin.o moc_dialoglogin.cpp + +moc_dialogchecksumerror.o: moc_dialogchecksumerror.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_dialogchecksumerror.o moc_dialogchecksumerror.cpp + +moc_dialogexportsamba.o: moc_dialogexportsamba.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_dialogexportsamba.o moc_dialogexportsamba.cpp + +moc_dialogsettingnetworkshare.o: moc_dialogsettingnetworkshare.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_dialogsettingnetworkshare.o moc_dialogsettingnetworkshare.cpp + +moc_singlebutton.o: moc_singlebutton.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_singlebutton.o moc_singlebutton.cpp + +moc_sambaclient.o: moc_sambaclient.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_sambaclient.o moc_sambaclient.cpp + +moc_dialogloginuseradd.o: moc_dialogloginuseradd.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_dialogloginuseradd.o moc_dialogloginuseradd.cpp + +moc_sthreadsenddicom.o: moc_sthreadsenddicom.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_sthreadsenddicom.o moc_sthreadsenddicom.cpp + +moc_scurl.o: moc_scurl.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_scurl.o moc_scurl.cpp + +moc_formscreensaver.o: moc_formscreensaver.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_formscreensaver.o moc_formscreensaver.cpp + +moc_seventfilter.o: moc_seventfilter.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_seventfilter.o moc_seventfilter.cpp + +####### Install + +install_target: first FORCE + @test -d $(INSTALL_ROOT)/opt/SVG/bin || mkdir -p $(INSTALL_ROOT)/opt/SVG/bin + -$(QINSTALL_PROGRAM) $(QMAKE_TARGET) $(INSTALL_ROOT)/opt/SVG/bin/$(QMAKE_TARGET) + +uninstall_target: FORCE + -$(DEL_FILE) $(INSTALL_ROOT)/opt/SVG/bin/$(QMAKE_TARGET) + -$(DEL_DIR) $(INSTALL_ROOT)/opt/SVG/bin/ + + +install: install_target FORCE + +uninstall: uninstall_target FORCE + +FORCE: + diff --git a/README.md b/README.md new file mode 100644 index 0000000..4e99544 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# SVG + +Smart Video Gateway \ No newline at end of file diff --git a/SCallback.cpp b/SCallback.cpp new file mode 100644 index 0000000..1522e9d --- /dev/null +++ b/SCallback.cpp @@ -0,0 +1,75 @@ +#include "SCallback.h" + + +CSCallback::CSCallback() +{ + m_MapString.insert(map::value_type(SET_TRANSPORT_LAYER_TYPE, "Set Transport Layer Type")); + m_MapString.insert(map::value_type(SET_PRESENTATION_ADDRESSES, "Set Presentation Addresses")); + m_MapString.insert(map::value_type(ADD_PRESENTATION_CONTEXT, "Add Presentation Context")); + m_MapString.insert(map::value_type(REQUEST_ASSOCIATION, "Request Association")); + m_MapString.insert(map::value_type(COUNT_ACCEPTED_PRESENTATION_CONTEXTS, "Count Accepted Presentation Contexts")); + m_MapString.insert(map::value_type(CHECK_USER_IDENTITY_RESPONSE, "Check User Identity Response")); + m_MapString.insert(map::value_type(ABORT_ASSOCIATION, "Abort Association")); + m_MapString.insert(map::value_type(REJECTED_ASSOCIATION, "Release Association")); + m_MapString.insert(map::value_type(UNKNOWN_ERROR_ASSOCIATION, "Unknown Error Association")); + m_MapString.insert(map::value_type(RELEASE_ASSOCIATION, "Release Association")); + m_MapString.insert(map::value_type(DESTROY_ASSOCIATION, "Destroy Association")); + m_MapString.insert(map::value_type(PEER_REQUESTED_RELEASE, "Peer Requested Release")); + m_MapString.insert(map::value_type(PEER_ABORTED_ASSOCIATION, "Peer Aboarted Association")); + m_MapString.insert(map::value_type(CONNECTION_ERROR, "Connection Error")); + m_MapString.insert(map::value_type(DROP_NETWORK, "Drop Network")); + m_MapString.insert(map::value_type(COMPLETED, "Completed")); + m_MapString.insert(map::value_type(COMPLETE, "Complete")); + m_MapString.insert(map::value_type(CREATE_ASSOCIATION, "Create Association")); + m_MapString.insert(map::value_type(TRY_FINDSCU, "Try Find SCU")); + m_MapString.insert(map::value_type(INITIALIZE_NETWORK, "Initialize Network")); + m_MapString.insert(map::value_type(CREATE_ASSOCIATION_PARAMETERS, "Create Association Parameters")); + m_MapString.insert(map::value_type(SET_APTITLES, "Set AP Titles")); + m_MapString.insert(map::value_type(ADD_STORAGE_PRESENTATION_CONTEXTS, "Add Storage Presentation Contexts")); + m_MapString.insert(map::value_type(TRY_STORE_SCU, "Try Store SCU")); + + Clear(); +} + + +CSCallback::~CSCallback() +{ +} + +void CSCallback::ProgressInfo(int nState) +{ + +} + +void CSCallback::ProgressError(int nState) +{ + +} + +void CSCallback::ProgressComplete() +{ + +} + +void CSCallback::ProgressState(int nProgressBytes, int nTotalBytes) +{ + +} + +QString CSCallback::GetStateString(int nState) +{ + nState = (nState & ~SDCM_ERROR); + map::iterator it = m_MapString.find(nState); + QString strComment = it->second; + + return strComment; +} + +void CSCallback::Clear() +{ + m_bErrorExist = FALSE; + m_nErrorCode = 0; +} + + + diff --git a/SCallback.h b/SCallback.h new file mode 100644 index 0000000..46f5092 --- /dev/null +++ b/SCallback.h @@ -0,0 +1,78 @@ +#pragma once + +#ifndef CSCALLBACK_H +#define CSCALLBACK_H + +#include + +#define CALLBACK_INFO(pInfo, nState)\ +{\ + if (pInfo != NULL)\ + {\ + pInfo->ProgressInfo(nState);\ + }\ +} + +#define CALLBACK_STATE(pInfo, nProgressBytes, nTotalBytes)\ +{\ + if (pInfo != NULL)\ + {\ + pInfo->ProgressState(nProgressBytes, nTotalBytes);\ + }\ +} + +#define CALLBACK_ERROR(pInfo, nState)\ +{\ + if (pInfo != NULL)\ + {\ + pInfo->ProgressError(nState);\ + }\ +} + +#define CALLBACK_COMPLETE(pInfo)\ +{\ + if (pInfo != NULL)\ + {\ + pInfo->ProgressComplete();\ + }\ +} + +//#include "SDCMState.h" + +#include "dcmtk/dcmdata/dctag.h" +#include "dcmtk/dcmdata/dcdeftag.h" + +#include "SDCMCommonStructure.h" + +#include +#include +using namespace std; + +class CSCallback +{ +public: + CSCallback(); + virtual ~CSCallback(); + + virtual void ProgressInfo(int nState); + virtual void ProgressError(int nState); + virtual void ProgressComplete(); + + virtual void ProgressState(int nProgressBytes, int nTotalBytes); + + QString GetStateString(int nState); + + virtual void Clear(); + + + +protected: + map m_MapString; + + + + BOOL m_bErrorExist; + int m_nErrorCode; +}; + +#endif diff --git a/SDCMCommonStructure.h b/SDCMCommonStructure.h new file mode 100644 index 0000000..aca8ed3 --- /dev/null +++ b/SDCMCommonStructure.h @@ -0,0 +1,657 @@ +#pragma once + +#ifndef SDCM_COMMON_STRUCTURE_H +#define SDCM_COMMON_STRUCTURE_H + +#include "dcmtk/ofstd/ofstring.h" +#include "dcmtk/dcmdata/dcdeftag.h" +#include "dcmtk/dcmdata/dctag.h" + +#include "csdcm.h" +#include "common.h" + +typedef enum _SDCM_SCU_STATE +{ + NONE = 0, + INITIALIZE_NETWORK, + CREATE_ASSOCIATION_PARAMETERS, + SET_AP_TITLES, + SET_TRANSPORT_LAYER_TYPE, + SET_PRESENTATION_ADDRESSES, + REQUEST_ASSOCIATION, + COUNT_ACCEPTED_PRESENTATION_CONTEXTS, + CHECK_USER_IDENTITY_RESPONSE, + RELEASE_ASSOCIATION, + DESTROY_ASSOCIATION, + DROP_NETWORK, + COMPLETED, + COMPLETE, + ADD_PRESENTATION_CONTEXT, + ABORT_ASSOCIATION, + REJECTED_ASSOCIATION, + UNKNOWN_ERROR_ASSOCIATION, + PEER_REQUESTED_RELEASE, + PEER_ABORTED_ASSOCIATION, + CONNECTION_ERROR, + CREATE_ASSOCIATION, + TRY_FINDSCU, + SET_APTITLES, + ADD_STORAGE_PRESENTATION_CONTEXTS, + TRY_STORE_SCU, + SDCM_ERROR=0x1000, +}SDCM_SCU_STATE; + +struct SDATA_SCHEDULED_DATA +{ +public: + QString strScheduledStationAETitle; + QString strScheduledProcedureStepStartDate; + QString strScheduledProcedureStepStartTime; + QString strScheduledPerformingPhysicianName; + QString strScheduledStepDescription; + QString strScheduledCodeValue; + + SDATA_SCHEDULED_DATA() + { + Init(); + } + + void Init() + { + strScheduledStationAETitle = ""; + strScheduledProcedureStepStartDate = ""; + strScheduledProcedureStepStartTime = ""; + strScheduledPerformingPhysicianName = ""; + strScheduledStepDescription = ""; + } + + void InsertData(DcmTag tag, OFString strData) + { + if (tag == DCM_ScheduledProcedureStepDescription) + { + SetData(strScheduledStepDescription, strData); + } + else if (tag == DCM_ScheduledStationAETitle) + { + SetData(strScheduledStationAETitle, strData); + } + else if (tag == DCM_PerformedProcedureStepStartDate)// || tag==DCM_ScheduledProcedureStepStartDate) + { + SetData(strScheduledProcedureStepStartDate, strData); + } + else if (tag == DCM_PerformedProcedureStepStartTime) + { + SetData(strScheduledProcedureStepStartTime, strData); + } + else if (tag == DCM_ScheduledPerformingPhysicianName) + { + SetData(strScheduledPerformingPhysicianName, strData); + } + else if (tag == DCM_ScheduledProcedureStepStartDate) + { + SetData(strScheduledProcedureStepStartDate, strData); + } + else if (tag == DCM_ScheduledProcedureStepStartTime) + { + SetData(strScheduledProcedureStepStartTime, strData); + } + else if (tag == DCM_CodeValue) + { + SetData(strScheduledCodeValue, strData); + } + } + + void SetData(QString& strTagData, OFString strData) + { + if(strData.size()>0) + { + strTagData = strData.c_str(); + } + } + +}; + +struct SDATA_PATIENT +{ +public: + QString strPatientID; + QString strPatientName; + QString strPatientSex; + QString strPatientAge; + + //Database New + QString strPatientBirthDate; + QString strPatientBirthTime; + QString strPatientWeight; + QString strPatientComments; + QString strPatientLocation; //외래, 입원 구분 + + QString m_strTestString; + + SDATA_PATIENT() + { + Init(); + } + + void Init() + { + strPatientID = ""; + strPatientName = ""; + strPatientSex = ""; + strPatientBirthDate = ""; + strPatientBirthTime = ""; + strPatientWeight = ""; + strPatientComments = ""; + strPatientAge = ""; + strPatientLocation = ""; + } + + void InsertData(DcmTag tag, OFString strData) + { + if (tag == DCM_PatientID) + { + strPatientID = strData.c_str(); + } + else if (tag == DCM_PatientName) + { + strPatientName = strData.c_str(); + } + else if (tag == DCM_PatientAge) + { + strPatientAge = strData.c_str(); + } + else if (tag == DCM_ScheduledProcedureStepLocation) + { + strPatientLocation = strData.c_str(); + } + else if (tag == DCM_PatientSex) + { + OFString strTmp; + strTmp = strData.c_str(); + + if(strTmp.size()>0) + { + if (strTmp.at(0) == 'M') + { + strPatientSex = "M"; + } + else if (strTmp.at(0) == 'F') + { + strPatientSex = "F"; + } + else if (strTmp.at(0) == 'O') + { + strPatientSex = "O"; + } + else + { + strPatientSex = strData.c_str(); + } + } + } + else if (tag == DCM_PatientBirthDate) + { + strPatientBirthDate = strData.c_str(); + } + else if (tag == DCM_PatientBirthTime) + { + strPatientBirthTime = strData.c_str(); + } + else if (tag == DCM_PatientWeight) + { + strPatientWeight = strData.c_str(); + } + else if (tag == DCM_PatientComments) + { + strPatientComments = strData.c_str(); + } + } +}; + +struct SDATA_STUDY +{ +public: + int nPatientIndex; + QString strStudyInstanceUID; + QString strStudyDate; + QString strStudyTime; + + //Database New + QString strAccessionNumber; + QString strStudyDescription; + QString strReferringPhysiciansName; + + SDATA_STUDY() + { + Init(); + } + + void Init() + { + strAccessionNumber = ""; + strStudyInstanceUID = ""; + strStudyDate = ""; + strStudyTime = ""; + strStudyDescription = ""; + strReferringPhysiciansName = ""; + nPatientIndex = 0; + } + + void InsertData(DcmTag tag, OFString strData) + { + if (tag == DCM_AccessionNumber) + { + strAccessionNumber = strData.c_str(); + } + else if (tag == DCM_StudyInstanceUID) + { + strStudyInstanceUID = strData.c_str(); + } + else if (tag == DCM_ScheduledProcedureStepDescription) + { + strStudyDescription = strData.c_str(); + } + else if (tag == DCM_StudyDate) + { + strStudyDate = strData.c_str(); + } + else if (tag == DCM_StudyTime) + { + strStudyTime = strData.c_str(); + } + } + + + +}; + +struct SDATA_SERIES +{ +public: + int nStudyIndex; + int nSeriesNumber; + QString strSeriesInstanceUID; + QString strModality; + QString strLaterality; + QString strSeriesDate; + QString strSeriesTime; + + //Database New + QString strBodyPartExamined; + QString strSeriesDescription; + QString strOperatorsName; + + SDATA_SERIES() + { + Init(); + } + + void Init() + { + nStudyIndex = 0; + nSeriesNumber = 0; + strBodyPartExamined = ""; + strSeriesInstanceUID = ""; + strSeriesDescription = ""; + strModality = ""; + strOperatorsName = ""; + strLaterality = ""; + strSeriesDate = ""; + strSeriesTime = ""; + } + + void InsertData(DcmTag tag, OFString strData) + { + if (tag == DCM_RequestedProcedureDescription) + { + strSeriesDescription = strData.c_str(); + } + else if (tag == DCM_BodyPartExamined) + { + strBodyPartExamined = strData.c_str(); + } + else if (tag == DCM_Modality) + { + strModality = strData.c_str(); + } + else if (tag == DCM_OperatorsName) + { + strOperatorsName = strData.c_str(); + } + else if (tag == DCM_Laterality) + { + strLaterality = strData.c_str(); + } + else if(tag == DCM_SeriesDate) + { + strSeriesDate = strData.c_str(); + } + else if(tag == DCM_SeriesTime) + { + strSeriesTime = strData.c_str(); + } + } +}; + +struct SDATA_IMAGE +{ +public: + int nSeriesIndex; + int nImageIndex; + int nImageNumber; + int bDelete; + int nFileType; + QString strFileLocation; + QString strInstanceUID; + + //Database New + QString strImageType; + QString strAcquisitionDate; + QString strAcquisitionTime; + QString strContentDate; // Pixel Creation Date + QString strContentTime; // Pixel Creation Time + int nAcquisitionNumber; + int nInstanceNumber; + QString strPatientOrientation; + QString strImageLaterality; + QString strImageComments; // Option + //(0088, 0200) Icon Image Sequence : usage or not + //Burned In Annotation + + SDATA_IMAGE() + { + Init(); + } + + void Init() + { + nImageIndex = 0; + nSeriesIndex = 0; + nImageNumber = 0; + bDelete = 0; + nFileType = 0; + strFileLocation = ""; + strInstanceUID = ""; + { + strImageType = "DERIVED"; + strImageType += char(0x5c); + strImageType += "PRIMARY"; + } + + strAcquisitionDate = ""; + strAcquisitionTime = ""; + strContentDate = ""; // Pixel Creation Date + strContentTime = ""; // Pixel Creation Time + nAcquisitionNumber = 0; + nInstanceNumber = 0; + strPatientOrientation = ""; + strImageLaterality = ""; + strImageComments = ""; // Option + //(0088, 0200) Icon Image Sequence : usage or not + //Burned In Annotation + } + + void InsertData(DcmTag tag, OFString strData) + { + if (tag == DCM_ImageLaterality) + { + strImageLaterality = strData.c_str(); + } + else if (tag == DCM_ImageType) + { + strImageType = strData.c_str(); + } + } +}; + +class WorklistResponseData +{ +public: + WorklistResponseData() + { + strRequestedProcedureID = ""; + strReferringPhysicianName = ""; + strRequestingPhysician = ""; + strRequestedProcedureDescription = ""; + strAdmissionID = ""; + strEnc = ""; + + m_Study.Init(); + m_Series.Init(); + m_Image.Init(); + m_Patient.Init(); + m_ScheduledData.Init(); + + strPatientOrientation = ""; + } + + + void InsertData(DcmTag tag, OFString strData) + { + //Uint16 nGroup = tag.getGroup(); + //Uint16 nElement = tag.getElement(); + + m_Study.InsertData(tag, strData); + m_Series.InsertData(tag, strData); + m_Image.InsertData(tag, strData); + m_Patient.InsertData(tag, strData); + m_ScheduledData.InsertData(tag, strData); + + if(tag==DCM_RequestedProcedureID) + { + + } + if (tag.getEVR() == EVR_DA) + { + OFString strTmp; + strTmp = strData.c_str(); + + /* + int nFind = strTmp.Find("-"); + if (nFind > 0) + { + strTmp = strTmp.Left(nFind); + } + */ + strData = strTmp.c_str(); + } + + else if (tag == DCM_SpecificCharacterSet) + { + strEnc = strData.c_str(); + } + else if (tag == DCM_RequestedProcedureDescription) + { + strRequestedProcedureDescription = strData.c_str(); + } + else if (tag == DCM_RequestingPhysician) + { + strRequestingPhysician = strData.c_str(); + } + + else if (tag == DCM_RequestedProcedureID) + { + strRequestedProcedureID = strData.c_str(); + } + else if (tag == DCM_ReferringPhysicianName) + { + strReferringPhysicianName = strData.c_str(); + } + else if (tag == DCM_AdmissionID) + { + strAdmissionID = strData.c_str(); + } + else if (tag == DCM_PatientOrientation) + { + strPatientOrientation = strData.c_str(); + } + } + + QString strPatientOrientation; + QString strRequestingPhysician; + QString strRequestedProcedureID; + QString strRequestedProcedureDescription; + QString strReferringPhysicianName; + QString strAdmissionID; + QString strEnc; + + SDATA_PATIENT m_Patient; + SDATA_STUDY m_Study; + SDATA_SERIES m_Series; + SDATA_IMAGE m_Image; + SDATA_SCHEDULED_DATA m_ScheduledData; + + +}; + +struct MPPSRequestData +{ + MPPSRequestData() + { + m_strPatientID.clear(); + m_strPatientName.clear(); + m_strPatientBirthDate.clear(); + m_strPatientSex.clear(); + m_strAccessionNumber.clear(); + m_strReferencedSOPClassUID.clear(); + m_strReferencedSOPInstanceUID.clear(); + } + + MPPSRequestData(const WorklistResponseData& wr, OFString strReferencedSOPClassUID="") + { + m_strPatientID = wr.m_Patient.strPatientID.toStdString().c_str(); + m_strPatientName = wr.m_Patient.strPatientName.toStdString().c_str(); + m_strPatientBirthDate = wr.m_Patient.strPatientBirthDate.toStdString().c_str(); + m_strPatientSex = wr.m_Patient.strPatientSex.toStdString().c_str(); + m_strAccessionNumber = wr.m_Study.strAccessionNumber.toStdString().c_str(); + m_strReferencedSOPClassUID = strReferencedSOPClassUID; + m_strReferencedSOPInstanceUID = wr.m_Study.strStudyInstanceUID.toStdString().c_str(); + } + + OFString m_strPatientID; + OFString m_strPatientName; + OFString m_strPatientBirthDate; + OFString m_strPatientSex; + OFString m_strAccessionNumber; + OFString m_strReferencedSOPClassUID; + OFString m_strReferencedSOPInstanceUID; +}; + +typedef enum _STRENC_TYPE +{ + STRENC_ANSI = 0, + STRENC_KOR, + STRENC_UTF8 +}STRENC_TYPE; + +typedef struct _SDCM_AGE +{ + _SDCM_AGE() + { + m_nYears = -1; + m_nMonths = -1; + m_nDays = -1; + } + int m_nYears; + int m_nMonths; + int m_nDays; +}SDCM_AGE; + +typedef struct _SDCM_SERVER_INFO +{ + QString m_strServer_IP; + int m_nServer_Port; + QString m_strServer_AETitle; + QString m_strClient_AETitle; +}SDCM_SERVER_INFO; + +typedef struct _ImageFormat +{ + _ImageFormat() + { + m_pData = NULL; + m_nWidth = -1; + m_nHeight = -1; + } + + _ImageFormat(int** pData, int nWidth, int nHeight) + { + m_pData = new int*; + *m_pData = (int*)*pData; + m_pData = pData; + m_nWidth = nWidth; + m_nHeight = nHeight; + } + + _ImageFormat(unsigned char** pData, int nWidth, int nHeight) + { + m_pData = new int*; + *m_pData = (int*)*pData; + m_nWidth = nWidth; + m_nHeight = nHeight; + } + + _ImageFormat(void** pData, int nWidth, int nHeight) + { + m_pData = new int*; + *m_pData = (int*)*pData; + m_nWidth = nWidth; + m_nHeight = nHeight; + } + + ~_ImageFormat() + { + if (m_pData != NULL) + { + if (*m_pData != NULL) + { + delete[] * m_pData; + *m_pData = NULL; + } + + + // delete m_pData; + m_pData = NULL; + } + m_nWidth = 0; + m_nHeight = 0; + } + int** m_pData; + int m_nWidth; + int m_nHeight; +}ImageFormat, *PImageFormat; + + + +typedef struct _SDCM_GROUP_ELEMENT +{ +#pragma pack(push) +#pragma pack(2) + WORD m_wGroup; + WORD m_wElement; + + _SDCM_GROUP_ELEMENT() + { + m_wGroup = 0; + m_wElement = 0; + } + _SDCM_GROUP_ELEMENT(WORD wGroup, WORD wElement) + { + m_wGroup = wGroup; + m_wElement = wElement; + } + + BOOL operator==(const _SDCM_GROUP_ELEMENT& rhs) + { + BOOL bSame = FALSE; + if(m_wGroup==rhs.m_wGroup && m_wElement==rhs.m_wElement) + { + bSame = TRUE; + } + return bSame; + } +#pragma pack(pop) +}SDCM_GROUP_ELEMENT, *PSDCM_GROUP_ELEMENT; + + +#endif diff --git a/SDCMCommonStructure.h.old b/SDCMCommonStructure.h.old new file mode 100644 index 0000000..4211b95 --- /dev/null +++ b/SDCMCommonStructure.h.old @@ -0,0 +1,657 @@ +#pragma once + +#ifndef SDCM_COMMON_STRUCTURE_H +#define SDCM_COMMON_STRUCTURE_H + +#include "dcmtk/ofstd/ofstring.h" +#include "dcmtk/dcmdata/dcdeftag.h" +#include "dcmtk/dcmdata/dctag.h" + +#include "csdcm.h" +#include "common.h" + +typedef enum _SDCM_SCU_STATE +{ + NONE = 0, + INITIALIZE_NETWORK, + CREATE_ASSOCIATION_PARAMETERS, + SET_AP_TITLES, + SET_TRANSPORT_LAYER_TYPE, + SET_PRESENTATION_ADDRESSES, + REQUEST_ASSOCIATION, + COUNT_ACCEPTED_PRESENTATION_CONTEXTS, + CHECK_USER_IDENTITY_RESPONSE, + RELEASE_ASSOCIATION, + DESTROY_ASSOCIATION, + DROP_NETWORK, + COMPLETED, + COMPLETE, + ADD_PRESENTATION_CONTEXT, + ABORT_ASSOCIATION, + REJECTED_ASSOCIATION, + UNKNOWN_ERROR_ASSOCIATION, + PEER_REQUESTED_RELEASE, + PEER_ABORTED_ASSOCIATION, + CONNECTION_ERROR, + CREATE_ASSOCIATION, + TRY_FINDSCU, + SET_APTITLES, + ADD_STORAGE_PRESENTATION_CONTEXTS, + TRY_STORE_SCU, + SDCM_ERROR=0x1000, +}SDCM_SCU_STATE; + +struct SDATA_SCHEDULED_DATA +{ +public: + OFString strScheduledStationAETitle; + OFString strScheduledProcedureStepStartDate; + OFString strScheduledProcedureStepStartTime; + OFString strScheduledPerformingPhysicianName; + OFString strScheduledStepDescription; + OFString strScheduledCodeValue; + + SDATA_SCHEDULED_DATA() + { + Init(); + } + + void Init() + { + strScheduledStationAETitle = ""; + strScheduledProcedureStepStartDate = ""; + strScheduledProcedureStepStartTime = ""; + strScheduledPerformingPhysicianName = ""; + strScheduledStepDescription = ""; + } + + void InsertData(DcmTag tag, OFString strData) + { + if (tag == DCM_ScheduledProcedureStepDescription) + { + SetData(strScheduledStepDescription, strData); + } + else if (tag == DCM_ScheduledStationAETitle) + { + SetData(strScheduledStationAETitle, strData); + } + else if (tag == DCM_PerformedProcedureStepStartDate)// || tag==DCM_ScheduledProcedureStepStartDate) + { + SetData(strScheduledProcedureStepStartDate, strData); + } + else if (tag == DCM_PerformedProcedureStepStartTime) + { + SetData(strScheduledProcedureStepStartTime, strData); + } + else if (tag == DCM_ScheduledPerformingPhysicianName) + { + SetData(strScheduledPerformingPhysicianName, strData); + } + else if (tag == DCM_ScheduledProcedureStepStartDate) + { + SetData(strScheduledProcedureStepStartDate, strData); + } + else if (tag == DCM_ScheduledProcedureStepStartTime) + { + SetData(strScheduledProcedureStepStartTime, strData); + } + else if (tag == DCM_CodeValue) + { + SetData(strScheduledCodeValue, strData); + } + } + + void SetData(OFString& strTagData, OFString strData) + { + if(strData.size()>0) + { + strTagData = strData; + } + } + +}; + +struct SDATA_PATIENT +{ +public: + OFString strPatientID; + OFString strPatientName; + OFString strPatientSex; + OFString strPatientAge; + + //Database New + OFString strPatientBirthDate; + OFString strPatientBirthTime; + OFString strPatientWeight; + OFString strPatientComments; + OFString strPatientLocation; //외래, 입원 구분 + + QString m_strTestString; + + SDATA_PATIENT() + { + Init(); + } + + void Init() + { + strPatientID = ""; + strPatientName = ""; + strPatientSex = ""; + strPatientBirthDate = ""; + strPatientBirthTime = ""; + strPatientWeight = ""; + strPatientComments = ""; + strPatientAge = ""; + strPatientLocation = ""; + } + + void InsertData(DcmTag tag, OFString strData) + { + if (tag == DCM_PatientID) + { + strPatientID = strData; + } + else if (tag == DCM_PatientName) + { + strPatientName = strData; + } + else if (tag == DCM_PatientAge) + { + strPatientAge = strData; + } + else if (tag == DCM_ScheduledProcedureStepLocation) + { + strPatientLocation = strData; + } + else if (tag == DCM_PatientSex) + { + OFString strTmp; + strTmp = strData.c_str(); + + if(strTmp.size()>0) + { + if (strTmp.at(0) == 'M') + { + strPatientSex = "M"; + } + else if (strTmp.at(0) == 'F') + { + strPatientSex = "F"; + } + else if (strTmp.at(0) == 'O') + { + strPatientSex = "O"; + } + else + { + strPatientSex = strData; + } + } + } + else if (tag == DCM_PatientBirthDate) + { + strPatientBirthDate = strData; + } + else if (tag == DCM_PatientBirthTime) + { + strPatientBirthTime = strData; + } + else if (tag == DCM_PatientWeight) + { + strPatientWeight = strData; + } + else if (tag == DCM_PatientComments) + { + strPatientComments = strData; + } + } +}; + +struct SDATA_STUDY +{ +public: + int nPatientIndex; + OFString strStudyInstanceUID; + OFString strStudyDate; + OFString strStudyTime; + + //Database New + OFString strAccessionNumber; + OFString strStudyDescription; + OFString strReferringPhysiciansName; + + SDATA_STUDY() + { + Init(); + } + + void Init() + { + strAccessionNumber = ""; + strStudyInstanceUID = ""; + strStudyDate = ""; + strStudyTime = ""; + strStudyDescription = ""; + strReferringPhysiciansName = ""; + nPatientIndex = 0; + } + + void InsertData(DcmTag tag, OFString strData) + { + if (tag == DCM_AccessionNumber) + { + strAccessionNumber = strData; + } + else if (tag == DCM_StudyInstanceUID) + { + strStudyInstanceUID = strData; + } + else if (tag == DCM_ScheduledProcedureStepDescription) + { + strStudyDescription = strData; + } + else if (tag == DCM_StudyDate) + { + strStudyDate = strData; + } + else if (tag == DCM_StudyTime) + { + strStudyTime = strData; + } + } + + + +}; + +struct SDATA_SERIES +{ +public: + int nStudyIndex; + int nSeriesNumber; + OFString strSeriesInstanceUID; + OFString strModality; + OFString strLaterality; + OFString strSeriesDate; + OFString strSeriesTime; + + //Database New + OFString strBodyPartExamined; + OFString strSeriesDescription; + OFString strOperatorsName; + + SDATA_SERIES() + { + Init(); + } + + void Init() + { + nStudyIndex = 0; + nSeriesNumber = 0; + strBodyPartExamined = ""; + strSeriesInstanceUID = ""; + strSeriesDescription = ""; + strModality = ""; + strOperatorsName = ""; + strLaterality = ""; + strSeriesDate = ""; + strSeriesTime = ""; + } + + void InsertData(DcmTag tag, OFString strData) + { + if (tag == DCM_RequestedProcedureDescription) + { + strSeriesDescription = strData; + } + else if (tag == DCM_BodyPartExamined) + { + strBodyPartExamined = strData; + } + else if (tag == DCM_Modality) + { + strModality = strData; + } + else if (tag == DCM_OperatorsName) + { + strOperatorsName = strData; + } + else if (tag == DCM_Laterality) + { + strLaterality = strData; + } + else if(tag == DCM_SeriesDate) + { + strSeriesDate = strData; + } + else if(tag == DCM_SeriesTime) + { + strSeriesTime = strData; + } + } +}; + +struct SDATA_IMAGE +{ +public: + int nSeriesIndex; + int nImageIndex; + int nImageNumber; + int bDelete; + int nFileType; + OFString strFileLocation; + OFString strInstanceUID; + + //Database New + OFString strImageType; + OFString strAcquisitionDate; + OFString strAcquisitionTime; + OFString strContentDate; // Pixel Creation Date + OFString strContentTime; // Pixel Creation Time + int nAcquisitionNumber; + int nInstanceNumber; + OFString strPatientOrientation; + OFString strImageLaterality; + OFString strImageComments; // Option + //(0088, 0200) Icon Image Sequence : usage or not + //Burned In Annotation + + SDATA_IMAGE() + { + Init(); + } + + void Init() + { + nImageIndex = 0; + nSeriesIndex = 0; + nImageNumber = 0; + bDelete = 0; + nFileType = 0; + strFileLocation = ""; + strInstanceUID = ""; + { + strImageType = "DERIVED"; + strImageType += char(0x5c); + strImageType += "PRIMARY"; + } + + strAcquisitionDate = ""; + strAcquisitionTime = ""; + strContentDate = ""; // Pixel Creation Date + strContentTime = ""; // Pixel Creation Time + nAcquisitionNumber = 0; + nInstanceNumber = 0; + strPatientOrientation = ""; + strImageLaterality = ""; + strImageComments = ""; // Option + //(0088, 0200) Icon Image Sequence : usage or not + //Burned In Annotation + } + + void InsertData(DcmTag tag, OFString strData) + { + if (tag == DCM_ImageLaterality) + { + strImageLaterality = strData; + } + else if (tag == DCM_ImageType) + { + strImageType = strData; + } + } +}; + +class WorklistResponseData +{ +public: + WorklistResponseData() + { + strRequestedProcedureID = ""; + strReferringPhysicianName = ""; + strRequestingPhysician = ""; + strRequestedProcedureDescription = ""; + strAdmissionID = ""; + strEnc = ""; + + m_Study.Init(); + m_Series.Init(); + m_Image.Init(); + m_Patient.Init(); + m_ScheduledData.Init(); + + strPatientOrientation = ""; + } + + + void InsertData(DcmTag tag, OFString strData) + { + //Uint16 nGroup = tag.getGroup(); + //Uint16 nElement = tag.getElement(); + + m_Study.InsertData(tag, strData); + m_Series.InsertData(tag, strData); + m_Image.InsertData(tag, strData); + m_Patient.InsertData(tag, strData); + m_ScheduledData.InsertData(tag, strData); + + if(tag==DCM_RequestedProcedureID) + { + + } + if (tag.getEVR() == EVR_DA) + { + OFString strTmp; + strTmp = strData.c_str(); + + /* + int nFind = strTmp.Find("-"); + if (nFind > 0) + { + strTmp = strTmp.Left(nFind); + } + */ + strData = strTmp; + } + + else if (tag == DCM_SpecificCharacterSet) + { + strEnc = strData; + } + else if (tag == DCM_RequestedProcedureDescription) + { + strRequestedProcedureDescription = strData; + } + else if (tag == DCM_RequestingPhysician) + { + strRequestingPhysician = strData; + } + + else if (tag == DCM_RequestedProcedureID) + { + strRequestedProcedureID = strData; + } + else if (tag == DCM_ReferringPhysicianName) + { + strReferringPhysicianName = strData; + } + else if (tag == DCM_AdmissionID) + { + strAdmissionID = strData; + } + else if (tag == DCM_PatientOrientation) + { + strPatientOrientation = strData; + } + } + + OFString strPatientOrientation; + OFString strRequestingPhysician; + OFString strRequestedProcedureID; + OFString strRequestedProcedureDescription; + OFString strReferringPhysicianName; + OFString strAdmissionID; + OFString strEnc; + + SDATA_PATIENT m_Patient; + SDATA_STUDY m_Study; + SDATA_SERIES m_Series; + SDATA_IMAGE m_Image; + SDATA_SCHEDULED_DATA m_ScheduledData; + + +}; + +struct MPPSRequestData +{ + MPPSRequestData() + { + m_strPatientID.clear(); + m_strPatientName.clear(); + m_strPatientBirthDate.clear(); + m_strPatientSex.clear(); + m_strAccessionNumber.clear(); + m_strReferencedSOPClassUID.clear(); + m_strReferencedSOPInstanceUID.clear(); + } + + MPPSRequestData(const WorklistResponseData& wr, OFString strReferencedSOPClassUID="") + { + m_strPatientID = wr.m_Patient.strPatientID; + m_strPatientName = wr.m_Patient.strPatientName; + m_strPatientBirthDate = wr.m_Patient.strPatientBirthDate; + m_strPatientSex = wr.m_Patient.strPatientSex; + m_strAccessionNumber = wr.m_Study.strAccessionNumber; + m_strReferencedSOPClassUID = strReferencedSOPClassUID; + m_strReferencedSOPInstanceUID = wr.m_Study.strStudyInstanceUID; + } + + OFString m_strPatientID; + OFString m_strPatientName; + OFString m_strPatientBirthDate; + OFString m_strPatientSex; + OFString m_strAccessionNumber; + OFString m_strReferencedSOPClassUID; + OFString m_strReferencedSOPInstanceUID; +}; + +typedef enum _STRENC_TYPE +{ + STRENC_ANSI = 0, + STRENC_KOR, + STRENC_UTF8 +}STRENC_TYPE; + +typedef struct _SDCM_AGE +{ + _SDCM_AGE() + { + m_nYears = -1; + m_nMonths = -1; + m_nDays = -1; + } + int m_nYears; + int m_nMonths; + int m_nDays; +}SDCM_AGE; + +typedef struct _SDCM_SERVER_INFO +{ + QString m_strServer_IP; + int m_nServer_Port; + QString m_strServer_AETitle; + QString m_strClient_AETitle; +}SDCM_SERVER_INFO; + +typedef struct _ImageFormat +{ + _ImageFormat() + { + m_pData = NULL; + m_nWidth = -1; + m_nHeight = -1; + } + + _ImageFormat(int** pData, int nWidth, int nHeight) + { + m_pData = new int*; + *m_pData = (int*)*pData; + m_pData = pData; + m_nWidth = nWidth; + m_nHeight = nHeight; + } + + _ImageFormat(unsigned char** pData, int nWidth, int nHeight) + { + m_pData = new int*; + *m_pData = (int*)*pData; + m_nWidth = nWidth; + m_nHeight = nHeight; + } + + _ImageFormat(void** pData, int nWidth, int nHeight) + { + m_pData = new int*; + *m_pData = (int*)*pData; + m_nWidth = nWidth; + m_nHeight = nHeight; + } + + ~_ImageFormat() + { + if (m_pData != NULL) + { + if (*m_pData != NULL) + { + delete[] * m_pData; + *m_pData = NULL; + } + + + // delete m_pData; + m_pData = NULL; + } + m_nWidth = 0; + m_nHeight = 0; + } + int** m_pData; + int m_nWidth; + int m_nHeight; +}ImageFormat, *PImageFormat; + + + +typedef struct _SDCM_GROUP_ELEMENT +{ +#pragma pack(push) +#pragma pack(2) + WORD m_wGroup; + WORD m_wElement; + + _SDCM_GROUP_ELEMENT() + { + m_wGroup = 0; + m_wElement = 0; + } + _SDCM_GROUP_ELEMENT(WORD wGroup, WORD wElement) + { + m_wGroup = wGroup; + m_wElement = wElement; + } + + BOOL operator==(const _SDCM_GROUP_ELEMENT& rhs) + { + BOOL bSame = FALSE; + if(m_wGroup==rhs.m_wGroup && m_wElement==rhs.m_wElement) + { + bSame = TRUE; + } + return bSame; + } +#pragma pack(pop) +}SDCM_GROUP_ELEMENT, *PSDCM_GROUP_ELEMENT; + + +#endif diff --git a/SDCMImage.cpp b/SDCMImage.cpp new file mode 100644 index 0000000..cb441df --- /dev/null +++ b/SDCMImage.cpp @@ -0,0 +1,1954 @@ +#include "SDCMImage.h" + +// #include "dcmtk/dcmdata/libi2d/i2d.h" +// #include "dcmtk/dcmdata/libi2d/i2dbmps.h" +// #include "dcmtk/dcmdata/libi2d/i2djpgs.h" +// #include "dcmtk/dcmdata/libi2d/i2dplsc.h" +// #include "dcmtk/dcmdata/libi2d/i2dplnsc.h" +// #include "dcmtk/dcmdata/libi2d/i2dplvlp.h" + +#include "charconvert.h" + +#ifdef UNICODE +#undef UNICODE +#undef _UNICODE +#define UNICODE_DEFINED +#endif + +#include "dcmtk/config/osconfig.h" +#include "dcmtk/dcmdata/dcfilefo.h" +#include "dcmtk/dcmdata/dcdeftag.h" +#include "dcmtk/dcmdata/dcuid.h" +#include "dcmtk/dcmdata/dcmetinf.h" +#include "dcmtk/dcmdata/dcdict.h" +#include "dcmtk/dcmdata/dcdicent.h" + +#include "dcmtk/dcmnet/diutil.h" + +#include "dcmtk/dcmdata/dcxfer.h" + +#include "dcmtk/dcmjpeg/djdecode.h" /* for JPEG decoders */ +#include "dcmtk/dcmjpeg/djencode.h" /* for JPEG encoders */ +#include "dcmtk/dcmjpls/djdecode.h" /* for JPEG-LS decoders */ +#include "dcmtk/dcmjpls/djencode.h" /* for JPEG-LS encoders */ +#include "dcmtk/dcmdata/dcrledrg.h" /* for RLE decoder */ +#include "dcmtk/dcmdata/dcrleerg.h" /* for RLE encoder */ +#include "dcmtk/dcmjpeg/dipijpeg.h" /* for dcmimage JPEG plugin */ +#include "dcmtk/dcmjpeg/djrplol.h" + + +#include "dcmtk/dcmimage/diregist.h" +#include "dcmtk/dcmdata/dcpixseq.h" +#include "dcmtk/dcmjpeg/djcparam.h" +#include "dcmtk/dcmjpeg/djeijg8.h" +#include "dcmtk/dcmjpeg/djcodece.h" +#include "dcmtk/dcmdata/dcchrstr.h" +#include "dcmtk/ofstd/ofchrenc.h" + +#include "dcmtk/dcmdata/dcvrui.h" +#include "dcmtk/dcmdata/dcvrsh.h" + +#include "dcmtk/dcmdata/dcostrmf.h" +#include "dcmtk/dcmdata/dcwcache.h" + +#include "mainwindow.h" + +//#include "SDCMWorklistDlg.h" + + +/* +#include "dcmtk/dcmimgle/dcmimage.h" + + +#include "dcmtk/dcmdata/dcpxitem.h" + +//#include "dcmtk/dcmjpeg/djencsv1.h" + + +*/ + +#ifdef UNICODE_DEFINED +#define UNICODE +#define _UNICODE +#undef UNICODE_DEFINED +#endif + + + +#define PRIVATE_CREATOR_NAME "VideoNetworkFileLink" + +#define PRIVATE_CREATOR_TAG 0x0029, 0x0010 +#define PRIVATE_VIDEO_FILE_LINK 0x0029, 0x1000 +#define PRIVATE_ELEMENT2_TAG 0x0029, 0x1010 +#define PRIVATE_ELEMENT3_TAG 0x0029, 0x1020 + +#define PRV_PrivateCreator DcmTag(PRIVATE_CREATOR_TAG) +#define PRV_VIDEO_FILE_LINK DcmTag(PRIVATE_VIDEO_FILE_LINK, PRIVATE_CREATOR_NAME) +#define PRV_PrivateElement2 DcmTag(PRIVATE_ELEMENT2_TAG, PRIVATE_CREATOR_NAME) +#define PRV_PrivateElement3 DcmTag(PRIVATE_ELEMENT3_TAG, PRIVATE_CREATOR_NAME) + + + +CSDCMImage::CSDCMImage(void) +{ + //register global JPEG decompression codecs + DJDecoderRegistration::registerCodecs(); + + // register global JPEG compression codecs + DJEncoderRegistration::registerCodecs(); + + // register JPEG-LS decompression codecs + DJLSDecoderRegistration::registerCodecs(); + + // register JPEG-LS compression codecs + DJLSEncoderRegistration::registerCodecs(); + + // register RLE compression codec + DcmRLEEncoderRegistration::registerCodecs(); + + // register RLE decompression codec + DcmRLEDecoderRegistration::registerCodecs(); + + m_nInputFileFormat = 1; + m_nOutputFileFormat = 1; + + m_pData = NULL; + + //m_TransferSyntaxOutput = EXS_JPEG2000;//EXS_LittleEndianExplicit; // EXS_JPEGProcess14SV1, EXS_JPEG2000 + //m_TransferSyntaxOutput = EXS_JPEGProcess14SV1;//EXS_LittleEndianExplicit; // EXS_JPEGProcess14SV1, EXS_JPEG2000 + + m_TransferSyntaxOutput = EXS_LittleEndianExplicit; + + + + m_strImplementationClassUID = "1.2.3.4.5.6.7.8.9.10"; + m_strImplementationVersionName = "SSD_Gateway_1_0"; +} + + +CSDCMImage::~CSDCMImage(void) +{ + SAFE_ARRAY_DELETE(m_pData); + + //cleanup global JPEG decompression codecs + DJDecoderRegistration::cleanup(); + + // cleanup global JPEG compression codecs + DJEncoderRegistration::cleanup(); + + // cleanup JPEG-LS decompression codecs + DJLSDecoderRegistration::cleanup(); + + // cleanup JPEG-LS compression codecs + DJLSEncoderRegistration::cleanup(); + + // cleanup RLE compression codec + DcmRLEEncoderRegistration::cleanup(); + + // cleanup RLE decompression codec + DcmRLEDecoderRegistration::cleanup(); +} + + + +void CSDCMImage::LoadImage(OFString strFilename, BOOL bGray) +{ + QImage image((QString)strFilename.c_str()); + int nWidth = 0; + int nHeight = 0; + + image = image.convertToFormat(QImage::Format_RGB888); + + nWidth = image.width(); + nHeight = image.height(); + + SAFE_ARRAY_DELETE(m_pData); + if (bGray == TRUE) + { + m_pData = new uint8_t[nWidth*nHeight]; + } + else + { + m_pData = new uint8_t[nWidth*nHeight * 3]; + } + + m_nWidth = nWidth; + m_nHeight = nHeight; + + uint8_t* pData = (uint8_t*)image.bits(); + memcpy(m_pData, pData, image.byteCount()); +} + +void CSDCMImage::LoadImage(QString strFilename, BOOL bGray) +{ + QImage image((QString)strFilename); + int nWidth = 0; + int nHeight = 0; + + image = image.convertToFormat(QImage::Format_RGB888); + + nWidth = image.width(); + nHeight = image.height(); + + SAFE_ARRAY_DELETE(m_pData); + if (bGray == TRUE) + { + m_pData = new uint8_t[nWidth*nHeight]; + } + else + { + m_pData = new uint8_t[nWidth*nHeight * 3]; + } + + m_nWidth = nWidth; + m_nHeight = nHeight; + + uint8_t* pData = (uint8_t*)image.bits(); + memcpy(m_pData, pData, image.byteCount()); +} + +int CSDCMImage::WriteDCM(OFString strInputImageFile, OFString strDcmFilename, WorklistResponseData* pWorklistData, int nSeriesNumber, int nImageNumber, BOOL bChangeUID, OFString strNewStudyInstanceUID, BOOL bUsePDFCompress) +{ + return WriteDCM(strInputImageFile, strDcmFilename, pWorklistData, nSeriesNumber, nImageNumber, bChangeUID, strNewStudyInstanceUID); +} + +int CSDCMImage::WriteDCM(OFString strInputImageFile, OFString strDcmFilename, OFString strContentDate, OFString strContentTime, WorklistResponseData* pWorklistData, int nSeriesNumber, int nImageNumber, BOOL bChangeUID, OFString strNewStudyInstanceUID) +{ + int nRet = 0; + DcmFileFormat cDcmFileFormat; + E_TransferSyntax opt_ixfer = EXS_Unknown; + E_TransferSyntax opt_oxfer = EXS_LittleEndianExplicit; + const Uint32 DCM_MaxReadLength = 4096; + E_FileReadMode opt_readMode = ERM_autoDetect; + + OFString ofFilename; + + DcmStack cDcmStack; + DcmVR vr; + OFCondition error; + DcmDataset* pDcmDataset = NULL; + DcmElement* pElement = NULL; + OFString ofData; + + OFString strModality = pWorklistData->m_Series.strModality.toStdString().c_str(); + + if(strInputImageFile.length()>0) + { + BOOL bGray = FALSE; + + if(strModality=="CR") + { + bGray = TRUE; + } + bGray = FALSE; + m_nWidth = 0; + m_nHeight = 0; + LoadImage(strInputImageFile, bGray); + if(m_nWidth==0 || m_nHeight==0) + { + //WRITE_FUNCTION_LOG_PARAM("Error Load Image\n"); + return -1; + } + } + + + + //DeleteFile(strDcmFilename); + + + + ofFilename = (OFString)strDcmFilename; + error = cDcmFileFormat.loadFile(ofFilename, opt_ixfer, EGL_noChange, DCM_MaxReadLength, opt_readMode); + pDcmDataset = cDcmFileFormat.getDataset(); + + pDcmDataset->loadAllDataIntoMemory(); + + cDcmStack.clear(); + pDcmDataset->search(DCM_ImageType, cDcmStack); + + + + + WriteDeviceInfo(pDcmDataset); + WriteImageType(pDcmDataset, pWorklistData->m_Image.strImageType); + WriteLaterality(pDcmDataset, pWorklistData->m_Series.strLaterality, pWorklistData->m_Image.strImageLaterality); + WriteDateTime(pDcmDataset, pWorklistData); + + WritePatientInfo(pDcmDataset, pWorklistData); + + WriteScheduledProcedureStep(pDcmDataset, pWorklistData); + + + WriteImageInfo(pDcmDataset, strContentDate, strContentTime, pWorklistData, nImageNumber); + + + OFString strPixelSpacing = "0.01296529\\0.02018628"; + + //PutAndInsertString(pDcmDataset, DCM_PixelSpacing, strPixelSpacing);//"0.01296529\\0.02018628"); + + + //PutAndInsertString(pDcmDataset, DCM_PatientOrientation, "L""\0x5f""F"); + + + if(strModality=="OP") + { + DcmItem* pSubItem = NULL; + if (pDcmDataset->findOrCreateSequenceItem(DCM_AcquisitionDeviceTypeCodeSequence, pSubItem, -2 /*append*/).good() == true) + { + pSubItem->putAndInsertString(DCM_CodeValue, "LSO"); + pSubItem->putAndInsertString(DCM_CodingSchemeDesignator, "99CZM_ACQDEVTYPE"); + pSubItem->putAndInsertString(DCM_CodingSchemeVersion, "20120703"); + pSubItem->putAndInsertString(DCM_CodeMeaning, "Line Scanning Ophthalmoscope"); + } + + pSubItem = NULL; + if (pDcmDataset->findOrCreateSequenceItem(DCM_LensesCodeSequence, pSubItem, -2 /*append*/).good() == true) + { + pSubItem->putAndInsertString(DCM_CodeValue, "R-10219"); + pSubItem->putAndInsertString(DCM_CodingSchemeDesignator, "SRT"); + pSubItem->putAndInsertString(DCM_CodeMeaning, "Indirect ophthalmoscopy lens"); + } + + pSubItem = NULL; + if (pDcmDataset->findOrCreateSequenceItem(DCM_ChannelDescriptionCodeSequence, pSubItem, -2 /*append*/).good() == true) + { + pSubItem->putAndInsertString(DCM_CodeValue, "R-102BE"); + pSubItem->putAndInsertString(DCM_CodingSchemeDesignator, "SRT"); + pSubItem->putAndInsertString(DCM_CodeMeaning, "Infrared"); + } + + PutAndInsertString(pDcmDataset, DCM_BurnedInAnnotation, "NO"); + } + + + + + if(strInputImageFile.length()>0) + { + DJ_RPLossless params; // codec parameters, we use the defaults + opt_oxfer = m_TransferSyntaxOutput; + pDcmDataset->chooseRepresentation(opt_oxfer, ¶ms); + + + if (pDcmDataset->canWriteXfer(opt_oxfer) == OFTrue) + { + pDcmDataset->findAndGetElement(DCM_MediaStorageSOPClassUID, pElement); + + if (pElement != NULL) + { + pElement->getOFStringArray(ofData); + } + + + DcmMetaInfo* pMetaInfo = cDcmFileFormat.getMetaInfo(); + + delete pMetaInfo->remove(DCM_MediaStorageSOPClassUID); + delete pMetaInfo->remove(DCM_MediaStorageSOPInstanceUID); + //delete pMetaInfo->remove(DCM_ImplementationClassUID); + //delete pMetaInfo->remove(DCM_ImplementationVersionName); + + /* + DcmElement *elem=NULL; + + DcmTag implementationClassUID(DCM_ImplementationClassUID); + DcmTag ImplementationVersionName(DCM_ImplementationVersionName); + + elem = new DcmUniqueIdentifier(implementationClassUID); + pMetaInfo->insert(elem, OFTrue); + const char *uid = "1.2.276.0.7230010.3.0.1.1.1"; + ((DcmUniqueIdentifier*)elem)->putString(uid); + + elem = new DcmShortString(ImplementationVersionName); + pMetaInfo->insert(elem, OFTrue); + const char *versionName = "test1.2.3.4"; + ((DcmShortString*)elem)->putString(versionName); + */ + + + + + + //PutAndInsertString(pDcmDataset, DCM_ImplementationClassUID, "1.2.3.4"); + //PutAndInsertString(pDcmDataset, DCM_ImplementationVersionName, "SDCM1.0"); + + + if(m_TransferSyntaxOutput==EXS_JPEG2000) + { + PutAndInsertString(pDcmDataset, DCM_LossyImageCompressionMethod, "ISO_15444_1"); + PutAndInsertString(pDcmDataset, DCM_PhotometricInterpretation, "RGB"); + } + + pMetaInfo->findAndGetElement(DCM_MediaStorageSOPClassUID, pElement); + pMetaInfo->findAndDeleteElement(DCM_MediaStorageSOPClassUID); + pMetaInfo->findAndGetElement(DCM_MediaStorageSOPClassUID, pElement); + + WriteStudyInfo(pDcmDataset, pWorklistData, nSeriesNumber, nImageNumber, bChangeUID, strNewStudyInstanceUID); + CharacterSetConversion(pDcmDataset); + //error = cDcmFileFormat.saveFile(ofFilename, opt_oxfer); + { + /* + virtual OFCondition saveFile(const OFFilename &fileName, + const E_TransferSyntax writeXfer = EXS_Unknown, + const E_EncodingType encodingType = EET_UndefinedLength, + const E_GrpLenEncoding groupLength = EGL_recalcGL, + const E_PaddingEncoding padEncoding = EPD_noChange, + const Uint32 padLength = 0, + const Uint32 subPadLength = 0, + const E_FileWriteMode writeMode = EWM_createNewMeta); + */ + + const E_TransferSyntax writeXfer = opt_oxfer; + const E_EncodingType encodingType = EET_UndefinedLength; + { + DcmWriteCache wcache; + + /* open file for output */ + FILE* pFile = fopen(ofFilename.c_str(), "wb"); + DcmOutputFileStream* fileStream = new DcmOutputFileStream(pFile); + //DcmOutputFileStream fileStream(ofFilename); + + /* check stream status */ + error = fileStream->status(); + if (error.good()) + { + /* write data to file */ + cDcmFileFormat.transferInit(); + error = cDcmFileFormat.write(*fileStream, writeXfer, encodingType, &wcache);//, groupLength, + //padEncoding, padLength, subPadLength, 0 /*instanceLength*/, writeMode); + cDcmFileFormat.transferEnd(); + + fileStream->flush(); + + + } + + //fsync(pFile); + fflush(pFile); + //fclose(pFile); + + if(fileStream!=NULL) + { + delete fileStream; + fileStream = NULL; + } + } + + } + + + + + + } + } + + if(error.good()==OFFalse) + { + nRet = -1; + } + + return nRet; +} + + +int CSDCMImage::WriteDCM(QString strInputImageFile, QString strDcmFilename, QString strContentDate, QString strContentTime, WorklistResponseData* pWorklistData, int nSeriesNumber, int nImageNumber, BOOL bChangeUID, QString strNewStudyInstanceUID) +{ + int nRet = 0; + DcmFileFormat cDcmFileFormat; + E_TransferSyntax opt_ixfer = EXS_Unknown; + E_TransferSyntax opt_oxfer = EXS_LittleEndianExplicit; + const Uint32 DCM_MaxReadLength = 4096; + E_FileReadMode opt_readMode = ERM_autoDetect; + + OFString ofFilename; + OFString ofData; + + DcmStack cDcmStack; + DcmVR vr; + OFCondition error; + DcmDataset* pDcmDataset = NULL; + DcmElement* pElement = NULL; + + + QString strModality = pWorklistData->m_Series.strModality; + + if(strInputImageFile.size()>0) + { + BOOL bGray = FALSE; + + if(strModality=="CR") + { + bGray = TRUE; + } + bGray = FALSE; + m_nWidth = 0; + m_nHeight = 0; + LoadImage(strInputImageFile, bGray); + if(m_nWidth==0 || m_nHeight==0) + { + //WRITE_FUNCTION_LOG_PARAM("Error Load Image\n"); + return -1; + } + } + + + + //DeleteFile(strDcmFilename); + + + + ofFilename = strDcmFilename.toStdString().c_str(); + error = cDcmFileFormat.loadFile(ofFilename, opt_ixfer, EGL_noChange, DCM_MaxReadLength, opt_readMode); + pDcmDataset = cDcmFileFormat.getDataset(); + + pDcmDataset->loadAllDataIntoMemory(); + + cDcmStack.clear(); + pDcmDataset->search(DCM_ImageType, cDcmStack); + + + + + WriteDeviceInfo(pDcmDataset); + WriteImageType(pDcmDataset, pWorklistData->m_Image.strImageType); + WriteLaterality(pDcmDataset, pWorklistData->m_Series.strLaterality, pWorklistData->m_Image.strImageLaterality); + WriteDateTime(pDcmDataset, pWorklistData); + + WritePatientInfo(pDcmDataset, pWorklistData); + + WriteScheduledProcedureStep(pDcmDataset, pWorklistData); + + + WriteImageInfo(pDcmDataset, strContentDate, strContentTime, pWorklistData, nImageNumber); + + + OFString strPixelSpacing = "0.01296529\\0.02018628"; + + //PutAndInsertString(pDcmDataset, DCM_PixelSpacing, strPixelSpacing);//"0.01296529\\0.02018628"); + + + //PutAndInsertString(pDcmDataset, DCM_PatientOrientation, "L""\0x5f""F"); + + + if(strModality=="OP") + { + DcmItem* pSubItem = NULL; + if (pDcmDataset->findOrCreateSequenceItem(DCM_AcquisitionDeviceTypeCodeSequence, pSubItem, -2 /*append*/).good() == true) + { + pSubItem->putAndInsertString(DCM_CodeValue, "LSO"); + pSubItem->putAndInsertString(DCM_CodingSchemeDesignator, "99CZM_ACQDEVTYPE"); + pSubItem->putAndInsertString(DCM_CodingSchemeVersion, "20120703"); + pSubItem->putAndInsertString(DCM_CodeMeaning, "Line Scanning Ophthalmoscope"); + } + + pSubItem = NULL; + if (pDcmDataset->findOrCreateSequenceItem(DCM_LensesCodeSequence, pSubItem, -2 /*append*/).good() == true) + { + pSubItem->putAndInsertString(DCM_CodeValue, "R-10219"); + pSubItem->putAndInsertString(DCM_CodingSchemeDesignator, "SRT"); + pSubItem->putAndInsertString(DCM_CodeMeaning, "Indirect ophthalmoscopy lens"); + } + + pSubItem = NULL; + if (pDcmDataset->findOrCreateSequenceItem(DCM_ChannelDescriptionCodeSequence, pSubItem, -2 /*append*/).good() == true) + { + pSubItem->putAndInsertString(DCM_CodeValue, "R-102BE"); + pSubItem->putAndInsertString(DCM_CodingSchemeDesignator, "SRT"); + pSubItem->putAndInsertString(DCM_CodeMeaning, "Infrared"); + } + + PutAndInsertString(pDcmDataset, DCM_BurnedInAnnotation, "NO"); + } + + + + + if(strInputImageFile.size()>0) + { + DJ_RPLossless params; // codec parameters, we use the defaults + opt_oxfer = m_TransferSyntaxOutput; + pDcmDataset->chooseRepresentation(opt_oxfer, ¶ms); + + + if (pDcmDataset->canWriteXfer(opt_oxfer) == OFTrue) + { + pDcmDataset->findAndGetElement(DCM_MediaStorageSOPClassUID, pElement); + + if (pElement != NULL) + { + pElement->getOFStringArray(ofData); + } + + + DcmMetaInfo* pMetaInfo = cDcmFileFormat.getMetaInfo(); + + delete pMetaInfo->remove(DCM_MediaStorageSOPClassUID); + delete pMetaInfo->remove(DCM_MediaStorageSOPInstanceUID); + //delete pMetaInfo->remove(DCM_ImplementationClassUID); + //delete pMetaInfo->remove(DCM_ImplementationVersionName); + + /* + DcmElement *elem=NULL; + + DcmTag implementationClassUID(DCM_ImplementationClassUID); + DcmTag ImplementationVersionName(DCM_ImplementationVersionName); + + elem = new DcmUniqueIdentifier(implementationClassUID); + pMetaInfo->insert(elem, OFTrue); + const char *uid = "1.2.276.0.7230010.3.0.1.1.1"; + ((DcmUniqueIdentifier*)elem)->putString(uid); + + elem = new DcmShortString(ImplementationVersionName); + pMetaInfo->insert(elem, OFTrue); + const char *versionName = "test1.2.3.4"; + ((DcmShortString*)elem)->putString(versionName); + */ + + + + + + //PutAndInsertString(pDcmDataset, DCM_ImplementationClassUID, "1.2.3.4"); + //PutAndInsertString(pDcmDataset, DCM_ImplementationVersionName, "SDCM1.0"); + + + if(m_TransferSyntaxOutput==EXS_JPEG2000) + { + PutAndInsertString(pDcmDataset, DCM_LossyImageCompressionMethod, "ISO_15444_1"); + PutAndInsertString(pDcmDataset, DCM_PhotometricInterpretation, "RGB"); + } + + pMetaInfo->findAndGetElement(DCM_MediaStorageSOPClassUID, pElement); + pMetaInfo->findAndDeleteElement(DCM_MediaStorageSOPClassUID); + pMetaInfo->findAndGetElement(DCM_MediaStorageSOPClassUID, pElement); + + WriteStudyInfo(pDcmDataset, pWorklistData, nSeriesNumber, nImageNumber, bChangeUID, strNewStudyInstanceUID); + CharacterSetConversion(pDcmDataset); + //error = cDcmFileFormat.saveFile(ofFilename, opt_oxfer); + { + /* + virtual OFCondition saveFile(const OFFilename &fileName, + const E_TransferSyntax writeXfer = EXS_Unknown, + const E_EncodingType encodingType = EET_UndefinedLength, + const E_GrpLenEncoding groupLength = EGL_recalcGL, + const E_PaddingEncoding padEncoding = EPD_noChange, + const Uint32 padLength = 0, + const Uint32 subPadLength = 0, + const E_FileWriteMode writeMode = EWM_createNewMeta); + */ + + const E_TransferSyntax writeXfer = opt_oxfer; + const E_EncodingType encodingType = EET_UndefinedLength; + { + DcmWriteCache wcache; + + /* open file for output */ + FILE* pFile = fopen(ofFilename.c_str(), "wb"); + DcmOutputFileStream* fileStream = new DcmOutputFileStream(pFile); + //DcmOutputFileStream fileStream(ofFilename); + + /* check stream status */ + error = fileStream->status(); + if (error.good()) + { + /* write data to file */ + cDcmFileFormat.transferInit(); + error = cDcmFileFormat.write(*fileStream, writeXfer, encodingType, &wcache);//, groupLength, + //padEncoding, padLength, subPadLength, 0 /*instanceLength*/, writeMode); + cDcmFileFormat.transferEnd(); + + fileStream->flush(); + + + } + + //fsync(pFile); + fflush(pFile); + //fclose(pFile); + + if(fileStream!=NULL) + { + delete fileStream; + fileStream = NULL; + } + } + + } + + + + + + } + } + + if(error.good()==OFFalse) + { + nRet = -1; + } + + return nRet; +} + + +int CSDCMImage::WriteDCM(OFString strInputImageFile, OFString strDcmFilename, WorklistResponseData* pWorklistData, int nSeriesNumber, int nImageNumber, BOOL bChangeUID, OFString strNewStudyInstanceUID) +{ + OFString strCreationDate; + OFString strCreationTime; + + strCreationDate = pWorklistData->m_Image.strContentDate.toStdString().c_str(); + strCreationTime = pWorklistData->m_Image.strContentTime.toStdString().c_str(); + + return WriteDCM(strInputImageFile, strDcmFilename, strCreationDate, strCreationTime, pWorklistData, nSeriesNumber, nImageNumber, bChangeUID, strNewStudyInstanceUID); +} + +int CSDCMImage::WriteDCM(QString strInputImageFile, QString strDcmFilename, WorklistResponseData* pWorklistData, int nSeriesNumber, int nImageNumber, BOOL bChangeUID, QString strNewStudyInstanceUID) +{ + QString strCreationDate; + QString strCreationTime; + + strCreationDate = pWorklistData->m_Image.strContentDate; + strCreationTime = pWorklistData->m_Image.strContentTime; + + return WriteDCM(strInputImageFile, strDcmFilename, strCreationDate, strCreationTime, pWorklistData, nSeriesNumber, nImageNumber, bChangeUID, strNewStudyInstanceUID); +} + +void CSDCMImage::RegisterPrivateTags() +{ + DcmDataDictionary &dict = dcmDataDict.wrlock(); + dict.addEntry(new DcmDictEntry(PRIVATE_VIDEO_FILE_LINK, EVR_LO, "PrivateText", 1, 1, "private", OFTrue, PRIVATE_CREATOR_NAME)); + dict.addEntry(new DcmDictEntry(PRIVATE_ELEMENT2_TAG, EVR_US, "PrivateInteger", 1, 1, "private", OFTrue, PRIVATE_CREATOR_NAME)); + dict.addEntry(new DcmDictEntry(PRIVATE_ELEMENT3_TAG, EVR_OB, "PrivateBlob", 1, 1, "private", OFTrue, PRIVATE_CREATOR_NAME)); + //dcmDataDict.unlock(); + dcmDataDict.wrunlock(); +} + +void CSDCMImage::AddPrivateElements(DcmItem &item, OFString strFileLocation) +{ + RegisterPrivateTags(); + if (!item.tagExists(PRV_PrivateCreator)) + { + item.putAndInsertString(PRV_PrivateCreator, PRIVATE_CREATOR_NAME); + item.putAndInsertOFStringArray(PRV_VIDEO_FILE_LINK, strFileLocation); + //item.putAndInsertUint16(PRV_PrivateElement2, 12345); + //item.putAndInsertUint8Array(PRV_PrivateElement3, NULL /*data*/, 0 /*length*/); + } +} + +int CSDCMImage::LoadDCMFile(OFString strFilename) +{ + int nRet = 0; + DcmFileFormat cDcmFileFormat; + OFCondition error; + OFString ofFilename = (OFString)strFilename; + E_TransferSyntax opt_ixfer = EXS_Unknown; + E_FileReadMode opt_readMode = ERM_autoDetect; + DcmDataset* pDcmDataset = NULL; +// DcmElement* pElement = NULL; + + //RegisterPrivateTags(); + + error = cDcmFileFormat.loadFile(ofFilename, opt_ixfer, EGL_noChange, DCM_MaxReadLength, opt_readMode); + + pDcmDataset = cDcmFileFormat.getDataset(); + + + pDcmDataset->loadAllDataIntoMemory(); + + OFString strTransferSyntax; + pDcmDataset->findAndGetOFString(DCM_TransferSyntaxUID, strTransferSyntax); + + OFString val; +// int nSamplePerPixel = 1; + pDcmDataset->findAndGetOFString(PRV_PrivateCreator, val); + pDcmDataset->findAndGetOFString(PRV_VIDEO_FILE_LINK, val); + + Uint16 nRows = 0; + Uint16 nColumns = 0; + pDcmDataset->findAndGetUint16(DCM_Rows, nRows); + pDcmDataset->findAndGetUint16(DCM_Columns, nColumns); + + if(nRows==0 || nColumns==0) + { + return -1; + } + + unsigned long nImagePixelCount = 0; + //Uint8* pTestPixelData = new Uint8[nRows*nColumns*4]; + const Uint8* pTestPixelData = NULL; + + pDcmDataset->findAndGetUint8Array(DCM_PixelData, pTestPixelData, &nImagePixelCount); + if(pTestPixelData==NULL) + { + return -2; + } + if(nImagePixelCount==0) + { + return -3; + } + + return nRet; + +} + + + + +SDCM_AGE CSDCMImage::ComputeAge(QString strBirthdate) +{ + SDCM_AGE nAge; + + if(strBirthdate.length()==0) + { + return nAge; + } + + /* + int nYears = 0; + int nMonths = 0; + int nDays = 0; + + COleDateTime dt = COleDateTime::GetCurrentTime(); + + int nBirthYear = atoi(strBirthdate.Mid(0, 4)); + int nBirthMonth = atoi(strBirthdate.Mid(4, 2)); + int nBirthDay = atoi(strBirthdate.Mid(6, 2)); + + int nCurrentYear = dt.GetYear(); + int nCurrentMonth = dt.GetMonth(); + int nCurrentDay = dt.GetDay(); + + COleDateTime dtBirthDate(nBirthYear, nBirthMonth, nBirthDay, 0, 0, 0); + + COleDateTimeSpan dtSpan = dt - dtBirthDate; + nDays = dtSpan.GetDays(); + + if(nDays<0) + { + return nAge; + } + + nYears = nCurrentYear - nBirthYear; + nMonths = nCurrentMonth - nBirthMonth; + + nMonths = (nYears*12)+nMonths; + nYears = nMonths%12; + + nAge.m_nYears = nYears; + nAge.m_nMonths = nMonths; + nAge.m_nDays = nDays; + */ + + /* + nYears = nCurrentYear - nBirthYear; + if(nYears>0) + { + BOOL bDecrement = FALSE; + if(nBirthMonth>nCurrentMonth) + { + bDecrement = TRUE; + } + else if(nBirthMonth==nCurrentMonth) + { + if(nBirthDay>=nCurrentDay) + { + bDecrement = TRUE; + + } + } + + if(bDecrement==TRUE) + { + nYears--; + } + + } + + if(nYears<0) + { + nYears = 0; + } + + nAge.m_nYears = nYears; + */ + + return nAge; + +} + +OFCondition CSDCMImage::PutAndInsertString(DcmDataset* pDcmDataset, const DcmTag &tag, const char *value) +{ + OFCondition cond; + + if(strlen(value)>0) + { + cond = pDcmDataset->putAndInsertString(tag, value); + } + + return cond; +} + +OFCondition CSDCMImage::PutAndInsertString(DcmDataset* pDcmDataset, const DcmTag &tag, QString strValue) +{ + OFCondition cond; + + if(strValue.size()>0) + { + cond = pDcmDataset->putAndInsertString(tag, strValue.toStdString().c_str()); + } + + return cond; +} + +OFCondition CSDCMImage::PutAndInsertString(DcmDataset* pDcmDataset, const DcmTag &tag, OFString strValue) +{ + OFCondition cond; + + cond = PutAndInsertString(pDcmDataset, tag, strValue.c_str()); + + return cond; +} + +void CSDCMImage::InsertCreationDate(DcmDataset* pDcmDataset) +{ + QString strDate; + strDate = GetCurrentDate(); + + PutAndInsertString(pDcmDataset, DCM_InstanceCreationDate, strDate); +} + +void CSDCMImage::InsertCreationTime(DcmDataset* pDcmDataset) +{ + QString strTime; + strTime = GetCurrentTime(); + + PutAndInsertString(pDcmDataset, DCM_InstanceCreationTime, strTime); +} + +QString CSDCMImage::GetCurrentDate() +{ + QDate nDate = QDate::currentDate(); + QString strCreationDateString = QString("%1%2%3").arg(nDate.year(), 4, 10, QChar('0')).arg(nDate.month(), 2, 10, QChar('0')).arg(nDate.day(), 2, 10, QChar('0')); + return strCreationDateString; +} + +QString CSDCMImage::GetCurrentTime() +{ + QTime nTime = QTime::currentTime(); + QString strCreationTimeString = QString("%1%2%3").arg(nTime.hour(), 2, 10, QChar('0')).arg(nTime.minute(), 2, 10, QChar('0')).arg(nTime.second(), 2, 10, QChar('0')); + return strCreationTimeString; +} + +void CSDCMImage::WritePatientInfo(DcmDataset* pDcmDataset, WorklistResponseData* pWorklistData) +{ + QString strPatientName; + strPatientName = pWorklistData->m_Patient.strPatientName; + + PutAndInsertString(pDcmDataset, DCM_PatientName, strPatientName); + + PutAndInsertString(pDcmDataset, DCM_PatientID, pWorklistData->m_Patient.strPatientID); + PutAndInsertString(pDcmDataset, DCM_PatientSex, pWorklistData->m_Patient.strPatientSex); + + if(pWorklistData->m_Patient.strPatientBirthDate.isEmpty()==false) + { + PutAndInsertString(pDcmDataset, DCM_PatientBirthDate, pWorklistData->m_Patient.strPatientBirthDate); + + + SDCM_AGE nAge; + nAge = ComputeAge(pWorklistData->m_Patient.strPatientBirthDate); + if(nAge.m_nYears>0) + { + QString strAge; + strAge = QString("%1Y").arg(QString::number(nAge.m_nYears)); + PutAndInsertString(pDcmDataset, DCM_PatientAge, (OFString)strAge.toStdString().c_str()); + } + } + + PutAndInsertString(pDcmDataset, DCM_PatientWeight, pWorklistData->m_Patient.strPatientWeight); + + PutAndInsertString(pDcmDataset, DCM_PatientComments, pWorklistData->m_Patient.strPatientComments); + + + //BodyPartExamined + PutAndInsertString(pDcmDataset, DCM_BodyPartExamined, pWorklistData->m_Series.strBodyPartExamined); + + + //PatientOrientation + PutAndInsertString(pDcmDataset, DCM_PatientOrientation, pWorklistData->strPatientOrientation); + + //Patient Location + PutAndInsertString(pDcmDataset, DCM_CurrentPatientLocation, pWorklistData->m_Patient.strPatientLocation); +} + +void CSDCMImage::WriteScheduledProcedureStep(DcmDataset* pDcmDataset, WorklistResponseData* pWorklistData) +{ + +} + +OFString CSDCMImage::CreateStudyInstanceUID() +{ + OFString strStudyInstanceUID; + OFString strTmp; + int i=0; + + /* + + COleDateTime dt = COleDateTime::GetCurrentTime(); + strTmp.Format(".%04d%02d%02d.%02d%02d%02d.", dt.GetYear(), dt.GetMonth(), dt.GetDay(), dt.GetHour(),dt.GetMinute(), dt.GetSecond()); + + strStudyInstanceUID = CSDCM::m_strManufacturerUID; + strStudyInstanceUID += strTmp; + + strTmp = CSDCM::m_strInstitutionName; + for(i=0 ; im_ScheduledData.strScheduledCodeValue.toStdString().c_str(); + + + strPerformedProcedureStepStartDate = pWorklistData->m_ScheduledData.strScheduledProcedureStepStartDate.toStdString().c_str(); + strPerformedProcedureStepStartTime = pWorklistData->m_ScheduledData.strScheduledProcedureStepStartTime.toStdString().c_str(); + strPerformedProcedureStepDescription = pWorklistData->m_ScheduledData.strScheduledStepDescription.toStdString().c_str(); + + strOperatorsName = pWorklistData->m_Series.strOperatorsName.toStdString().c_str(); + + strModality = pWorklistData->m_Series.strModality.toStdString().c_str(); + + if(strModality.size()==0) + { + CommonData* pCommonData = MainWindow::GetCommonData(); + QString strDefualtModality = pCommonData->GetModality(); + strModality = strDefualtModality.toStdString().c_str(); + } + + //strSeriesNumber.Format("%d", nSeriesNumber); + //strImageNumber.Format("%d", nImageNumber); + strSeriesNumber = QString::number(nSeriesNumber).toStdString().c_str(); + strImageNumber = QString::number(nImageNumber).toStdString().c_str(); + + if(nImageNumber==0) + { + + } + + if(pWorklistData->m_Study.strStudyInstanceUID.size()==0) + { + + } + + strSeriesInstanceUID = pWorklistData->m_Series.strSeriesInstanceUID.toStdString().c_str(); + strImageInstanceUID = pWorklistData->m_Image.strInstanceUID.toStdString().c_str(); + + if(pWorklistData->m_Study.strStudyInstanceUID.size()>0) + { + strStudyInstanceUID = pWorklistData->m_Study.strStudyInstanceUID.toStdString().c_str(); + } + else + { + strStudyInstanceUID = "1.2.276.0.75.2.2.42.896740696295.1.2.3"; + } + + + //if(strSeriesInstanceUID.length()==0) + { + strSeriesInstanceUID = strStudyInstanceUID + "." + strSeriesNumber; + } + + if(strImageInstanceUID.length()==0) + { + strImageInstanceUID = strSeriesInstanceUID + "." + strImageNumber; + } + + + + if(bChangeUID==TRUE) + { + //strStudyInstanceUID = CreateStudyInstanceUID(); + if(strNewStudyInstanceUID.length()>0) + { + strStudyInstanceUID = strNewStudyInstanceUID; + } + } + + //strStudyInstanceUID = "1.2.276.0.75.2.5.30.25.20170601.2343000.123.4"; + + //strSeriesInstanceUID = strStudyInstanceUID + "." + strSeriesNumber; + //strImageInstanceUID = strSeriesInstanceUID + "." + strImageNumber; + + + strAccessionNumber = pWorklistData->m_Study.strAccessionNumber.toStdString().c_str(); + if (strAccessionNumber.length() == 0) + { + strAccessionNumber = "1"; + } + + strReferringPhysicianName = pWorklistData->strReferringPhysicianName.toStdString().c_str(); + + if (strModality == "SC") + { + strSOPClassUID = UID_SecondaryCaptureImageStorage; + //strMediaStorageSOPClassUID = UID_SecondaryCaptureImageStorage; + + strStudyDescription = "SC Study Description"; + strSeriesDescription = "SC Series Description"; + } + else if (strModality == "OT") + { + strSOPClassUID = UID_SecondaryCaptureImageStorage; + //strMediaStorageSOPClassUID = UID_SecondaryCaptureImageStorage; + + strStudyDescription = "OT Study Description"; + strSeriesDescription = "OT Series Description"; + } + else if (strModality == "ES") + { + strSOPClassUID = UID_VLEndoscopicImageStorage; + strMediaStorageSOPClassUID = UID_VLEndoscopicImageStorage; + + strStudyDescription = "ES Study Description"; + strSeriesDescription = "ES Series Description"; + } + else if (strModality == "CR") + { + strSOPClassUID = UID_ComputedRadiographyImageStorage; + strMediaStorageSOPClassUID = UID_ComputedRadiographyImageStorage; + + strStudyDescription = "CR Study Description"; + strSeriesDescription = "CR Series Description"; + } + else if (strModality == "DR") + { + strSOPClassUID = UID_DigitalXRayImageStorageForPresentation; + strMediaStorageSOPClassUID = UID_DigitalXRayImageStorageForPresentation; + + strStudyDescription = "DR Study Description"; + strSeriesDescription = "DR Series Description"; + } + else if (strModality == "BMD") + { + strSOPClassUID = UID_DigitalXRayImageStorageForPresentation; + strMediaStorageSOPClassUID = UID_DigitalXRayImageStorageForPresentation; + + strStudyDescription = "BMD Study Description"; + strSeriesDescription = "BMD Series Description"; + } + else if (strModality == "OP") + { + strSOPClassUID = UID_OphthalmicPhotography8BitImageStorage; + //strMediaStorageSOPClassUID = UID_OphthalmicPhotography8BitImageStorage; + strStudyDescription = "OP Study Description"; + strSeriesDescription = "OP Series Description"; + } + else if (strModality == "OPT") + { + strSOPClassUID = UID_OphthalmicTomographyImageStorage; + //strMediaStorageSOPClassUID = UID_OphthalmicPhotography8BitImageStorage; + strStudyDescription = "OPT Study Description"; + strSeriesDescription = "OPT Series Description"; + } + else if (strModality == "OCT") + { + strSOPClassUID = UID_OphthalmicPhotography8BitImageStorage; + //strMediaStorageSOPClassUID = UID_OphthalmicPhotography8BitImageStorage; + strStudyDescription = "OCT Study Description"; + strSeriesDescription = "OCT Series Description"; + } + + if (pWorklistData->m_Series.strSeriesDescription.size()>0) + { + strSeriesDescription = pWorklistData->m_Series.strSeriesDescription.toStdString().c_str(); + } + + if (pWorklistData->m_Study.strStudyDescription.size()>0) + { + strStudyDescription = pWorklistData->m_Study.strStudyDescription.toStdString().c_str(); + strSeriesDescription = pWorklistData->m_Study.strStudyDescription.toStdString().c_str(); + } + + //Media Storage SOP UID + if (strMediaStorageSOPClassUID.length() > 0) + { + //PutAndInsertString(pDcmDataset, DCM_MediaStorageSOPClassUID, (OFString)strMediaStorageSOPClassUID); + } + + + + //SOP Common Info + //UTF-8 : ISO_IR 192 + //Ansi : ISO_IR 100 + //PutAndInsertString(pDcmDataset, DCM_SpecificCharacterSet, "ISO_IR 100"); //(ISO IR 100), (ISO 2022 IR 149) + + + //OFString strEncDICOM = CSDCMStringEncoder::GetStringEncDICOM(); + OFString strEncDICOM = "UTF-8"; + + strEncDICOM = pCommonData->GetDICOMCharacterSet().toStdString().c_str(); + + if (strEncDICOM == "ASCII") + { + PutAndInsertString(pDcmDataset, DCM_SpecificCharacterSet, "ISO_IR 100"); //ANSI + } + else if (strEncDICOM == "ISO-2022-KR") + { + PutAndInsertString(pDcmDataset, DCM_SpecificCharacterSet, "ISO 2022 IR 149"); //KOREAN + } + else if (strEncDICOM == "EUC-KR") + { + PutAndInsertString(pDcmDataset, DCM_SpecificCharacterSet, "ISO 2022 IR 149"); //KOREAN + } + else if (strEncDICOM == "UTF-8") + { + PutAndInsertString(pDcmDataset, DCM_SpecificCharacterSet, "ISO_IR 192"); //UTF-8 + } + + + PutAndInsertString(pDcmDataset, DCM_SOPClassUID, strSOPClassUID); + + //Scheduled Info + PutAndInsertString(pDcmDataset, DCM_PerformedProcedureStepStartDate, strPerformedProcedureStepStartDate); + + if(strPerformedProcedureStepStartTime.length()>0) + { + //if(strPerformedProcedureStepStartTime.Find(".")<0) + if(strPerformedProcedureStepStartTime.find(".")<=0) + { + strPerformedProcedureStepStartTime += ""; + } + PutAndInsertString(pDcmDataset, DCM_PerformedProcedureStepStartTime, strPerformedProcedureStepStartTime); + } + + PutAndInsertString(pDcmDataset, DCM_PerformedProcedureStepDescription, strPerformedProcedureStepDescription); + + //UID Info + PutAndInsertString(pDcmDataset, DCM_StudyInstanceUID, strStudyInstanceUID); + PutAndInsertString(pDcmDataset, DCM_SeriesInstanceUID, strSeriesInstanceUID); + PutAndInsertString(pDcmDataset, DCM_SOPInstanceUID, strImageInstanceUID); + + //General Study + PutAndInsertString(pDcmDataset, DCM_ReferringPhysicianName, strReferringPhysicianName); + + + PutAndInsertString(pDcmDataset, DCM_AccessionNumber, strAccessionNumber); + PutAndInsertString(pDcmDataset, DCM_StudyDescription, strStudyDescription); + + + //General Series + PutAndInsertString(pDcmDataset, DCM_Modality, strModality); + PutAndInsertString(pDcmDataset, DCM_SeriesDescription, strSeriesDescription); + PutAndInsertString(pDcmDataset, DCM_SeriesNumber, strSeriesNumber); + + + PutAndInsertString(pDcmDataset, DCM_OperatorsName, strOperatorsName); + + //Study ID + PutAndInsertString(pDcmDataset, DCM_StudyID, strStudyID); +} + + +void CSDCMImage::WriteStudyInfo(DcmDataset* pDcmDataset, WorklistResponseData* pWorklistData, int nSeriesNumber, int nImageNumber, BOOL bChangeUID, QString strNewStudyInstanceUID) +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + QString strSOPClassUID; + QString strMediaStorageSOPClassUID; + QString strModality; + + QString strStudyInstanceUID; + QString strSeriesInstanceUID; + QString strImageInstanceUID; + + + QString strStudyDescription; + QString strSeriesDescription; + + + QString strAccessionNumber; + QString strSeriesNumber; + QString strImageNumber; + + QString strReferringPhysicianName; + + QString strPerformedProcedureStepStartDate; + QString strPerformedProcedureStepStartTime; + QString strPerformedProcedureStepDescription; + + QString strOperatorsName; + + QString strStudyID; + + strStudyID = pWorklistData->m_ScheduledData.strScheduledCodeValue; + + + strPerformedProcedureStepStartDate = pWorklistData->m_ScheduledData.strScheduledProcedureStepStartDate; + strPerformedProcedureStepStartTime = pWorklistData->m_ScheduledData.strScheduledProcedureStepStartTime; + strPerformedProcedureStepDescription = pWorklistData->m_ScheduledData.strScheduledStepDescription; + + strOperatorsName = pWorklistData->m_Series.strOperatorsName; + + strModality = pWorklistData->m_Series.strModality; + + if(strModality.size()==0) + { + CommonData* pCommonData = MainWindow::GetCommonData(); + QString strDefualtModality = pCommonData->GetModality(); + strModality = strDefualtModality; + } + + //strSeriesNumber.Format("%d", nSeriesNumber); + //strImageNumber.Format("%d", nImageNumber); + strSeriesNumber = QString::number(nSeriesNumber); + strImageNumber = QString::number(nImageNumber); + + if(nImageNumber==0) + { + + } + + if(pWorklistData->m_Study.strStudyInstanceUID.size()==0) + { + + } + + strSeriesInstanceUID = pWorklistData->m_Series.strSeriesInstanceUID; + strImageInstanceUID = pWorklistData->m_Image.strInstanceUID; + + if(pWorklistData->m_Study.strStudyInstanceUID.size()>0) + { + strStudyInstanceUID = pWorklistData->m_Study.strStudyInstanceUID; + } + else + { + strStudyInstanceUID = "1.2.276.0.75.2.2.42.896740696295.1.2.3"; + } + + + //if(strSeriesInstanceUID.length()==0) + { + strSeriesInstanceUID = strStudyInstanceUID + "." + strSeriesNumber; + } + + if(strImageInstanceUID.size()==0) + { + strImageInstanceUID = strSeriesInstanceUID + "." + strImageNumber; + } + + + + if(bChangeUID==TRUE) + { + //strStudyInstanceUID = CreateStudyInstanceUID(); + if(strNewStudyInstanceUID.length()>0) + { + strStudyInstanceUID = strNewStudyInstanceUID; + } + } + + //strStudyInstanceUID = "1.2.276.0.75.2.5.30.25.20170601.2343000.123.4"; + + //strSeriesInstanceUID = strStudyInstanceUID + "." + strSeriesNumber; + //strImageInstanceUID = strSeriesInstanceUID + "." + strImageNumber; + + + strAccessionNumber = pWorklistData->m_Study.strAccessionNumber; + if (strAccessionNumber.length() == 0) + { + strAccessionNumber = "1"; + } + + strReferringPhysicianName = pWorklistData->strReferringPhysicianName; + + if (strModality == "SC") + { + strSOPClassUID = UID_SecondaryCaptureImageStorage; + //strMediaStorageSOPClassUID = UID_SecondaryCaptureImageStorage; + + strStudyDescription = "SC Study Description"; + strSeriesDescription = "SC Series Description"; + } + else if (strModality == "OT") + { + strSOPClassUID = UID_SecondaryCaptureImageStorage; + //strMediaStorageSOPClassUID = UID_SecondaryCaptureImageStorage; + + strStudyDescription = "OT Study Description"; + strSeriesDescription = "OT Series Description"; + } + else if (strModality == "ES") + { + strSOPClassUID = UID_VLEndoscopicImageStorage; + strMediaStorageSOPClassUID = UID_VLEndoscopicImageStorage; + + strStudyDescription = "ES Study Description"; + strSeriesDescription = "ES Series Description"; + } + else if (strModality == "CR") + { + strSOPClassUID = UID_ComputedRadiographyImageStorage; + strMediaStorageSOPClassUID = UID_ComputedRadiographyImageStorage; + + strStudyDescription = "CR Study Description"; + strSeriesDescription = "CR Series Description"; + } + else if (strModality == "DR") + { + strSOPClassUID = UID_DigitalXRayImageStorageForPresentation; + strMediaStorageSOPClassUID = UID_DigitalXRayImageStorageForPresentation; + + strStudyDescription = "DR Study Description"; + strSeriesDescription = "DR Series Description"; + } + else if (strModality == "BMD") + { + strSOPClassUID = UID_DigitalXRayImageStorageForPresentation; + strMediaStorageSOPClassUID = UID_DigitalXRayImageStorageForPresentation; + + strStudyDescription = "BMD Study Description"; + strSeriesDescription = "BMD Series Description"; + } + else if (strModality == "OP") + { + strSOPClassUID = UID_OphthalmicPhotography8BitImageStorage; + //strMediaStorageSOPClassUID = UID_OphthalmicPhotography8BitImageStorage; + strStudyDescription = "OP Study Description"; + strSeriesDescription = "OP Series Description"; + } + else if (strModality == "OPT") + { + strSOPClassUID = UID_OphthalmicTomographyImageStorage; + //strMediaStorageSOPClassUID = UID_OphthalmicPhotography8BitImageStorage; + strStudyDescription = "OPT Study Description"; + strSeriesDescription = "OPT Series Description"; + } + else if (strModality == "OCT") + { + strSOPClassUID = UID_OphthalmicPhotography8BitImageStorage; + //strMediaStorageSOPClassUID = UID_OphthalmicPhotography8BitImageStorage; + strStudyDescription = "OCT Study Description"; + strSeriesDescription = "OCT Series Description"; + } + + if (pWorklistData->m_Series.strSeriesDescription.size()>0) + { + strSeriesDescription = pWorklistData->m_Series.strSeriesDescription; + } + + if (pWorklistData->m_Study.strStudyDescription.size()>0) + { + strStudyDescription = pWorklistData->m_Study.strStudyDescription; + strSeriesDescription = pWorklistData->m_Study.strStudyDescription; + } + + //Media Storage SOP UID + if (strMediaStorageSOPClassUID.length() > 0) + { + //PutAndInsertString(pDcmDataset, DCM_MediaStorageSOPClassUID, (OFString)strMediaStorageSOPClassUID); + } + + + + //SOP Common Info + //UTF-8 : ISO_IR 192 + //Ansi : ISO_IR 100 + //PutAndInsertString(pDcmDataset, DCM_SpecificCharacterSet, "ISO_IR 100"); //(ISO IR 100), (ISO 2022 IR 149) + + + //OFString strEncDICOM = CSDCMStringEncoder::GetStringEncDICOM(); + QString strEncDICOM = "UTF-8"; + + strEncDICOM = pCommonData->GetDICOMCharacterSet(); + + if (strEncDICOM == "ASCII") + { + PutAndInsertString(pDcmDataset, DCM_SpecificCharacterSet, "ISO_IR 100"); //ANSI + } + else if (strEncDICOM == "ISO-2022-KR") + { + PutAndInsertString(pDcmDataset, DCM_SpecificCharacterSet, "ISO 2022 IR 149"); //KOREAN + } + else if (strEncDICOM == "EUC-KR") + { + PutAndInsertString(pDcmDataset, DCM_SpecificCharacterSet, "ISO 2022 IR 149"); //KOREAN + } + else if (strEncDICOM == "UTF-8") + { + PutAndInsertString(pDcmDataset, DCM_SpecificCharacterSet, "ISO_IR 192"); //UTF-8 + } + + + PutAndInsertString(pDcmDataset, DCM_SOPClassUID, strSOPClassUID); + + //Scheduled Info + PutAndInsertString(pDcmDataset, DCM_PerformedProcedureStepStartDate, strPerformedProcedureStepStartDate); + + if(strPerformedProcedureStepStartTime.size()>0) + { + /* + if(strPerformedProcedureStepStartTime.find(".")<=0) + { + strPerformedProcedureStepStartTime += ""; + } + */ + + strPerformedProcedureStepStartTime.replace(".", ""); + PutAndInsertString(pDcmDataset, DCM_PerformedProcedureStepStartTime, strPerformedProcedureStepStartTime); + } + + PutAndInsertString(pDcmDataset, DCM_PerformedProcedureStepDescription, strPerformedProcedureStepDescription); + + //UID Info + PutAndInsertString(pDcmDataset, DCM_StudyInstanceUID, strStudyInstanceUID); + PutAndInsertString(pDcmDataset, DCM_SeriesInstanceUID, strSeriesInstanceUID); + PutAndInsertString(pDcmDataset, DCM_SOPInstanceUID, strImageInstanceUID); + + //General Study + PutAndInsertString(pDcmDataset, DCM_ReferringPhysicianName, strReferringPhysicianName); + + + PutAndInsertString(pDcmDataset, DCM_AccessionNumber, strAccessionNumber); + PutAndInsertString(pDcmDataset, DCM_StudyDescription, strStudyDescription); + + + //General Series + PutAndInsertString(pDcmDataset, DCM_Modality, strModality); + PutAndInsertString(pDcmDataset, DCM_SeriesDescription, strSeriesDescription); + PutAndInsertString(pDcmDataset, DCM_SeriesNumber, strSeriesNumber); + + + PutAndInsertString(pDcmDataset, DCM_OperatorsName, strOperatorsName); + + //Study ID + PutAndInsertString(pDcmDataset, DCM_StudyID, strStudyID); +} + +void CSDCMImage::WriteImageInfo(DcmDataset* pDcmDataset, OFString strContentDate, OFString strContentTime, WorklistResponseData* pWorklistData, int nImageNumber) +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + bool bIsUseFixWidthLevel = (bool)pCommonData->GetUseFixWidthLevel(); + OFString strImageNumber; + + OFString strAcquisitionDateTime; + + + OFString strModality; + + + + strAcquisitionDateTime = strContentDate.c_str(); + strAcquisitionDateTime += strContentTime.c_str(); + + //strImageNumber.Format("%d", nImageNumber); + strImageNumber = QString::number(nImageNumber).toStdString().c_str(); + PutAndInsertString(pDcmDataset, DCM_InstanceNumber, strImageNumber); + //PutAndInsertString(pDcmDataset, DCM_ImageComments, "Comment NULL"); + + PutAndInsertString(pDcmDataset, DCM_AcquisitionDateTime, strAcquisitionDateTime); + + if(bIsUseFixWidthLevel==true) + { + //PutAndInsertString(pDcmDataset, DCM_WindowCenter, "156.0"); + //PutAndInsertString(pDcmDataset, DCM_WindowWidth, "268.0"); + + PutAndInsertString(pDcmDataset, DCM_WindowCenter, "128.0"); + PutAndInsertString(pDcmDataset, DCM_WindowWidth, "185.0"); + } + else + { + PutAndInsertString(pDcmDataset, DCM_WindowCenter, "128.0"); + PutAndInsertString(pDcmDataset, DCM_WindowWidth, "256.0"); + + } + + pDcmDataset->putAndInsertUint16(DCM_BitsAllocated, 8); + pDcmDataset->putAndInsertUint16(DCM_BitsStored, 8); + pDcmDataset->putAndInsertUint16(DCM_HighBit, 7); + pDcmDataset->putAndInsertUint16(DCM_PixelRepresentation, 0); + + + DcmStack cDcmStack; + cDcmStack.clear(); + OFCondition error = pDcmDataset->search(DCM_PixelData, cDcmStack); + + strModality = pWorklistData->m_Series.strModality.toStdString().c_str(); + BOOL bGray = FALSE; + if(strModality == "CR") + { + bGray = TRUE; + } + + bGray = FALSE; + + if (bGray == TRUE) + { + pDcmDataset->putAndInsertUint16(DCM_SamplesPerPixel, 1); + PutAndInsertString(pDcmDataset, DCM_PhotometricInterpretation, "MONOCHROME2"); + pDcmDataset->putAndInsertUint16(DCM_Rows, m_nHeight); + pDcmDataset->putAndInsertUint16(DCM_Columns, m_nWidth); + pDcmDataset->putAndInsertUint8Array(DCM_PixelData, (Uint8*)m_pData, m_nWidth*m_nHeight, TRUE); + } + else + { + pDcmDataset->putAndInsertUint16(DCM_PlanarConfiguration, 0); + + PutAndInsertString(pDcmDataset, DCM_NumberOfFrames, "1"); + pDcmDataset->putAndInsertUint16(DCM_SamplesPerPixel, 3); + PutAndInsertString(pDcmDataset, DCM_PhotometricInterpretation, "RGB"); + + PutAndInsertString(pDcmDataset, DCM_ConversionType, "DV"); + + pDcmDataset->putAndInsertUint16(DCM_Rows, m_nHeight); + pDcmDataset->putAndInsertUint16(DCM_Columns, m_nWidth); + pDcmDataset->putAndInsertUint8Array(DCM_PixelData, (Uint8*)m_pData, m_nWidth*m_nHeight*3, TRUE); + } + +} + +void CSDCMImage::WriteImageInfo(DcmDataset* pDcmDataset, QString strContentDate, QString strContentTime, WorklistResponseData* pWorklistData, int nImageNumber) +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + bool bIsUseFixWidthLevel = (bool)pCommonData->GetUseFixWidthLevel(); + QString strImageNumber; + QString strAcquisitionDateTime; + QString strModality; + + strAcquisitionDateTime = strContentDate; + strAcquisitionDateTime += strContentTime; + + //strImageNumber.Format("%d", nImageNumber); + strImageNumber = QString::number(nImageNumber); + PutAndInsertString(pDcmDataset, DCM_InstanceNumber, strImageNumber); + //PutAndInsertString(pDcmDataset, DCM_ImageComments, "Comment NULL"); + + PutAndInsertString(pDcmDataset, DCM_AcquisitionDateTime, strAcquisitionDateTime); + + if(bIsUseFixWidthLevel==true) + { + //PutAndInsertString(pDcmDataset, DCM_WindowCenter, "156.0"); + //PutAndInsertString(pDcmDataset, DCM_WindowWidth, "268.0"); + + PutAndInsertString(pDcmDataset, DCM_WindowCenter, "128.0"); + PutAndInsertString(pDcmDataset, DCM_WindowWidth, "185.0"); + } + else + { + PutAndInsertString(pDcmDataset, DCM_WindowCenter, "128.0"); + PutAndInsertString(pDcmDataset, DCM_WindowWidth, "256.0"); + + } + + pDcmDataset->putAndInsertUint16(DCM_BitsAllocated, 8); + pDcmDataset->putAndInsertUint16(DCM_BitsStored, 8); + pDcmDataset->putAndInsertUint16(DCM_HighBit, 7); + pDcmDataset->putAndInsertUint16(DCM_PixelRepresentation, 0); + + + DcmStack cDcmStack; + cDcmStack.clear(); + OFCondition error = pDcmDataset->search(DCM_PixelData, cDcmStack); + + strModality = pWorklistData->m_Series.strModality; + BOOL bGray = FALSE; + if(strModality == "CR") + { + bGray = TRUE; + } + + bGray = FALSE; + + if (bGray == TRUE) + { + pDcmDataset->putAndInsertUint16(DCM_SamplesPerPixel, 1); + PutAndInsertString(pDcmDataset, DCM_PhotometricInterpretation, "MONOCHROME2"); + pDcmDataset->putAndInsertUint16(DCM_Rows, m_nHeight); + pDcmDataset->putAndInsertUint16(DCM_Columns, m_nWidth); + pDcmDataset->putAndInsertUint8Array(DCM_PixelData, (Uint8*)m_pData, m_nWidth*m_nHeight, TRUE); + } + else + { + pDcmDataset->putAndInsertUint16(DCM_PlanarConfiguration, 0); + + PutAndInsertString(pDcmDataset, DCM_NumberOfFrames, "1"); + pDcmDataset->putAndInsertUint16(DCM_SamplesPerPixel, 3); + PutAndInsertString(pDcmDataset, DCM_PhotometricInterpretation, "RGB"); + + PutAndInsertString(pDcmDataset, DCM_ConversionType, "DV"); + + pDcmDataset->putAndInsertUint16(DCM_Rows, m_nHeight); + pDcmDataset->putAndInsertUint16(DCM_Columns, m_nWidth); + pDcmDataset->putAndInsertUint8Array(DCM_PixelData, (Uint8*)m_pData, m_nWidth*m_nHeight*3, TRUE); + } + +} + + +void CSDCMImage::WriteImageInfo(DcmDataset* pDcmDataset, WorklistResponseData* pWorklistData, int nImageNumber) +{ + QString strCreationDate; + QString strCreationTime; + + strCreationDate = GetCurrentDate(); + strCreationTime = GetCurrentTime(); + + WriteImageInfo(pDcmDataset, strCreationDate, strCreationTime, pWorklistData, nImageNumber); + +} + +void CSDCMImage::WriteDateTime(DcmDataset* pDcmDataset, WorklistResponseData* pWorklistData) +{ + QString strCreationDate; + QString strCreationTime; + QString strStudyDate; + QString strStudyTime; + QString strSeriesDate; + QString strSeriesTime; + + + if(pWorklistData->m_Image.strAcquisitionDate.length()>0) + { + strCreationDate = pWorklistData->m_Image.strAcquisitionDate; + strCreationTime = pWorklistData->m_Image.strAcquisitionTime; + } + + + //strStudyDate = pWorklistData->m_ScheduledData.strScheduledProcedureStepStartDate.c_str(); + //strStudyTime = pWorklistData->m_ScheduledData.strScheduledProcedureStepStartTime.c_str(); + + strStudyDate = pWorklistData->m_Study.strStudyDate; + strStudyTime = pWorklistData->m_Study.strStudyTime; + + strSeriesDate = pWorklistData->m_Series.strSeriesDate; + strSeriesTime = pWorklistData->m_Series.strSeriesTime; + + + if (strStudyTime.length()>0) + { + strStudyTime.replace(".", ""); + } + + if(strCreationDate.length()==0) + { + strCreationDate = GetCurrentDate(); + strCreationTime = GetCurrentTime(); + } + + + if (strStudyDate.length()==0) + { + strStudyDate = strCreationDate; + } + + if (strStudyTime.length()==0) + { + strStudyTime = strCreationTime; + } + + if (strSeriesDate.length()==0) + { + strSeriesDate = strStudyDate; + } + + if (strSeriesTime.length()==0) + { + strSeriesTime = strStudyTime; + } + + PutAndInsertString(pDcmDataset, DCM_StudyDate, strStudyDate); + PutAndInsertString(pDcmDataset, DCM_StudyTime, strStudyTime); + PutAndInsertString(pDcmDataset, DCM_SeriesDate, strSeriesDate); + PutAndInsertString(pDcmDataset, DCM_SeriesTime, strSeriesTime); + PutAndInsertString(pDcmDataset, DCM_InstanceCreationDate, strCreationDate); + PutAndInsertString(pDcmDataset, DCM_InstanceCreationTime, strCreationTime); + PutAndInsertString(pDcmDataset, DCM_ContentDate, strCreationDate); + PutAndInsertString(pDcmDataset, DCM_ContentTime, strCreationTime); + PutAndInsertString(pDcmDataset, DCM_AcquisitionDate, strCreationDate); + PutAndInsertString(pDcmDataset, DCM_AcquisitionTime, strCreationTime); +} + +//R=right +//L=left +//U=unpaired +//B=both +void CSDCMImage::WriteLaterality(DcmDataset* pDcmDataset, OFString strLaterality, OFString strImageLaterality) +{ + //Must be set when All image same laterality + //PutAndInsertString(pDcmDataset, DCM_Laterality, strLaterality); + + //Just Image + PutAndInsertString(pDcmDataset, DCM_ImageLaterality, strImageLaterality); +} + +void CSDCMImage::WriteLaterality(DcmDataset* pDcmDataset, QString strLaterality, QString strImageLaterality) +{ + //Just Image + PutAndInsertString(pDcmDataset, DCM_ImageLaterality, strImageLaterality); +} + +void CSDCMImage::WriteImageType(DcmDataset* pDcmDataset, OFString strImageType) +{ + OFString strData; + + if(strImageType.empty()==true) + { + strData = "DERIVED"; + strData += char(0x5c); + strData += "PRIMARY"; + } + else + { + strData = strImageType.c_str(); + } + + PutAndInsertString(pDcmDataset, DCM_ImageType, strData); +} + +void CSDCMImage::WriteImageType(DcmDataset* pDcmDataset, QString strImageType) +{ + QString strData; + + if(strImageType.isEmpty()==true) + { + strData = "DERIVED"; + strData += char(0x5c); + strData += "PRIMARY"; + } + else + { + strData = strImageType; + } + + PutAndInsertString(pDcmDataset, DCM_ImageType, strData); +} + +void CSDCMImage::WriteDeviceInfo(DcmDataset* pDcmDataset) +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + QString strManufacturer = "Storage Solution for Doctors co,.ltd."; + QString strManufacturerModelName = "SmartQuadra"; + QString strStationName = pCommonData->GetStationName(); + QString strInstitutionName = pCommonData->GetInstitutionName(); + + QString strDeviceSerialNumber = "Device1.2"; + QString strSoftwareVersions = "V2.1"; + + //General Equipment Info + PutAndInsertString(pDcmDataset, DCM_Manufacturer, strManufacturer); + PutAndInsertString(pDcmDataset, DCM_ManufacturerModelName, strManufacturerModelName); + PutAndInsertString(pDcmDataset, DCM_StationName, strStationName); + PutAndInsertString(pDcmDataset, DCM_InstitutionName, strInstitutionName); + + //Device Information + PutAndInsertString(pDcmDataset, DCM_DeviceSerialNumber, strDeviceSerialNumber); + PutAndInsertString(pDcmDataset, DCM_SoftwareVersions, strSoftwareVersions); + +} + +void CSDCMImage::SetTransferSyntax(E_TransferSyntax nTransferSyntax) +{ + m_TransferSyntaxOutput = nTransferSyntax; +} + + + + + + +void CSDCMImage::CharacterSetConversion(DcmDataset* pDcmDataset) +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + QString strEnc = pCommonData->GetDICOMCharacterSet(); + + int i=0; + for (i = 0; i<(int)pDcmDataset->card(); i++) + { + DcmElement* pElement = NULL; + + OFString strData; + DcmTagKey dcmKey; + DcmTag tag; + + pElement = pDcmDataset->getElement(i); + tag = pElement->getTag(); +// int nGroup = tag.getGroup(); +// int nElement = tag.getElement(); + + DcmEVR vr; + vr = pElement->getVR(); + + if(vr==EVR_PN || vr==EVR_LO) + { + OFString strData; + OFString strConv; + pElement->getOFStringArray(strData); + + //int nRet = 0; + //nRet = CSDCMStringEncoder::ConvertString(strData, strConv, strEncSystem, strEncDICOM); + if(strEnc=="EUC-KR") + { + //strConv = CharConvert::Convert(strData.data(), strEnc).toStdString().c_str(); + QString strQData = strData.data(); + QByteArray strArray = CharConvert::UTF8toEUCKR(strQData); + strConv = strArray.data(); + //strConv = strQConv.toStdString().c_str(); + //strConv = strData; + pElement->putOFStringArray(strConv); + + } + } + else if(vr==EVR_SQ) + { + //CharacterSetConversion(pElement); + + } + } +} + + +list* CSDCMImage::GetListInputFile() +{ + return m_pListInputFile; +} diff --git a/SDCMImage.h b/SDCMImage.h new file mode 100644 index 0000000..d26a897 --- /dev/null +++ b/SDCMImage.h @@ -0,0 +1,111 @@ +#pragma once + + + +#include "common.h" +#include "SDCMCommonStructure.h" + +#include "dcmtk/dcmdata/dcdatset.h" + + +class CSDCMImage +{ +public: + CSDCMImage(void); + virtual ~CSDCMImage(void); + + virtual int WriteDCM(OFString strInputImageFile, OFString strDcmFilename, WorklistResponseData* pWorklistData, int nSeriesNumber, int nImageNumber, BOOL bChangeUID, OFString strNewStudyInstanceUID); + virtual int WriteDCM(QString strInputImageFile, QString strDcmFilename, WorklistResponseData* pWorklistData, int nSeriesNumber, int nImageNumber, BOOL bChangeUID, QString strNewStudyInstanceUID); + + virtual int WriteDCM(OFString strInputImageFile, OFString strDcmFilename, WorklistResponseData* pWorklistData, int nSeriesNumber, int nImageNumber, BOOL bChangeUID, OFString strNewStudyInstanceUID, BOOL bUsePDFCompress); + + + virtual int WriteDCM(OFString strInputImageFile, OFString strDcmFilename, OFString strContentDate, OFString strContentTime, WorklistResponseData* pWorklistData, int nSeriesNumber, int nImageNumber, BOOL bChangeUID, OFString strNewStudyInstanceUID); + + virtual int WriteDCM(QString strInputImageFile, QString strDcmFilename, QString strContentDate, QString strContentTime, WorklistResponseData* pWorklistData, int nSeriesNumber, int nImageNumber, BOOL bChangeUID, QString strNewStudyInstanceUID); + + void SetTransferSyntax(E_TransferSyntax nTransferSyntax); + + static SDCM_AGE ComputeAge(QString strBirthdate); + + void LoadImage(OFString strFilename, BOOL bGray); + void LoadImage(QString strFilename, BOOL bGray); + + int LoadDCMFile(OFString strFilename); + + void RegisterPrivateTags(); + void AddPrivateElements(DcmItem &item, OFString strFileLocation); + + OFCondition PutAndInsertString(DcmDataset* pDcmDataset, const DcmTag &tag, QString strValue); + OFCondition PutAndInsertString(DcmDataset* pDcmDataset, const DcmTag &tag, const char *value); + OFCondition PutAndInsertString(DcmDataset* pDcmDataset, const DcmTag &tag, OFString strValue); + + + + void InsertCreationDate(DcmDataset* pDcmDataset); + void InsertCreationTime(DcmDataset* pDcmDataset); + + QString GetCurrentDate(); + QString GetCurrentTime(); + + virtual void WritePatientInfo(DcmDataset* pDcmDataset, WorklistResponseData* pWorklistData); + virtual void WriteStudyInfo(DcmDataset* pDcmDataset, WorklistResponseData* pWorklistData, int nSeriesNumber, int nImageNumber, BOOL bChangeUID=FALSE, OFString strNewStudyInstanceUID=""); + virtual void WriteStudyInfo(DcmDataset* pDcmDataset, WorklistResponseData* pWorklistData, int nSeriesNumber, int nImageNumber, BOOL bChangeUID=FALSE, QString strNewStudyInstanceUID=""); + virtual void WriteLaterality(DcmDataset* pDcmDataset, OFString strLaterality, OFString strImageLaterality); + virtual void WriteLaterality(DcmDataset* pDcmDataset, QString strLaterality, QString strImageLaterality); + virtual void WriteImageType(DcmDataset* pDcmDataset, OFString strImageType=""); + virtual void WriteImageType(DcmDataset* pDcmDataset, QString strImageType=""); + virtual void WriteImageInfo(DcmDataset* pDcmDataset, WorklistResponseData* pWorklistData, int nImageNumber); + virtual void WriteImageInfo(DcmDataset* pDcmDataset, OFString strContentDate, OFString strContentTime, WorklistResponseData* pWorklistData, int nImageNumber); + virtual void WriteImageInfo(DcmDataset* pDcmDataset, QString strContentDate, QString strContentTime, WorklistResponseData* pWorklistData, int nImageNumber); + virtual void WriteScheduledProcedureStep(DcmDataset* pDcmDataset, WorklistResponseData* pWorklistData); + + virtual void WriteDeviceInfo(DcmDataset* pDcmDataset); + + virtual void WriteDateTime(DcmDataset* pDcmDataset, WorklistResponseData* pWorklistData); + + OFString CreateStudyInstanceUID(); + + //void SetStrEncType(STRENC_TYPE strEnc); + + void CharacterSetConversion(DcmDataset* pDcmDataset); + + list* GetListInputFile(); + +public: + list* m_pListInputFile; + OFString m_strDcmOutputFilename; + WorklistResponseData* m_pWorklistData; + int m_nSeriesNumber; + int m_nImageNumber; + BOOL m_bChangeUID; + OFString m_strNewStudyInstanceUID; + BOOL m_bUsePDFCompress; + + OFString m_strImplementationClassUID; + OFString m_strImplementationVersionName; + + //STRENC_TYPE m_StrEncType; + +protected: + int m_nWidth; + int m_nHeight; + uint8_t* m_pData; + + int m_nWindowWidth; + int m_nWindowLevel; + OFString m_strFilename; + + int m_nInputFileFormat; + int m_nOutputFileFormat; + + OFString m_strLoadFilename; + + E_TransferSyntax m_TransferSyntaxOutput; + + + + + +}; + diff --git a/SDCMSendImpl.cpp b/SDCMSendImpl.cpp new file mode 100644 index 0000000..333c394 --- /dev/null +++ b/SDCMSendImpl.cpp @@ -0,0 +1,1874 @@ +#include "SDCMSendImpl.h" +//#include "SThreadProgress.h" + +#include + +#ifdef UNICODE +#undef UNICODE +#undef _UNICODE +#define UNICODE_DEFINED +#endif + +#include "dcmtk/dcmdata/dcfilefo.h" +#include "dcmtk/dcmnet/diutil.h" + +#include "dcmtk/dcmdata/dcxfer.h" + +#include "dcmtk/dcmjpeg/djdecode.h" /* for JPEG decoders */ +#include "dcmtk/dcmjpeg/djencode.h" /* for JPEG encoders */ +#include "dcmtk/dcmjpls/djdecode.h" /* for JPEG-LS decoders */ +#include "dcmtk/dcmjpls/djencode.h" /* for JPEG-LS encoders */ +#include "dcmtk/dcmdata/dcrledrg.h" /* for RLE decoder */ +#include "dcmtk/dcmdata/dcrleerg.h" /* for RLE encoder */ +#include "dcmtk/dcmjpeg/dipijpeg.h" /* for dcmimage JPEG plugin */ + +#include "dcmtk/dcmnet/cond.h" + +#ifdef UNICODE_DEFINED +#define UNICODE +#define _UNICODE +#undef UNICODE_DEFINED +#endif + +#include + +#include + +#include + +#include "cscallbacksendprogress.h" + +/* + typedef struct { + void *callbackData; + T_DIMSE_StoreProgress *progress; + T_DIMSE_C_StoreRQ *request; + DIMSE_StoreUserCallback callback; + CSThread* pCallbackThread; +} DIMSE_PrivateUserContext; +*/ + +typedef struct _DIMSE_PrivateUserContext{ + void *callbackData; + T_DIMSE_StoreProgress *progress; + T_DIMSE_C_StoreRQ *request; + DIMSE_StoreUserCallback callback; + CSCallback* pCallback; + CSDCMSendImpl* pThis; + T_ASC_Association *assoc; + bool bSendComplete; +} DIMSE_PrivateUserContext; + + +static void +privateUserCallback(void *callbackData, unsigned long bytes) +{ + DIMSE_PrivateUserContext *ctx; + ctx = (DIMSE_PrivateUserContext*)callbackData; + ctx->progress->state = DIMSE_StoreProgressing; + ctx->progress->progressBytes = bytes; + ctx->progress->callbackCount++; + if (ctx->callback) { + ctx->callback(ctx->callbackData, ctx->progress, ctx->request); + } +} + +#include "dcmtk/dcmdata/dcdict.h" +#include "dcmtk/dcmdata/dcdicent.h" + +extern DCMTK_DCMDATA_EXPORT GlobalDcmDataDictionary dcmDataDict; + +OFBool +isDataDictPresent() +{ + /* is a data dictionary present */ + return dcmDataDict.isDictionaryLoaded(); +} + + + + +OFCondition CSDCMSendImpl::DIMSE_storeUser( + T_ASC_Association *assoc, T_ASC_PresentationContextID presId, + T_DIMSE_C_StoreRQ *request, + const char *imageFileName, DcmDataset *imageDataSet, + DIMSE_StoreUserCallback callback, void *callbackData, + T_DIMSE_BlockingMode blockMode, int timeout, + T_DIMSE_C_StoreRSP *response, + DcmDataset **statusDetail, + T_DIMSE_DetectedCancelParameters *checkForCancelParams, + long imageFileTotalBytes) + /* + * This function transmits data from a file or a dataset to an SCP. The transmission is + * conducted via network and using DIMSE C-STORE messages. Additionally, this function + * evaluates C-STORE-Response messages which were received from the SCP. + * + * Parameters: + * assoc - [in] The association (network connection to SCP). + * presId - [in] The ID of the presentation context which shall be used + * request - [in] Represents a DIMSE C-Store Request Message. Contains corresponding + * information, e.g. message ID, affected SOP class UID, etc. + * imageFileName - [in] The name of the file which is currently processed. + * imageDataSet - [in] The data set which is currently processed. + * callback - [in] Pointer to a function which shall be called to indicate progress. + * callbackData - [in] Pointer to data which shall be passed to the progress indicating function + * blockMode - [in] The blocking mode for receiving data (either DIMSE_BLOCKING or DIMSE_NONBLOCKING) + * timeout - [in] Timeout interval for receiving data. If the blocking mode is DIMSE_NONBLOCKING + * response - [out] Represents a DIMSE C-Store Response Message. Contains corresponding + * information, e.g. message ID being responded to, affected SOP class UID, etc. + * This variable contains in the end the C-STORE-RSP command which was received + * as a response to the C-STORE-RQ which was sent. + * statusDetail - [out] If a non-NULL value is passed this variable will in the end contain detailed + * information with regard to the status information which is captured in the status + * element (0000,0900) of the response message. Note that the value for element (0000,0900) + * is not contained in this return value but in response. + * checkForCancelParams - [out] Indicates, if a C-Cancel (Request) Message was encountered. Contains corresponding + * information, e.g. a boolean value if a corresponding message was encountered and the + * C-Cancel (Request) Message itself (in case it actually was encountered). + * imageFileTotalBytes - [in] The size of the file which is currently processed in bytes. + */ +{ + OFCondition cond = EC_Normal; + T_DIMSE_Message req, rsp; + DIMSE_PrivateUserContext callbackCtx; + DIMSE_ProgressCallback privCallback = NULL; + T_DIMSE_StoreProgress progress; + + /* if there is no image file or no data set, no data can be sent */ + if (imageFileName == NULL && imageDataSet == NULL) return DIMSE_NULLKEY; + + /* initialize the variables which represent DIMSE C-STORE request and DIMSE C-STORE response messages */ + bzero((char*)&req, sizeof(req)); + bzero((char*)&rsp, sizeof(rsp)); + + /* set corresponding values in the request message variable */ + req.CommandField = DIMSE_C_STORE_RQ; + request->DataSetType = DIMSE_DATASET_PRESENT; + req.msg.CStoreRQ = *request; + + /* set up callback routine which is used to indicate progress */ + if (callback != NULL) { + /* in case the caller indicated that he has his own progress indicating */ + /* function set some variables correspondingly so that this particular */ + /* function will be called whenever progress shall be indicated. */ + privCallback = privateUserCallback; /* function defined above */ + callbackCtx.callbackData = callbackData; + progress.state = DIMSE_StoreBegin; + progress.callbackCount = 1; + progress.progressBytes = 0; + if (imageFileTotalBytes > 0) progress.totalBytes = imageFileTotalBytes; + else + { + if (imageFileName != NULL) progress.totalBytes = OFstatic_cast(long, OFStandard::getFileSize(imageFileName)); + else progress.totalBytes = dcmGuessModalityBytes(request->AffectedSOPClassUID); + } + callbackCtx.progress = &progress; + callbackCtx.request = request; + callbackCtx.callback = callback; + /* execute initial callback */ + callback(callbackData, &progress, request); + } else { + /* in case the caller does not have his own progress indicating function no */ + /* corresponding function will be called when progress shall be indicated. */ + privCallback = NULL; + } + + /* send C-STORE-RQ message and instance data using file data or data set */ + if (imageFileName != NULL) { + DcmDataset statusDetail; + cond = DIMSE_sendMessageUsingFileData(assoc, presId, &req, + &statusDetail, imageFileName, privCallback, &callbackCtx); + } else { + cond = DIMSE_sendMessageUsingMemoryData(assoc, presId, &req, + NULL, imageDataSet, privCallback, &callbackCtx); + } + + if (cond != EC_Normal) { + return cond; + } + + /* execute final callback */ + if (callback) { + progress.state = DIMSE_StoreEnd; + progress.callbackCount++; + /* execute final callback */ + callback(callbackData, &progress, request); + } + + /* check if a C-CANCEL-RQ message was encountered earlier */ + if (checkForCancelParams != NULL) { + checkForCancelParams->cancelEncountered = OFFalse; + } + + /* try to receive C-STORE-RSP */ + do + { + /* remember the ID of the presentation context in a local variable */ + T_ASC_PresentationContextID thisPresId = presId; + + /* try to receive a C-STORE-RSP over the network. */ + cond = DIMSE_receiveCommand(assoc, blockMode, timeout, + &thisPresId, &rsp, statusDetail); + if (cond != EC_Normal) return cond; + + /* if everything was successful so far, the rsp variable contains the command which */ + /* was received check if we encountered a C-CANCEL-RQ; if so, set some variables */ + if (checkForCancelParams != NULL && rsp.CommandField == DIMSE_C_CANCEL_RQ) + { + checkForCancelParams->cancelEncountered = OFTrue; + checkForCancelParams->req = rsp.msg.CCancelRQ; + checkForCancelParams->presId = thisPresId; + } else { + /* if we did not receive a C-CANCEL-RQ */ + + /* if we did also not encounter a C-STORE-RSP, something is wrong */ + if (rsp.CommandField != DIMSE_C_STORE_RSP) + { + char buf[256]; + sprintf(buf, "DIMSE: Unexpected Response Command Field: 0x%x", (unsigned)rsp.CommandField); + return makeDcmnetCondition(DIMSEC_UNEXPECTEDRESPONSE, OF_error, buf); + } + /* if we get to here, we received a C-STORE-RSP; store this message in the reference parameter */ + *response = rsp.msg.CStoreRSP; // BoundsChecker warning !? + + /* check if the response relates to the request which was sent earlier; if not, return an error */ + if (response->MessageIDBeingRespondedTo != request->MessageID) + { + char buf2[256]; + sprintf(buf2, "DIMSE: Unexpected Response MsgId: %d (expected: %d)", response->MessageIDBeingRespondedTo, request->MessageID); + return makeDcmnetCondition(DIMSEC_UNEXPECTEDRESPONSE, OF_error, buf2); + } + } + } while (checkForCancelParams != NULL && rsp.CommandField == DIMSE_C_CANCEL_RQ); + + /* return result value */ + return EC_Normal; +} + + + + +//OFLogger *m_pLoggerStoreSCU("store.log", OFLogger::TRACE_LOG_LEVEL); + +CSDCMSendImpl::CSDCMSendImpl() +{ + m_pCallback = NULL; + //COleDateTime dt = COleDateTime::GetCurrentTime(); + + char strLog[128]; + memset(strLog, 0, 128); + + //sprintf(strLog, "store_%04d%02d%02d.log", dt.GetYear(), dt.GetMonth(), dt.GetDay()); + sprintf(strLog, "store.log"); + + OFLogger log = OFLog::getLogger(strLog); + m_pLoggerStoreSCU = &log; + m_pLoggerStoreSCU->setLogLevel(dcmtk::log4cplus::FATAL_LOG_LEVEL); + + //m_pLoggerStoreSCU->Delete(); + //m_pLoggerStoreSCU->Init("store.log"); + //m_pLoggerStoreSCU->ClearLog(); + //*m_pLoggerStoreSCU = OFLog::getLogger(strLog); + + m_nMaxReceivePDULength = ASC_MAXIMUMPDUSIZE; + m_NetworkTransferSyntax = EXS_JPEGProcess14SV1;//EXS_Unknown; + + m_bIdentResponse = false; + + m_bHaltOnUnsuccessfulStore = OFTrue; + m_bUnsuccessfulStoreEncountered = OFFalse; + + m_ReadMode = ERM_autoDetect; + + m_bInventSOPInstanceInformation = OFFalse; + + m_bCorrectUIDPadding = OFTrue; + + m_DIMSEBlockMode = DIMSE_BLOCKING; + + m_nLastStatusCode = STATUS_Success; + + m_bAbortAssociation = false; + + m_nTimeoutACSE = 0; + m_nTimeoutDIMSE = 0; + + m_pNetwork = NULL; + m_pNetworkParams = NULL; + m_pAssoc = NULL; + + m_bCombineProposedTransferSyntaxes = true; + m_bProposeOnlyRequiredPresentationContexts = false; + + m_IdentMode = ASC_USER_IDENTITY_NONE; + + m_nRepeatCount = 2; + + m_pCurrentFileNameList = NULL; + + +// m_pNetClass = new CSDCMNetBase(); + + + + //register global JPEG decompression codecs + DJDecoderRegistration::registerCodecs(); + + // register global JPEG compression codecs + DJEncoderRegistration::registerCodecs(); + + // register JPEG-LS decompression codecs + DJLSDecoderRegistration::registerCodecs(); + + // register JPEG-LS compression codecs + DJLSEncoderRegistration::registerCodecs(); + + // register RLE compression codec + DcmRLEEncoderRegistration::registerCodecs(); + + // register RLE decompression codec + DcmRLEDecoderRegistration::registerCodecs(); + +} + +CSDCMSendImpl::~CSDCMSendImpl() +{ + +} + +void CSDCMSendImpl::Stop() +{ + //cleanup global JPEG decompression codecs + DJDecoderRegistration::cleanup(); + + // cleanup global JPEG compression codecs + DJEncoderRegistration::cleanup(); + + // cleanup JPEG-LS decompression codecs + DJLSDecoderRegistration::cleanup(); + + // cleanup JPEG-LS compression codecs + DJLSEncoderRegistration::cleanup(); + + // cleanup RLE compression codec + DcmRLEEncoderRegistration::cleanup(); + + // cleanup RLE decompression codec + DcmRLEDecoderRegistration::cleanup(); +} + + +int CSDCMSendImpl::InitNetwork(OFString strServerAETitle, OFString strClientAETitle, OFString strHostIP, int nPort, int nConnectType, int nBlock, int nTimeoutDIMSE, int nTimeoutACSE, E_TransferSyntax networkTransferSyntax) +{ + SetServerInfo(strServerAETitle, strClientAETitle, strHostIP, nPort, nConnectType, nBlock); + + + return 0; +} + + +OFCondition CSDCMSendImpl::AddStoragePresentationContexts(T_ASC_Parameters *params, OFList &sopClasses) +{ + /* + * Each SOP Class will be proposed in two presentation contexts (unless + * the m_bCombineProposedTransferSyntaxes global variable is true). + * The command line specified a preferred transfer syntax to use. + * This prefered transfer syntax will be proposed in one + * presentation context and a set of alternative (fallback) transfer + * syntaxes will be proposed in a different presentation context. + * + * Generally, we prefer to use Explicitly encoded transfer syntaxes + * and if running on a Little Endian machine we prefer + * LittleEndianExplicitTransferSyntax to BigEndianTransferSyntax. + * Some SCP implementations will just select the first transfer + * syntax they support (this is not part of the standard) so + * organise the proposed transfer syntaxes to take advantage + * of such behaviour. + */ + + // Which transfer syntax was preferred on the command line + OFString preferredTransferSyntax; + if (m_NetworkTransferSyntax == EXS_Unknown) { + /* gLocalByteOrder is defined in dcxfer.h */ + if (gLocalByteOrder == EBO_LittleEndian) { + /* we are on a little endian machine */ + //preferredTransferSyntax = UID_LittleEndianExplicitTransferSyntax; + //preferredTransferSyntax = UID_JPEGProcess1TransferSyntax; + preferredTransferSyntax = UID_LittleEndianExplicitTransferSyntax; + } + else { + /* we are on a big endian machine */ + preferredTransferSyntax = UID_BigEndianExplicitTransferSyntax; + } + } + else { + DcmXfer xfer(m_NetworkTransferSyntax); + preferredTransferSyntax = xfer.getXferID(); + //preferredTransferSyntax = UID_LittleEndianExplicitTransferSyntax; + } + + OFListIterator(OFString) s_cur; + OFListIterator(OFString) s_end; + + OFList fallbackSyntaxes; + // - If little endian implicit is preferred, we don't need any fallback syntaxes + // because it is the default transfer syntax and all applications must support it. + // - If MPEG2 or MPEG4 is preferred, we don't want to propose any fallback solution + // because this is not required and we cannot decompress the movie anyway. + if ((m_NetworkTransferSyntax != EXS_LittleEndianImplicit) && + (m_NetworkTransferSyntax != EXS_MPEG2MainProfileAtMainLevel) && + (m_NetworkTransferSyntax != EXS_MPEG2MainProfileAtHighLevel) && + (m_NetworkTransferSyntax != EXS_MPEG4HighProfileLevel4_1) && + (m_NetworkTransferSyntax != EXS_MPEG4BDcompatibleHighProfileLevel4_1)) + { +// fallbackSyntaxes.push_back(UID_LittleEndianExplicitTransferSyntax); +// fallbackSyntaxes.push_back(UID_BigEndianExplicitTransferSyntax); +// fallbackSyntaxes.push_back(UID_LittleEndianImplicitTransferSyntax); + // Remove the preferred syntax from the fallback list + fallbackSyntaxes.remove(preferredTransferSyntax); + } + + // create a list of transfer syntaxes combined from the preferred and fallback syntaxes + OFList combinedSyntaxes; + s_cur = fallbackSyntaxes.begin(); + s_end = fallbackSyntaxes.end(); + combinedSyntaxes.push_back(preferredTransferSyntax); + //sopClasses.push_back(preferredTransferSyntax); + + OFString strCur; + while (s_cur != s_end) + { + strCur = *s_cur; + if (!IsaListMember(combinedSyntaxes, *s_cur)) + { +// combinedSyntaxes.push_back(*s_cur); +// sopClasses.push_back(*s_cur); + } + + ++s_cur; + } + + int nNumber = numberOfDcmShortSCUStorageSOPClassUIDs; + m_bProposeOnlyRequiredPresentationContexts = true; + if (!m_bProposeOnlyRequiredPresentationContexts) { + // add the (short list of) known storage SOP classes to the list + // the array of Storage SOP Class UIDs comes from dcuid.h + for (int i = 0; i < numberOfDcmShortSCUStorageSOPClassUIDs; i++) + { + OFString strTest = dcmShortSCUStorageSOPClassUIDs[i]; + sopClasses.push_back(dcmShortSCUStorageSOPClassUIDs[i]); + } + } + + // thin out the SOP classes to remove any duplicates + OFList sops; + s_cur = sopClasses.begin(); + s_end = sopClasses.end(); + while (s_cur != s_end) { + strCur = *s_cur; + if (!IsaListMember(sops, *s_cur)) { + sops.push_back(*s_cur); + } + ++s_cur; + } + + // add a presentations context for each SOP class / transfer syntax pair + OFCondition cond = EC_Normal; + int pid = 1; // presentation context id + s_cur = sops.begin(); + s_end = sops.end(); + while (s_cur != s_end && cond.good()) { + + strCur = *s_cur; + + if (pid > 255) + { + OFLOG_ERROR(*m_pLoggerStoreSCU, "Too many presentation contexts"); + return ASC_BADPRESENTATIONCONTEXTID; + } + + if (m_bCombineProposedTransferSyntaxes) + { + cond = AddPresentationContext(params, pid, *s_cur, combinedSyntaxes); + pid += 2; /* only odd presentation context id's */ + } + else + { + + // SOP class with preferred transfer syntax + cond = AddPresentationContext(params, pid, *s_cur, preferredTransferSyntax); + pid += 2; /* only odd presentation context id's */ + + if (fallbackSyntaxes.size() > 0) + { + if (pid > 255) + { + OFLOG_ERROR(*m_pLoggerStoreSCU, "Too many presentation contexts"); + return ASC_BADPRESENTATIONCONTEXTID; + } + + // SOP class with fallback transfer syntax + cond = AddPresentationContext(params, pid, *s_cur, fallbackSyntaxes); + pid += 2; /* only odd presentation context id's */ + } + } + ++s_cur; + } + + return cond; +} + +OFBool CSDCMSendImpl::IsaListMember(OFList &lst, OFString &s) +{ + OFListIterator(OFString) cur = lst.begin(); + OFListIterator(OFString) end = lst.end(); + + OFBool found = OFFalse; + while (cur != end && !found) { + found = (s == *cur); + ++cur; + } + + return found; +} + + +OFCondition CSDCMSendImpl::AddPresentationContext(T_ASC_Parameters *params, int presentationContextId, const OFString &abstractSyntax, const OFString &transferSyntax, T_ASC_SC_ROLE proposedRole) +{ + const char *c_p = transferSyntax.c_str(); + OFCondition cond = ASC_addPresentationContext(params, presentationContextId, + abstractSyntax.c_str(), &c_p, 1, proposedRole); + return cond; +} + +OFCondition CSDCMSendImpl::AddPresentationContext(T_ASC_Parameters *params, int presentationContextId, const OFString &abstractSyntax, const OFList &transferSyntaxList, T_ASC_SC_ROLE proposedRole) +{ + // create an array of supported/possible transfer syntaxes + const char **transferSyntaxes = new const char*[transferSyntaxList.size()]; + int transferSyntaxCount = 0; + OFListConstIterator(OFString) s_cur = transferSyntaxList.begin(); + OFListConstIterator(OFString) s_end = transferSyntaxList.end(); + while (s_cur != s_end) { + transferSyntaxes[transferSyntaxCount++] = (*s_cur).c_str(); + ++s_cur; + } + + OFCondition cond = ASC_addPresentationContext(params, presentationContextId, + abstractSyntax.c_str(), transferSyntaxes, transferSyntaxCount, proposedRole); + + delete[] transferSyntaxes; + return cond; +} + +OFCondition CSDCMSendImpl::CheckUserIdentityResponse(T_ASC_Parameters *params) +{ + if (params == NULL) + return ASC_NULLKEY; + + /* So far it is only checked whether a requested, positive response was + actually received */ + + // In case we sent no user identity request, there are no checks at all + if ((m_IdentMode == ASC_USER_IDENTITY_NONE) || (!m_bIdentResponse)) + return EC_Normal; + + // If positive response was requested, we expect a corresponding response + if ((m_IdentMode == ASC_USER_IDENTITY_USER) || (m_IdentMode == ASC_USER_IDENTITY_USER_PASSWORD)) + { + UserIdentityNegotiationSubItemAC *rsp = params->DULparams.ackUserIdentNeg; + if (rsp == NULL) + { + OFLOG_ERROR(*m_pLoggerStoreSCU, "User Identity Negotiation failed: Positive response requested but none received"); + return ASC_USERIDENTIFICATIONFAILED; + } + } + return EC_Normal; +} + + +OFCondition CSDCMSendImpl::cstore(T_ASC_Association *assoc, const OFString &fname) +/* +* This function will process the given file as often as is specified by opt_repeatCount. +* "Process" in this case means "read file, send C-STORE-RQ, receive C-STORE-RSP". +* +* Parameters: +* assoc - [in] The association (network connection to another DICOM application). +* fname - [in] Name of the file which shall be processed. +*/ +{ + OFCondition cond = EC_Normal; + + /* opt_repeatCount specifies how many times a certain file shall be processed */ + int n = OFstatic_cast(int, m_nRepeatCount); + + /* as long as no error occured and the counter does not equal 0 */ + while ((cond.good()) && n-- && !(m_bHaltOnUnsuccessfulStore && m_bUnsuccessfulStoreEncountered)) + { + /* process file (read file, send C-STORE-RQ, receive C-STORE-RSP) */ + cond = storeSCU(assoc, fname.c_str()); + + if(cond.good()) + { + break; + } + } + + // we don't want to return an error code if --no-halt was specified. + if (!m_bHaltOnUnsuccessfulStore) + { + cond = EC_Normal; + } + + /* return result value */ + return cond; +} + +OFCondition CSDCMSendImpl::storeSCU(T_ASC_Association *assoc, const char *fname) +/* +* This function will read all the information from the given file, +* figure out a corresponding presentation context which will be used +* to transmit the information over the network to the SCP, and it +* will finally initiate the transmission of all data to the SCP. +* +* Parameters: +* assoc - [in] The association (network connection to another DICOM application). +* fname - [in] Name of the file which shall be processed. +*/ +{ + DIC_US msgId = assoc->nextMsgID++; + T_ASC_PresentationContextID presID; + T_DIMSE_C_StoreRQ req; + T_DIMSE_C_StoreRSP rsp; + DIC_UI sopClass; + DIC_UI sopInstance; + DcmDataset *statusDetail = NULL; + + m_bUnsuccessfulStoreEncountered = OFTrue; // assumption + + OFLOG_INFO(*m_pLoggerStoreSCU, "Sending file: " << fname); + + /* read information from file. After the call to DcmFileFormat::loadFile(...) the information */ + /* which is encapsulated in the file will be available through the DcmFileFormat object. */ + /* In detail, it will be available through calls to DcmFileFormat::getMetaInfo() (for */ + /* meta header information) and DcmFileFormat::getDataset() (for data set information). */ + DcmFileFormat dcmff; + OFCondition cond = dcmff.loadFile(fname, EXS_Unknown, EGL_noChange, DCM_MaxReadLength, m_ReadMode); + + /* figure out if an error occured while the file was read*/ + if (cond.bad()) + { + //OFLOG_ERROR(*m_pLoggerStoreSCU, "Bad DICOM file: " << fname << ": " << cond.text()); + return cond; + } + + /* if required, invent new SOP instance information for the current data set (user option) */ + if (m_bInventSOPInstanceInformation) + { + ReplaceSOPInstanceInformation(dcmff.getDataset()); + } + + /* figure out which SOP class and SOP instance is encapsulated in the file */ + //if (!DU_findSOPClassAndInstanceInDataSet(dcmff.getDataset(), sopClass, sopInstance, m_bCorrectUIDPadding)) + if (!DU_findSOPClassAndInstanceInDataSet(dcmff.getDataset(), sopClass, sizeof(sopClass), sopInstance, sizeof(sopInstance), m_bCorrectUIDPadding)) + { + OFLOG_ERROR(*m_pLoggerStoreSCU, "No SOP Class or Instance UID in file: " << fname); + return DIMSE_BADDATA; + } + + /* figure out which of the accepted presentation contexts should be used */ + DcmXfer filexfer(dcmff.getDataset()->getOriginalXfer()); + + /* special case: if the file uses an unencapsulated transfer syntax (uncompressed + * or deflated explicit VR) and we prefer deflated explicit VR, then try + * to find a presentation context for deflated explicit VR first. + */ + if (filexfer.isNotEncapsulated() && + m_NetworkTransferSyntax == EXS_DeflatedLittleEndianExplicit) + { + filexfer = EXS_DeflatedLittleEndianExplicit; + } + + + if (filexfer.getXfer() != EXS_Unknown) + presID = ASC_findAcceptedPresentationContextID(assoc, sopClass, filexfer.getXferID()); + else + presID = ASC_findAcceptedPresentationContextID(assoc, sopClass); + +// presID = ASC_findAcceptedPresentationContextID(assoc, sopClass); + if (presID == 0) + { + const char *modalityName = dcmSOPClassUIDToModality(sopClass); + if (!modalityName) modalityName = dcmFindNameOfUID(sopClass); + if (!modalityName) modalityName = "unknown SOP class"; + OFLOG_ERROR(*m_pLoggerStoreSCU, "No presentation context for: (" << modalityName << ") " << sopClass); + return DIMSE_NOVALIDPRESENTATIONCONTEXTID; + } + + + T_ASC_PresentationContext pc; + ASC_findAcceptedPresentationContext(assoc->params, presID, &pc); + DcmXfer netTransfer(pc.acceptedTransferSyntax); + + /* if required, dump general information concerning transfer syntaxes */ + + if (m_pLoggerStoreSCU->isEnabledFor(OFLogger::INFO_LOG_LEVEL)) { + + //register global JPEG decompression codecs + DJDecoderRegistration::registerCodecs(); + + // register global JPEG compression codecs + DJEncoderRegistration::registerCodecs(); + + DcmXfer fileTransfer(dcmff.getDataset()->getOriginalXfer()); + OFLOG_INFO(*m_pLoggerStoreSCU, "Converting transfer syntax: " << fileTransfer.getXferName() + << " -> " << netTransfer.getXferName()); + } + + + dcmff.getDataset()->chooseRepresentation(netTransfer.getXfer(), NULL); +#ifdef ON_THE_FLY_COMPRESSION + +#endif + + /* prepare the transmission of data */ + bzero(OFreinterpret_cast(char *, &req), sizeof(req)); + req.MessageID = msgId; + strcpy(req.AffectedSOPClassUID, sopClass); + strcpy(req.AffectedSOPInstanceUID, sopInstance); + req.DataSetType = DIMSE_DATASET_PRESENT; + req.Priority = DIMSE_PRIORITY_LOW; + + /* if required, dump some more general information */ + OFLOG_INFO(*m_pLoggerStoreSCU, "Sending Store Request (MsgID " << msgId << ", " << dcmSOPClassUIDToModality(sopClass, "OT") << ")"); + + + + DIMSE_PrivateUserContext dpuc; + T_DIMSE_StoreProgress store_progress; + //dpuc.pCallbackThread = m_pCallbackThread; + dpuc.pCallback = m_pCallback; + dpuc.pThis = this; + dpuc.assoc = assoc; + dpuc.bSendComplete = false; + dpuc.progress = &store_progress; + + m_DIMSEBlockMode = DIMSE_NONBLOCKING; + + m_nTimeoutDIMSE = 5; + + T_DIMSE_DetectedCancelParameters dcp; + + /* finally conduct transmission of data */ + cond = DIMSE_storeUser(assoc, presID, &req, + fname, dcmff.getDataset(), ProgressCallback, &dpuc, + m_DIMSEBlockMode, m_nTimeoutDIMSE, + &rsp, &statusDetail, &dcp, OFStandard::getFileSize(fname)); + + QElapsedTimer timeElapsed; + timeElapsed.start(); + + bool bError = false; + + while(dpuc.bSendComplete==false && bError==false && store_progress.state!=DIMSE_StoreEnd) + { + QThread::usleep(100*1000); + + if(timeElapsed.elapsed()>m_nTimeoutDIMSE*1000) + { + bError = true; + } + + timeElapsed.restart(); + } + + if(bError==true) + { + + } + + if(cond.bad()==OFTrue) + { + return cond; + } + /* + cond = DIMSE_storeUser(assoc, presID, &req, + fname, dcmff.getDataset(), ProgressCallback, NULL, + m_DIMSEBlockMode, m_nTimeoutDIMSE, + &rsp, &statusDetail, NULL, OFStandard::getFileSize(fname)); + */ + + /* + * If store command completed normally, with a status + * of success or some warning then the image was accepted. + */ + if (cond == EC_Normal && (rsp.DimseStatus == STATUS_Success || DICOM_WARNING_STATUS(rsp.DimseStatus))) + { + m_bUnsuccessfulStoreEncountered = OFFalse; + } + + + + /* remember the response's status for later transmissions of data */ + m_nLastStatusCode = rsp.DimseStatus; + + /* dump some more general information */ + if (cond == EC_Normal) + { + OFString temp_str; + if (m_pLoggerStoreSCU->isEnabledFor(OFLogger::DEBUG_LOG_LEVEL)) + { + OFLOG_INFO(*m_pLoggerStoreSCU, "Received Store Response"); + //OFLOG_DEBUG(*m_pLoggerStoreSCU, DIMSE_dumpMessage(temp_str, rsp, DIMSE_INCOMING, NULL, presID)); + } + else { + OFLOG_INFO(*m_pLoggerStoreSCU, "Received Store Response (" << DU_cstoreStatusString(rsp.DimseStatus) << ")"); + } + + if (m_pLoggerStoreSCU->isEnabledFor(OFLogger::TRACE_LOG_LEVEL)) + { + OFLOG_ERROR(*m_pLoggerStoreSCU, "Dump dcm file: " << fname << ":" << OFendl << DimseCondition::dump(temp_str, cond)); + } + + } + else + { + OFString temp_str; + OFLOG_ERROR(*m_pLoggerStoreSCU, "Store Failed, file: " << fname << ":" << OFendl << DimseCondition::dump(temp_str, cond)); + } + + /* dump status detail information if there is some */ + if (statusDetail != NULL) { + OFLOG_DEBUG(*m_pLoggerStoreSCU, "Status Detail:" << OFendl << DcmObject::PrintHelper(*statusDetail)); + delete statusDetail; + } + /* return */ + return cond; +} + + + + +void CSDCMSendImpl::ReplaceSOPInstanceInformation(DcmDataset *dataset) +{ +// static OFCmdUnsignedInt patientCounter = 0; +// static OFCmdUnsignedInt studyCounter = 0; +// static OFCmdUnsignedInt seriesCounter = 0; + static OFCmdUnsignedInt imageCounter = 0; +// static OFString seriesInstanceUID; +// static OFString seriesNumber; +// static OFString studyInstanceUID; +// static OFString studyID; +// static OFString accessionNumber; +// static OFString patientID; +// static OFString patientName; +// +// if (seriesInstanceUID.empty()) seriesInstanceUID = makeUID(SITE_SERIES_UID_ROOT, OFstatic_cast(int, seriesCounter)); +// if (seriesNumber.empty()) seriesNumber = intToString(OFstatic_cast(int, seriesCounter)); +// if (studyInstanceUID.empty()) studyInstanceUID = makeUID(SITE_STUDY_UID_ROOT, OFstatic_cast(int, studyCounter)); +// if (studyID.empty()) studyID = studyIDPrefix + intToString(OFstatic_cast(int, secondsSince1970())) + intToString(OFstatic_cast(int, studyCounter)); +// if (accessionNumber.empty()) accessionNumber = accessionNumberPrefix + intToString(secondsSince1970()) + intToString(OFstatic_cast(int, studyCounter)); +// if (patientID.empty()) patientID = patientIDPrefix + intToString(secondsSince1970()) + intToString(OFstatic_cast(int, patientCounter)); +// if (patientName.empty()) patientName = patientNamePrefix + intToString(secondsSince1970()) + intToString(OFstatic_cast(int, patientCounter)); +// +// if (imageCounter >= opt_inventSeriesCount) { +// imageCounter = 0; +// seriesCounter++; +// seriesInstanceUID = makeUID(SITE_SERIES_UID_ROOT, OFstatic_cast(int, seriesCounter)); +// seriesNumber = intToString(OFstatic_cast(int, seriesCounter)); +// } +// if (seriesCounter >= opt_inventStudyCount) { +// seriesCounter = 0; +// studyCounter++; +// studyInstanceUID = makeUID(SITE_STUDY_UID_ROOT, OFstatic_cast(int, studyCounter)); +// studyID = studyIDPrefix + intToString(secondsSince1970()) + intToString(OFstatic_cast(int, studyCounter)); +// accessionNumber = accessionNumberPrefix + intToString(secondsSince1970()) + intToString(OFstatic_cast(int, studyCounter)); +// } +// if (studyCounter >= opt_inventPatientCount) { +// // we create as many patients as necessary */ +// studyCounter = 0; +// patientCounter++; +// patientID = patientIDPrefix + intToString(secondsSince1970()) + intToString(OFstatic_cast(int, patientCounter)); +// patientName = patientNamePrefix + intToString(secondsSince1970()) + intToString(OFstatic_cast(int, patientCounter)); +// } +// +// OFString sopInstanceUID = makeUID(SITE_INSTANCE_UID_ROOT, OFstatic_cast(int, imageCounter)); +// OFString imageNumber = intToString(OFstatic_cast(int, imageCounter)); +// +// OFLOG_INFO(*m_pLoggerStoreSCU, "Inventing Identifying Information (" +// << "pa" << patientCounter << ", st" << studyCounter +// << ", se" << seriesCounter << ", im" << imageCounter << "):"); +// OFLOG_INFO(*m_pLoggerStoreSCU, " PatientName=" << patientName); +// OFLOG_INFO(*m_pLoggerStoreSCU, " PatientID=" << patientID); +// OFLOG_INFO(*m_pLoggerStoreSCU, " StudyInstanceUID=" << studyInstanceUID); +// OFLOG_INFO(*m_pLoggerStoreSCU, " StudyID=" << studyID); +// OFLOG_INFO(*m_pLoggerStoreSCU, " SeriesInstanceUID=" << seriesInstanceUID); +// OFLOG_INFO(*m_pLoggerStoreSCU, " SeriesNumber=" << seriesNumber); +// OFLOG_INFO(*m_pLoggerStoreSCU, " SOPInstanceUID=" << sopInstanceUID); +// OFLOG_INFO(*m_pLoggerStoreSCU, " ImageNumber=" << imageNumber); +// +// updateStringAttributeValue(dataset, DCM_PatientName, patientName); +// updateStringAttributeValue(dataset, DCM_PatientID, patientID); +// updateStringAttributeValue(dataset, DCM_StudyInstanceUID, studyInstanceUID); +// updateStringAttributeValue(dataset, DCM_StudyID, studyID); +// updateStringAttributeValue(dataset, DCM_SeriesInstanceUID, seriesInstanceUID); +// updateStringAttributeValue(dataset, DCM_SeriesNumber, seriesNumber); +// updateStringAttributeValue(dataset, DCM_SOPInstanceUID, sopInstanceUID); +// updateStringAttributeValue(dataset, DCM_InstanceNumber, imageNumber); + + imageCounter++; +} + + +void CSDCMSendImpl::ProgressCallback(void * callbackData, T_DIMSE_StoreProgress *progress, T_DIMSE_C_StoreRQ * req) +{ + //TRACE("Send Bytes: %d\r\n", progress->progressBytes); + DIMSE_PrivateUserContext* pPrivate = (DIMSE_PrivateUserContext*)callbackData; + //T_ASC_Association *assoc = pPrivate->assoc; + if (pPrivate->pCallback != NULL) + { + CALLBACK_STATE(pPrivate->pCallback, progress->progressBytes, progress->totalBytes); + } + + CSDCMSendImpl* pThis = pPrivate->pThis; + OFLogger* pLog = pThis->GetLogger(); + + if (progress->state == DIMSE_StoreBegin) + { + OFString str; + OFLOG_DEBUG(*pLog, DIMSE_dumpMessage(str, *req, DIMSE_OUTGOING)); + } + + // We can't use oflog for the pdu output, but we use a special logger for + // generating this output. If it is set to level "INFO" we generate the + // output, if it's set to "DEBUG" then we'll assume that there is debug output + // generated for each PDU elsewhere. + //OFLogger progressLogger = OFLog::getLogger("dcmtk.apps." OFFIS_CONSOLE_APPLICATION ".progress"); + //if (progressLogger.getChainedLogLevel() == OFLogger::INFO_LOG_LEVEL) { + switch (progress->state) { + case DIMSE_StoreBegin: + break; + case DIMSE_StoreEnd: + pPrivate->bSendComplete = true; + + if (pPrivate->pCallback != NULL) + { + CALLBACK_STATE(pPrivate->pCallback, progress->progressBytes, progress->totalBytes); + + //CALLBACK_COMPLETE(pPrivate->pCallback); + } + break; + default: + { + + } + break; + } + //COUT.flush(); + //} +} + +/* +void CSDCMSendImpl::ProgressCallback(void * callbackData, T_DIMSE_StoreProgress *progress, T_DIMSE_C_StoreRQ * req) +{ + //TRACE("Send Bytes: %d\r\n", progress->progressBytes); + DIMSE_PrivateUserContext* pPrivate = (DIMSE_PrivateUserContext*)callbackData; + if(pPrivate->pCallbackThread!=NULL) + { + pPrivate->pCallbackThread->PostThreadMessage(WM_PROGRESS_SEND_PROGRESS, (WPARAM)progress->progressBytes, (LPARAM)progress->totalBytes); + } + + if (progress->state == DIMSE_StoreBegin) + { + OFString str; + //OFLOG_DEBUG(*m_pLoggerStoreSCU, DIMSE_dumpMessage(str, *req, DIMSE_OUTGOING)); + } + + // We can't use oflog for the pdu output, but we use a special logger for + // generating this output. If it is set to level "INFO" we generate the + // output, if it's set to "DEBUG" then we'll assume that there is debug output + // generated for each PDU elsewhere. + //OFLogger progressLogger = OFLog::getLogger("dcmtk.apps." OFFIS_CONSOLE_APPLICATION ".progress"); + //if (progressLogger.getChainedLogLevel() == OFLogger::INFO_LOG_LEVEL) { + switch (progress->state) { + case DIMSE_StoreBegin: + break; + case DIMSE_StoreEnd: + if(pPrivate->pCallbackThread!=NULL) + { + pPrivate->pCallbackThread->PostThreadMessage(WM_PROGRESS_SEND_PROGRESS, (WPARAM)progress->totalBytes, (LPARAM)progress->totalBytes); + } + break; + default: + break; + } + //COUT.flush(); + //} +} +*/ + + +OFBool CSDCMSendImpl::FindSOPClassAndInstanceInFile(const char *fname, char *sopClass, char *sopInstance) +{ + DcmFileFormat dcmff; + + DcmDataset* pDcmDataset = NULL; + + OFCondition cond = dcmff.loadFile(fname, EXS_Unknown, EGL_noChange, DCM_MaxReadLength, m_ReadMode); + + if (cond.bad()==OFTrue) + return OFFalse; + + pDcmDataset = dcmff.getDataset(); + pDcmDataset->loadAllDataIntoMemory(); + + DIC_UI uisopClass; + DIC_UI uisopInstance; + + /* look in the meta-header first */ + //OFBool found = DU_findSOPClassAndInstanceInDataSet((DcmItem *)ff.getMetaInfo(), sopClass, sopInstance, m_bCorrectUIDPadding); + OFBool found = DU_findSOPClassAndInstanceInDataSet(pDcmDataset, uisopClass, sizeof(uisopClass), uisopInstance, sizeof(uisopInstance), m_bCorrectUIDPadding); + + int nLength = 0; + nLength = strlen(uisopClass); + memcpy(sopClass, uisopClass, nLength); + + nLength = strlen(uisopInstance); + memcpy(sopInstance, uisopInstance, nLength); + + if (!found) + { + //found = DU_findSOPClassAndInstanceInDataSet(ff.getDataset(), sopClass, sopInstance, m_bCorrectUIDPadding); + found = DU_findSOPClassAndInstanceInDataSet(pDcmDataset, uisopClass, sizeof(uisopClass), uisopInstance, sizeof(uisopInstance), m_bCorrectUIDPadding); + + OFString strSOPClassUID; + pDcmDataset->findAndGetOFString(DCM_SOPClassUID, strSOPClassUID); + + + } + + dcmff.clear(); + + pDcmDataset->clear(); + + return found; +} + +void CSDCMSendImpl::SetAETitle(OFString strAETitle) +{ + m_strAETitle = strAETitle; +} + +void CSDCMSendImpl::SetServerInfo(OFString strServerAETitle, OFString strClientAETitle, OFString strIP, int nPort, int nConnectionType, int nBlockingMethod) +{ + m_strAETitle = strClientAETitle; + m_strServerAETitle = strServerAETitle; + m_strHostIP = strIP; + m_nPort = nPort; + + m_ConnectType = (SNETWORK_CONNECTION)nConnectionType; + m_BlockMode = (SNETWORK_BLOCK_MODE)nBlockingMethod; +} + +void CSDCMSendImpl::SetServerInfo(QString strServerAETitle, QString strClientAETitle, QString strIP, int nPort, int nConnectionType, int nBlockingMethod) +{ + m_strAETitle = strClientAETitle.toStdString().c_str(); + m_strServerAETitle = strServerAETitle.toStdString().c_str(); + m_strHostIP = strIP.toStdString().c_str(); + m_nPort = nPort; + + m_ConnectType = (SNETWORK_CONNECTION)nConnectionType; + m_BlockMode = (SNETWORK_BLOCK_MODE)nBlockingMethod; +} + +void CSDCMSendImpl::AddImageFilename(OFString strFilename) +{ + m_ImageFileNameList.push_back(strFilename); +} + +void CSDCMSendImpl::AddMpegFilename(OFString strFilename) +{ + m_MpegFileNameList.push_back(strFilename); +} + +void CSDCMSendImpl::ClearFileList() +{ + ClearImageFileList(); + ClearMpegFileList(); +} + +void CSDCMSendImpl::ClearImageFileList() +{ + m_ImageFileNameList.clear(); +} + +void CSDCMSendImpl::ClearMpegFileList() +{ + m_MpegFileNameList.clear(); +} + +void CSDCMSendImpl::SetCurrentFilenameList(int nCurrent) +{ + if(nCurrent==0) + { + m_pCurrentFileNameList = NULL; + } + else if(nCurrent==1) + { + m_pCurrentFileNameList = &m_ImageFileNameList; + } + else if(nCurrent==2) + { + m_pCurrentFileNameList = &m_MpegFileNameList; + } +} + +int CSDCMSendImpl::GetImageFileCount() +{ + return m_ImageFileNameList.size(); +} + +int CSDCMSendImpl::GetMpegFileCount() +{ + return m_MpegFileNameList.size(); +} + +vector CSDCMSendImpl::Send(CSCallback* pCallback, int nTimeoutDIMSE, int nTimeoutACSE, E_TransferSyntax networkTransferSyntax) +{ + m_pCallback = pCallback; + if(nTimeoutDIMSE>0) + { + m_nTimeoutDIMSE = nTimeoutDIMSE; + } + + if(nTimeoutACSE>0) + { + m_nTimeoutACSE = nTimeoutACSE; + + } + + dcmConnectionTimeout.set(m_nTimeoutACSE); + + + m_NetworkTransferSyntax = networkTransferSyntax; + + + //PostThreadMessage(WM_DCM_SEND, NULL, NULL); + return OnDCMSend(); +} + +/* +int CSDCMSendImpl::Send(CSThread* pCallbackThread, int nTimeoutDIMSE, int nTimeoutACSE, E_TransferSyntax networkTransferSyntax) +{ + m_pCallbackThread = pCallbackThread; + m_nTimeoutDIMSE = nTimeoutDIMSE; + m_nTimeoutACSE = nTimeoutACSE; + m_NetworkTransferSyntax = networkTransferSyntax; + + PostThreadMessage(WM_DCM_SEND, NULL, NULL); + + + return 0; +} +*/ + +vector CSDCMSendImpl::OnDCMSend() +{ + vector listSendCompleteFile; + //SetSleep(10); + const char* pServerAETitle = NULL; + const char* pClientAETitle = NULL; + OFString strServerIPnPort; + +// char* pPeer = NULL; + + OFBool bSecureConnection = false; + + OFList sopClassUIDList; // the list of SOP classes + OFList sopInstanceUIDList; // the list of SOP instances + + + OFCondition cond; + + int nLength = 0; + + char sopClassUID[128]; + char sopInstanceUID[128]; + + OFString temp_str; + + //fileNameList.push_back("test.dcm"); + + if(m_pCurrentFileNameList->size()==0) + { + return listSendCompleteFile; + } + + OFListIterator(OFString) iterFirst = m_pCurrentFileNameList->begin(); + + + //FindSOPClassAndInstanceInFile("mpeg_test.dcm", sopClassUID, sopInstanceUID); + memset(sopClassUID, 0, 128); + memset(sopInstanceUID, 0, 128); + + bool bFindInstanceUID = false; + + while(bFindInstanceUID==false && iterFirst!=m_pCurrentFileNameList->end()) + { + OFString strFirstDcmFile = *iterFirst; + FindSOPClassAndInstanceInFile(strFirstDcmFile.c_str(), sopClassUID, sopInstanceUID); + iterFirst++; + } + + + + pServerAETitle = m_strServerAETitle.c_str(); + pClientAETitle = m_strAETitle.c_str(); + + //m_nTimeoutACSE = 10; + + //DCM_dcmnetLogger = *m_pLoggerStoreSCU; + + OFLogger log = OFLog::getLogger("store.log"); + m_pLoggerStoreSCU = &log; + m_pLoggerStoreSCU->setLogLevel(dcmtk::log4cplus::FATAL_LOG_LEVEL); + + dcmConnectionTimeout.set(m_nTimeoutACSE); + + OFLOG_INFO(*m_pLoggerStoreSCU, "------------------------ DICOM Store Start --------------------------------------------"); + + CALLBACK_INFO(m_pCallback, INITIALIZE_NETWORK); + cond = ASC_initializeNetwork(NET_REQUESTOR, 0, m_nTimeoutACSE, &m_pNetwork); + if (cond.bad()) + { + CALLBACK_ERROR(m_pCallback, INITIALIZE_NETWORK); + return listSendCompleteFile; + } + + CALLBACK_INFO(m_pCallback, CREATE_ASSOCIATION_PARAMETERS); + /* initialize asscociation parameters, i.e. create an instance of T_ASC_Parameters*. */ + cond = ASC_createAssociationParameters(&m_pNetworkParams, m_nMaxReceivePDULength); + if (cond.bad()) + { + CALLBACK_ERROR(m_pCallback, CREATE_ASSOCIATION_PARAMETERS); + return listSendCompleteFile; + } + + CALLBACK_INFO(m_pCallback, SET_APTITLES); + /* sets this application's title and the called application's title in the params */ + /* structure. The default values to be set here are "STORESCU" and "ANY-SCP". */ + cond = ASC_setAPTitles(m_pNetworkParams, pClientAETitle, pServerAETitle, NULL); + if (cond.bad()) + { + CALLBACK_ERROR(m_pCallback, SET_APTITLES); + return listSendCompleteFile; + } + + CALLBACK_INFO(m_pCallback, SET_TRANSPORT_LAYER_TYPE); + cond = ASC_setTransportLayerType(m_pNetworkParams, bSecureConnection); + if (cond.bad()) + { + CALLBACK_ERROR(m_pCallback, SET_TRANSPORT_LAYER_TYPE); + //Sleep(10); + return listSendCompleteFile; + } + + /* Figure out the presentation addresses and copy the */ + /* corresponding values into the association parameters.*/ + gethostname(m_LocalHost, sizeof(m_LocalHost) - 1); + // sprintf(peerHost, "%s:%d", pPeer, OFstatic_cast(int, m_nPort)); + + //sprintf(m_LocalHost, "192.168.123.23"); + char* pStrServerIPnPort = new char[1024]; + sprintf(pStrServerIPnPort, "%s:%d", m_strHostIP.c_str(), m_nPort); + strServerIPnPort = pStrServerIPnPort; + delete[] pStrServerIPnPort; + + + + nLength = strServerIPnPort.length(); + const char* pData = NULL; + pData = strServerIPnPort.c_str(); + memset(m_PeerHost, 0, sizeof(m_PeerHost)); + memcpy(m_PeerHost, pData, nLength); + + CALLBACK_INFO(m_pCallback, SET_PRESENTATION_ADDRESSES); + cond = ASC_setPresentationAddresses(m_pNetworkParams, m_LocalHost, m_PeerHost); + if (cond.bad()) + { + CALLBACK_ERROR(m_pCallback, SET_TRANSPORT_LAYER_TYPE); + //Sleep(10); + return listSendCompleteFile; + } + + sopClassUIDList.push_back(sopClassUID); + sopInstanceUIDList.push_back(sopInstanceUID); + + CALLBACK_INFO(m_pCallback, ADD_STORAGE_PRESENTATION_CONTEXTS); + cond = AddStoragePresentationContexts(m_pNetworkParams, sopClassUIDList); + if (cond.bad()) + { + CALLBACK_ERROR(m_pCallback, ADD_STORAGE_PRESENTATION_CONTEXTS); + return listSendCompleteFile; + } + + +//#include "dcmtk\dcmnet\dul.h" +// m_pNetworkParams->DULparams.requestedPresentationContext; + + CALLBACK_INFO(m_pCallback, REQUEST_ASSOCIATION); + cond = ASC_requestAssociation(m_pNetwork, m_pNetworkParams, &m_pAssoc); + if (cond.bad()) + { + if (cond == DUL_ASSOCIATIONREJECTED) + { + CALLBACK_ERROR(m_pCallback, REJECTED_ASSOCIATION); + + T_ASC_RejectParameters rej; + + ASC_getRejectParameters(m_pNetworkParams, &rej); + + OFLOG_FATAL(*m_pLoggerStoreSCU, "Association Rejected:" << OFendl << ASC_printRejectParameters(temp_str, &rej)); + } + else + { + CALLBACK_ERROR(m_pCallback, UNKNOWN_ERROR_ASSOCIATION); + + OFLOG_FATAL(*m_pLoggerStoreSCU, "Association Rejected:" << OFendl << cond.text()); + + if (m_pAssoc != NULL) + { + cond = ASC_destroyAssociation(&m_pAssoc); + } + if (m_pNetwork != NULL) + { + cond = ASC_dropNetwork(&m_pNetwork); + } + } + return listSendCompleteFile; + } + + CALLBACK_INFO(m_pCallback, COUNT_ACCEPTED_PRESENTATION_CONTEXTS); + if (ASC_countAcceptedPresentationContexts(m_pNetworkParams) == 0) + { + OFLOG_FATAL(*m_pLoggerStoreSCU, "No Acceptable Presentation Contexts"); + CALLBACK_ERROR(m_pCallback, COUNT_ACCEPTED_PRESENTATION_CONTEXTS); + + if (m_pAssoc != NULL) + { + cond = ASC_destroyAssociation(&m_pAssoc); + } + if (m_pNetwork != NULL) + { + cond = ASC_dropNetwork(&m_pNetwork); + } + return listSendCompleteFile; + } + + CALLBACK_INFO(m_pCallback, CHECK_USER_IDENTITY_RESPONSE); + cond = CheckUserIdentityResponse(m_pNetworkParams); + if (cond.bad()) + { + OFLOG_FATAL(*m_pLoggerStoreSCU, DimseCondition::dump(temp_str, cond)); + CALLBACK_ERROR(m_pCallback, CHECK_USER_IDENTITY_RESPONSE); + + if (m_pAssoc != NULL) + { + cond = ASC_destroyAssociation(&m_pAssoc); + } + if (m_pNetwork != NULL) + { + cond = ASC_dropNetwork(&m_pNetwork); + } + return listSendCompleteFile; + } + + cond = EC_Normal; + OFListIterator(OFString) iter = m_pCurrentFileNameList->begin(); + OFListIterator(OFString) enditer = m_pCurrentFileNameList->end(); + + CALLBACK_INFO(m_pCallback, TRY_STORE_SCU); + + bool bExitSend = false; + CSCallbackSendProgress* pCallbackSendProgress = (CSCallbackSendProgress*)m_pCallback; + + if (iter != enditer) + { + while ((iter != enditer) && cond.good() && (bExitSend=pCallbackSendProgress->IsExitSend())==false) + { + cond = cstore(m_pAssoc, *iter); + + if (cond.good()) + { + OFString strTmpFile = *iter; + QString strFilename = strTmpFile.c_str(); + + listSendCompleteFile.push_back(strFilename); + cond = EC_Normal; + m_bUnsuccessfulStoreEncountered = false; + + usleep(100); + } + else + { + int a=0; + } + ++iter; + } + } + else + { + cond = cstore(m_pAssoc, *iter); + } + + if(bExitSend==true) + { + int a=0; + } + + + if (cond == EC_Normal) + { + if (m_bAbortAssociation == true) + { + OFLOG_INFO(*m_pLoggerStoreSCU, "Aborting Association"); + CALLBACK_INFO(m_pCallback, ABORT_ASSOCIATION); + cond = ASC_abortAssociation(m_pAssoc); + if (cond.bad()) + { + OFLOG_ERROR(*m_pLoggerStoreSCU, "Association Abort Failed: " << DimseCondition::dump(temp_str, cond)); + CALLBACK_ERROR(m_pCallback, ABORT_ASSOCIATION); + return listSendCompleteFile; + } + } + else { + /* release association */ + OFLOG_INFO(*m_pLoggerStoreSCU, "Releasing Association"); + CALLBACK_INFO(m_pCallback, RELEASE_ASSOCIATION); + cond = ASC_releaseAssociation(m_pAssoc); + if (cond.bad()) + { + OFLOG_FATAL(*m_pLoggerStoreSCU, "Association Release Failed: " << DimseCondition::dump(temp_str, cond)); + CALLBACK_ERROR(m_pCallback, RELEASE_ASSOCIATION); + return listSendCompleteFile; + } + } + + CALLBACK_INFO(m_pCallback, DESTROY_ASSOCIATION); + /* destroy the association, i.e. free memory of T_ASC_Association* structure. This */ + /* call is the counterpart of ASC_requestAssociation(...) which was called above. */ + cond = ASC_destroyAssociation(&m_pAssoc); + if (cond.bad()) + { + OFLOG_FATAL(*m_pLoggerStoreSCU, DimseCondition::dump(temp_str, cond)); + CALLBACK_ERROR(m_pCallback, DESTROY_ASSOCIATION); + return listSendCompleteFile; + } + /* drop the network, i.e. free memory of T_ASC_Network* structure. This call */ + /* is the counterpart of ASC_initializeNetwork(...) which was called above. */ + CALLBACK_INFO(m_pCallback, DROP_NETWORK); + cond = ASC_dropNetwork(&m_pNetwork); + if (cond.bad()) + { + OFLOG_INFO(*m_pLoggerStoreSCU, DimseCondition::dump(temp_str, cond)); + CALLBACK_INFO(m_pCallback, DROP_NETWORK); + return listSendCompleteFile; + } + + OFLOG_INFO(*m_pLoggerStoreSCU, "------------------------------------ End --------------------------------------------"); + + //CALLBACK_COMPLETE(m_pCallback); + + //SetSleep(10); + + return listSendCompleteFile; + + + } + else if (cond == DUL_PEERREQUESTEDRELEASE) + { + CALLBACK_INFO(m_pCallback, PEER_REQUESTED_RELEASE); + + OFLOG_ERROR(*m_pLoggerStoreSCU, "Protocol Error: Peer requested release (Aborting)"); + OFLOG_INFO(*m_pLoggerStoreSCU, "Aborting Association"); + + CALLBACK_INFO(m_pCallback, ABORT_ASSOCIATION); + cond = ASC_abortAssociation(m_pAssoc); + if (cond.bad()) + { + OFLOG_ERROR(*m_pLoggerStoreSCU, "Association Abort Failed: " << DimseCondition::dump(temp_str, cond)); + CALLBACK_ERROR(m_pCallback, ABORT_ASSOCIATION); + return listSendCompleteFile; + } + } + else if (cond == DUL_PEERABORTEDASSOCIATION) + { + CALLBACK_ERROR(m_pCallback, PEER_ABORTED_ASSOCIATION); + OFLOG_INFO(*m_pLoggerStoreSCU, "Peer Aborted Association"); + } + else + { + CALLBACK_ERROR(m_pCallback, TRY_STORE_SCU); + OFLOG_ERROR(*m_pLoggerStoreSCU, "Store SCU Failed: " << DimseCondition::dump(temp_str, cond)); + OFLOG_INFO(*m_pLoggerStoreSCU, "Aborting Association"); + + CALLBACK_INFO(m_pCallback, ABORT_ASSOCIATION); + if(cond.code()!=526) + { + cond = ASC_abortAssociation(m_pAssoc); + } + + if (cond.bad()) + { + CALLBACK_ERROR(m_pCallback, ABORT_ASSOCIATION); + OFLOG_ERROR(*m_pLoggerStoreSCU, "Association Abort Failed: " << DimseCondition::dump(temp_str, cond)); + + CALLBACK_INFO(m_pCallback, DESTROY_ASSOCIATION); + cond = ASC_destroyAssociation(&m_pAssoc); + + return listSendCompleteFile; + } + } + + CALLBACK_INFO(m_pCallback, DESTROY_ASSOCIATION); + /* destroy the association, i.e. free memory of T_ASC_Association* structure. This */ + /* call is the counterpart of ASC_requestAssociation(...) which was called above. */ + cond = ASC_destroyAssociation(&m_pAssoc); + if (cond.bad()) + { + OFLOG_FATAL(*m_pLoggerStoreSCU, DimseCondition::dump(temp_str, cond)); + CALLBACK_ERROR(m_pCallback, DESTROY_ASSOCIATION); + return listSendCompleteFile; + } + /* drop the network, i.e. free memory of T_ASC_Network* structure. This call */ + /* is the counterpart of ASC_initializeNetwork(...) which was called above. */ + CALLBACK_INFO(m_pCallback, DROP_NETWORK); + cond = ASC_dropNetwork(&m_pNetwork); + if (cond.bad()) + { + OFLOG_FATAL(*m_pLoggerStoreSCU, DimseCondition::dump(temp_str, cond)); + CALLBACK_INFO(m_pCallback, DROP_NETWORK); + return listSendCompleteFile; + } + + OFLOG_FATAL(*m_pLoggerStoreSCU, "------------------------------------ End --------------------------------------------"); + + + return listSendCompleteFile; + + //SetSleep(10); + + /* + SetSleep(10); + const char* pServerAETitle = NULL; + const char* pClientAETitle = NULL; + OFString strServerIPnPort; + + char* pPeer = NULL; + + OFBool bSecureConnection = false; + + OFList sopClassUIDList; // the list of SOP classes + OFList sopInstanceUIDList; // the list of SOP instances + + + OFCondition cond; + + int nLength = 0; + + char sopClassUID[128]; + char sopInstanceUID[128]; + + OFString temp_str; + + //fileNameList.push_back("test.dcm"); + + OFListIterator(OFString) iterFirst = m_pCurrentFileNameList->begin(); + OFString strFirstDcmFile = *iterFirst; + + //FindSOPClassAndInstanceInFile("mpeg_test.dcm", sopClassUID, sopInstanceUID); + memset(sopClassUID, 0, 128); + memset(sopInstanceUID, 0, 128); + + FindSOPClassAndInstanceInFile(strFirstDcmFile.c_str(), sopClassUID, sopInstanceUID); + + + pServerAETitle = m_strServerAETitle.c_str(); + pClientAETitle = m_strAETitle.c_str(); + + m_nTimeoutACSE = 10; + + m_pLoggerStoreSCU->ClearLog(); + + //DCM_dcmnetLogger = *m_pLoggerStoreSCU; + + OFLOG_FATAL(*m_pLoggerStoreSCU, "------------------------ DICOM Store Start --------------------------------------------"); + + m_pCallbackThread->PostThreadMessage(WM_PROGRESS_SEND, 1, NULL); + Sleep(10); + + cond = ASC_initializeNetwork(NET_REQUESTOR, 0, m_nTimeoutACSE, &m_pNetwork); + if (cond.bad()) + { + m_pCallbackThread->PostThreadMessage(WM_PROGRESS_SEND_ERROR, 1, NULL); + Sleep(10); + return; + } + + m_pCallbackThread->PostThreadMessage(WM_PROGRESS_SEND, 2, NULL); + Sleep(10); + + cond = ASC_createAssociationParameters(&m_pNetworkParams, m_nMaxReceivePDULength); + if (cond.bad()) + { + m_pCallbackThread->PostThreadMessage(WM_PROGRESS_SEND_ERROR, 2, NULL); + Sleep(10); + return; + } + + m_pCallbackThread->PostThreadMessage(WM_PROGRESS_SEND, 3, NULL); + Sleep(10); + + cond = ASC_setAPTitles(m_pNetworkParams, pClientAETitle, pServerAETitle, NULL); + if (cond.bad()) + { + m_pCallbackThread->PostThreadMessage(WM_PROGRESS_SEND_ERROR, 3, NULL); + Sleep(10); + return; + } + + m_pCallbackThread->PostThreadMessage(WM_PROGRESS_SEND, 4, NULL); + Sleep(10); + + cond = ASC_setTransportLayerType(m_pNetworkParams, bSecureConnection); + if (cond.bad()) + { + m_pCallbackThread->PostThreadMessage(WM_PROGRESS_SEND_ERROR, 4, NULL); + Sleep(10); + return; + } + + gethostname(m_LocalHost, sizeof(m_LocalHost)-1); +// sprintf(peerHost, "%s:%d", pPeer, OFstatic_cast(int, m_nPort)); + + //sprintf(m_LocalHost, "192.168.123.23"); + char* pStrServerIPnPort = new char[1024]; + sprintf(pStrServerIPnPort, "%s:%d", m_strHostIP.c_str(), m_nPort); + strServerIPnPort = pStrServerIPnPort; + delete[] pStrServerIPnPort; + + + + nLength = strServerIPnPort.length(); + const char* pData = NULL; + pData = strServerIPnPort.c_str(); + memset(m_PeerHost, 0, sizeof(m_PeerHost)); + memcpy(m_PeerHost, pData, nLength); + + m_pCallbackThread->PostThreadMessage(WM_PROGRESS_SEND, 5, NULL); + Sleep(10); + + cond = ASC_setPresentationAddresses(m_pNetworkParams, m_LocalHost, m_PeerHost); + if (cond.bad()) + { + m_pCallbackThread->PostThreadMessage(WM_PROGRESS_SEND_ERROR, 5, NULL); + Sleep(10); + return; + } + + sopClassUIDList.push_back(sopClassUID); + sopInstanceUIDList.push_back(sopInstanceUID); + + m_pCallbackThread->PostThreadMessage(WM_PROGRESS_SEND, 6, NULL); + Sleep(10); + + cond = AddStoragePresentationContexts(m_pNetworkParams, sopClassUIDList); + if (cond.bad()) + { + m_pCallbackThread->PostThreadMessage(WM_PROGRESS_SEND_ERROR, 6, NULL); + Sleep(10); + return; + } + + dcmConnectionTimeout.set(5); + +#include "dcmtk\dcmnet\dul.h" + m_pNetworkParams->DULparams.requestedPresentationContext; + + m_pCallbackThread->PostThreadMessage(WM_PROGRESS_SEND, 7, NULL); + Sleep(10); + + cond = ASC_requestAssociation(m_pNetwork, m_pNetworkParams, &m_pAssoc); + //cond = m_pNetClass->ASC_requestAssociation(m_pNetwork, m_pNetworkParams, &m_pAssoc); + if (cond.bad()) + { + if (cond == DUL_ASSOCIATIONREJECTED) + { + T_ASC_RejectParameters rej; + + ASC_getRejectParameters(m_pNetworkParams, &rej); + + OFLOG_FATAL(*m_pLoggerStoreSCU, "Association Rejected:" << OFendl << ASC_printRejectParameters(temp_str, &rej)); + } + else + { + + OFLOG_FATAL(*m_pLoggerStoreSCU, "Association Rejected:" << OFendl << cond.text()); + + if(m_pAssoc!=NULL) + { + cond = ASC_destroyAssociation(&m_pAssoc); + } + if(m_pNetwork!=NULL) + { + cond = ASC_dropNetwork(&m_pNetwork); + } + } + + m_pCallbackThread->PostThreadMessage(WM_PROGRESS_SEND_ERROR, 7, NULL); + Sleep(10); + return; + } + + m_pCallbackThread->PostThreadMessage(WM_PROGRESS_SEND, 8, NULL); + Sleep(10); + + if (ASC_countAcceptedPresentationContexts(m_pNetworkParams) == 0) + { + OFLOG_FATAL(*m_pLoggerStoreSCU, "No Acceptable Presentation Contexts"); + m_pCallbackThread->PostThreadMessage(WM_PROGRESS_SEND_ERROR, 8, NULL); + Sleep(10); + return; + } + + m_pCallbackThread->PostThreadMessage(WM_PROGRESS_SEND, 9, NULL); + Sleep(10); + + cond = CheckUserIdentityResponse(m_pNetworkParams); + if (cond.bad()) + { + OFLOG_FATAL(*m_pLoggerStoreSCU, DimseCondition::dump(temp_str, cond)); + m_pCallbackThread->PostThreadMessage(WM_PROGRESS_SEND_ERROR, 9, NULL); + Sleep(10); + return; + } + + cond = EC_Normal; + OFListIterator(OFString) iter = m_pCurrentFileNameList->begin(); + OFListIterator(OFString) enditer = m_pCurrentFileNameList->end(); + + if (iter != enditer) + { + while ((iter != enditer) && cond.good()) + { + cond = cstore(m_pAssoc, *iter); + + if (cond.good()) + { + cond = EC_Normal; + m_bUnsuccessfulStoreEncountered = false; + } + ++iter; + } + } + else + { + cond = cstore(m_pAssoc, *iter); + } + + + if (cond == EC_Normal) + { + if (m_bAbortAssociation == true) + { + OFLOG_INFO(*m_pLoggerStoreSCU, "Aborting Association"); + cond = ASC_abortAssociation(m_pAssoc); + if (cond.bad()) + { + OFLOG_ERROR(*m_pLoggerStoreSCU, "Association Abort Failed: " << DimseCondition::dump(temp_str, cond)); + m_pCallbackThread->PostThreadMessage(WM_PROGRESS_SEND_ERROR, 10, NULL); + Sleep(10); + return; + } + } + else { + OFLOG_INFO(*m_pLoggerStoreSCU, "Releasing Association"); + cond = ASC_releaseAssociation(m_pAssoc); + if (cond.bad()) + { + OFLOG_ERROR(*m_pLoggerStoreSCU, "Association Release Failed: " << DimseCondition::dump(temp_str, cond)); + m_pCallbackThread->PostThreadMessage(WM_PROGRESS_SEND_ERROR, 11, NULL); + Sleep(10); + return; + } + } + } + else if (cond == DUL_PEERREQUESTEDRELEASE) + { + OFLOG_ERROR(*m_pLoggerStoreSCU, "Protocol Error: Peer requested release (Aborting)"); + OFLOG_INFO(*m_pLoggerStoreSCU, "Aborting Association"); + cond = ASC_abortAssociation(m_pAssoc); + if (cond.bad()) + { + OFLOG_ERROR(*m_pLoggerStoreSCU, "Association Abort Failed: " << DimseCondition::dump(temp_str, cond)); + m_pCallbackThread->PostThreadMessage(WM_PROGRESS_SEND_ERROR, 12, NULL); + Sleep(10); + return; + } + } + else if (cond == DUL_PEERABORTEDASSOCIATION) + { + OFLOG_INFO(*m_pLoggerStoreSCU, "Peer Aborted Association"); + } + else + { + OFLOG_ERROR(*m_pLoggerStoreSCU, "Store SCU Failed: " << DimseCondition::dump(temp_str, cond)); + OFLOG_INFO(*m_pLoggerStoreSCU, "Aborting Association"); + cond = ASC_abortAssociation(m_pAssoc); + if (cond.bad()) + { + OFLOG_ERROR(*m_pLoggerStoreSCU, "Association Abort Failed: " << DimseCondition::dump(temp_str, cond)); + cond = ASC_destroyAssociation(&m_pAssoc); + m_pCallbackThread->PostThreadMessage(WM_PROGRESS_SEND_ERROR, 13, NULL); + Sleep(10); + return; + } + } + + cond = ASC_destroyAssociation(&m_pAssoc); + if (cond.bad()) + { + OFLOG_FATAL(*m_pLoggerStoreSCU, DimseCondition::dump(temp_str, cond)); + m_pCallbackThread->PostThreadMessage(WM_PROGRESS_SEND_ERROR, 14, NULL); + Sleep(10); + return; + } + + cond = ASC_dropNetwork(&m_pNetwork); + if (cond.bad()) + { + OFLOG_FATAL(*m_pLoggerStoreSCU, DimseCondition::dump(temp_str, cond)); + m_pCallbackThread->PostThreadMessage(WM_PROGRESS_SEND_ERROR, 15, NULL); + Sleep(10); + return; + } + + + m_pCallbackThread->PostThreadMessage(WM_PROGRESS_SEND_COMPLETE, NULL, NULL); + Sleep(10); + + + OFLOG_FATAL(*m_pLoggerStoreSCU, "------------------------------------ End --------------------------------------------"); + + SetSleep(1); + */ +} + +void CSDCMSendImpl::SetLogLevel(int nLevel) +{ + //m_pLoggerStoreSCU->SetLogLevel((OFLogger::LogLevel)nLevel); +} + +OFLogger* CSDCMSendImpl::GetLogger() +{ + return m_pLoggerStoreSCU; +} diff --git a/SDCMSendImpl.h b/SDCMSendImpl.h new file mode 100644 index 0000000..65418c6 --- /dev/null +++ b/SDCMSendImpl.h @@ -0,0 +1,171 @@ +#pragma once + +#ifdef UNICODE +#undef UNICODE +#undef _UNICODE +#define UNICODE_DEFINED +#endif + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/ofstd/ofcond.h" /* for class OFCondition */ +#include "dcmtk/dcmdata/dcxfer.h" /* for E_TransferSyntax */ +#include "dcmtk/dcmnet/dimse.h" /* for T_DIMSE_BlockingMode */ +#include "dcmtk/dcmnet/dcasccfg.h" +#include "dcmtk/ofstd/ofcmdln.h" + +#include "csdcm.h" + +//#include "SDCMNetBase.h" + +#include "SCallback.h" + +#ifdef UNICODE_DEFINED +#define UNICODE +#define _UNICODE +#undef UNICODE_DEFINED +#endif + +typedef enum _SNETWORK_CONNECTION +{ + SCONNECT_NORMAL = 0, + SCONNECT_TLS +}SNETWORK_CONNECTION, *PSNETWORK_CONNECTION; + +typedef enum _SNETWORK_BLOCK_MODE +{ + SNETWORK_BLOCKING = 0, + SNETWORK_NONBLOCKING +}SNETWORK_BLOCK_MODE, *PSNETWORK_BLOCK_MODE; + +class CSDCMSendImpl +{ +public: + CSDCMSendImpl(); + virtual ~CSDCMSendImpl(); + + virtual void Stop(); + + OFCondition DIMSE_storeUser( + T_ASC_Association *assoc, T_ASC_PresentationContextID presId, + T_DIMSE_C_StoreRQ *request, + const char *imageFileName, DcmDataset *imageDataSet, + DIMSE_StoreUserCallback callback, void *callbackData, + T_DIMSE_BlockingMode blockMode, int timeout, + T_DIMSE_C_StoreRSP *response, + DcmDataset **statusDetail, + T_DIMSE_DetectedCancelParameters *checkForCancelParams, + long imageFileTotalBytes); + + OFCondition + DIMSE_sendMessage( + T_ASC_Association *assoc, + T_ASC_PresentationContextID presID, + T_DIMSE_Message *msg, + DcmDataset *statusDetail, + DcmDataset *dataObject, + const char *dataFileName, + DIMSE_ProgressCallback callback, + void *callbackContext, + DcmDataset **commandSet); + + void SetAETitle(OFString strAETitle); + void SetServerInfo(OFString strServerAETitle, OFString strClientAETitle, OFString strIP, int nPort, int nConnectionType=SCONNECT_NORMAL, int nBlockingMethod=SNETWORK_BLOCKING); + void SetServerInfo(QString strServerAETitle, QString strClientAETitle, QString strIP, int nPort, int nConnectionType=SCONNECT_NORMAL, int nBlockingMethod=SNETWORK_BLOCKING); + + int InitNetwork(OFString strServerAETitle, OFString strClientAETitle, OFString strHostIP, int nPort, int nConnectType=SCONNECT_NORMAL, int nBlock=SNETWORK_BLOCKING, int nTimeoutDIMSE=0, int nTimeoutACSE=0, E_TransferSyntax networkTransferSyntax = EXS_Unknown); + + //int Send(CSThread* pCallbackThread, int nTimeoutDIMSE=0, int nTimeoutACSE=0, E_TransferSyntax networkTransferSyntax = EXS_Unknown); + vector Send(CSCallback* pCallback, int nTimeoutDIMSE = -1, int nTimeoutACSE = -1, E_TransferSyntax networkTransferSyntax = EXS_Unknown); + + void AddImageFilename(OFString strFilename); + void AddMpegFilename(OFString strFilename); + + void ClearFileList(); + void ClearImageFileList(); + void ClearMpegFileList(); + + OFBool IsaListMember(OFList &lst, OFString &s); + OFCondition AddStoragePresentationContexts(T_ASC_Parameters *params, OFList &sopClasses); + + OFCondition AddPresentationContext(T_ASC_Parameters *params, int presentationContextId, const OFString &abstractSyntax, const OFString &transferSyntax, T_ASC_SC_ROLE proposedRole = ASC_SC_ROLE_DEFAULT); + OFCondition AddPresentationContext(T_ASC_Parameters *params, int presentationContextId, const OFString &abstractSyntax, const OFList &transferSyntaxList, T_ASC_SC_ROLE proposedRole = ASC_SC_ROLE_DEFAULT); + + OFCondition CheckUserIdentityResponse(T_ASC_Parameters *params); + + OFCondition cstore(T_ASC_Association *assoc, const OFString &fname); + OFCondition storeSCU(T_ASC_Association *assoc, const char *fname); + + void ReplaceSOPInstanceInformation(DcmDataset *dataset); + + OFBool FindSOPClassAndInstanceInFile(const char *fname, char *sopClass, char *sopInstance); + + static void ProgressCallback(void * callbackData, T_DIMSE_StoreProgress *progress, T_DIMSE_C_StoreRQ * req); + + + void SetCurrentFilenameList(int nCurrent=0); // 0:NULL, 1:Image, 2:Mpeg + + int GetImageFileCount(); + int GetMpegFileCount(); + + void SetLogLevel(int nLevel); + + OFLogger* GetLogger(); +protected: + OFLogger* m_pLoggerStoreSCU; + CSCallback* m_pCallback; + //CSDCMNetBase* m_pNetClass; + //CSThread* m_pCallbackThread; + OFString m_strHostIP; + OFString m_strAETitle; + OFString m_strServerAETitle; + int m_nPort; + SNETWORK_CONNECTION m_ConnectType; + SNETWORK_BLOCK_MODE m_BlockMode; + E_TransferSyntax m_NetworkTransferSyntax; + + OFList m_ImageFileNameList; + OFList m_MpegFileNameList; + + OFList* m_pCurrentFileNameList; + + T_ASC_UserIdentityNegotiationMode m_IdentMode; + + OFBool m_bIdentResponse; + + + OFBool m_bProposeOnlyRequiredPresentationContexts; + OFBool m_bCombineProposedTransferSyntaxes; + + int m_nTimeoutACSE; + int m_nTimeoutDIMSE; + + OFCmdUnsignedInt m_nMaxReceivePDULength; + + T_ASC_Network* m_pNetwork; + T_ASC_Parameters* m_pNetworkParams; + DIC_NODENAME m_LocalHost; + DIC_NODENAME m_PeerHost; + T_ASC_Association* m_pAssoc; + DcmAssociationConfiguration m_pAssocConfig; // handler for association configuration profiles + + int m_nRepeatCount; + + OFBool m_bHaltOnUnsuccessfulStore; + OFBool m_bUnsuccessfulStoreEncountered; + + E_FileReadMode m_ReadMode; + OFBool m_bInventSOPInstanceInformation; + + OFBool m_bCorrectUIDPadding; + + T_DIMSE_BlockingMode m_DIMSEBlockMode; + + int m_nLastStatusCode; + + bool m_bAbortAssociation; + + + + vector OnDCMSend(); +}; + diff --git a/SVG5.pro b/SVG5.pro new file mode 100644 index 0000000..cc1b896 --- /dev/null +++ b/SVG5.pro @@ -0,0 +1,306 @@ +QT += core gui sql + +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets network + +CONFIG += c++11 + +CONFIG += rtti +CONFIG += exceptions + +CONFIG += recheck + +QMAKE_CXXFLAGS += -fPIC -fexceptions -frtti + +#CONFIG -= app_bundle + +# The following define makes your compiler emit warnings if you use +# any Qt feature that has been marked deprecated (the exact warnings +# depend on your compiler). Please consult the documentation of the +# deprecated API in order to know how to port your code away from it. +DEFINES += QT_DEPRECATED_WARNINGS + +# You can also make your code fail to compile if it uses deprecated APIs. +# In order to do so, uncomment the following line. +# You can also select to disable deprecated APIs only up to a certain version of Qt. +#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 + + + +SOURCES += \ + SCallback.cpp \ + SDCMImage.cpp \ + SDCMSendImpl.cpp \ + acquisition_info.cpp \ + charconvert.cpp \ + commondata.cpp \ + cscallbacksendprogress.cpp \ + csdcm.cpp \ + dialogadvancedsetting.cpp \ + dialogcalendar.cpp \ + dialogprogress.cpp \ + dialogsettingtable.cpp \ + formcalendarview.cpp \ + formcapture.cpp \ + formcaptureimageselect.cpp \ + formcheckcaptureselect.cpp \ + formheadertype1.cpp \ + formhistory.cpp \ + formimageselect.cpp \ + formitemselection.cpp \ + formlistwidget.cpp \ + formlistwidgethistory.cpp \ + formlistwidgetworklist.cpp \ + formmainmenu.cpp \ + formsetting.cpp \ + formviewer.cpp \ + formworklist.cpp \ + headertype1.cpp \ + main.cpp \ + mainwindow.cpp \ + qglslshader.cpp \ + qgstreamerplayer.cpp \ + qgstreamerplayer2.cpp \ + qopenglbufferbase.cpp \ + qopenglbuffermenu.cpp \ + qopenglbufferthumbnail.cpp \ + qopengltexturebutton.cpp \ + qrtspthread.cpp \ + qsthread.cpp \ + qvideoshader.cpp \ + qvideowidget.cpp \ + qvideowidget_720_yuy2.cpp \ + qvideowidget_rgb.cpp \ + qvideowidget_uyvy.cpp \ + qvideowidget_yuy2.cpp \ + scalendarmenuview.cpp \ + sdatabase.cpp \ + sdayview.cpp \ + sdcmfindscu.cpp \ + sdcmfindscudatacallback.cpp \ + sdcmworklist.cpp \ + slistwidget.cpp \ + slistwidgetsetting.cpp \ + sslidebar.cpp \ + sslidebarhorizontal.cpp \ + stableheader.cpp \ + stextedit.cpp \ + sthreadimagesave.cpp \ + sthreadwatchvideolink.cpp \ + sthreadworklistsearch.cpp \ + sv4l2device.cpp \ + dialogemergengy.cpp \ + dialogexportusb.cpp \ + dialogpowerbutton.cpp \ + sthreadwatchport.cpp \ + dialogmisscapture.cpp \ + dialoglogin.cpp \ + dialogchecksumerror.cpp \ + dialogsettingnetworkshare.cpp \ + dialogexportsamba.cpp \ + singlebutton.cpp \ + sambaclient.cpp \ + dialogloginuseradd.cpp \ + sthreadsenddicom.cpp \ + formscreensaver.cpp \ + seventfilter.cpp \ + sexception.cpp \ + sapplication.cpp \ + scurl.cpp + +HEADERS += \ + SCallback.h \ + SDCMCommonStructure.h \ + SDCMImage.h \ + SDCMSendImpl.h \ + acquisition_info.h \ + charconvert.h \ + common.h \ + common.hpp \ + commondata.h \ + cscallbacksendprogress.h \ + csdcm.h \ + cuda_utils.h \ + dialogadvancedsetting.h \ + dialogcalendar.h \ + dialogprogress.h \ + dialogsettingtable.h \ + formcalendarview.h \ + formcapture.h \ + formcaptureimageselect.h \ + formcheckcaptureselect.h \ + formheadertype1.h \ + formhistory.h \ + formimageselect.h \ + formitemselection.h \ + formlistwidget.h \ + formlistwidgethistory.h \ + formlistwidgetworklist.h \ + formmainmenu.h \ + formsetting.h \ + formviewer.h \ + formworklist.h \ + headertype1.h \ + logging.h \ + macros.h \ + mainwindow.h \ + preprocess.h \ + qglslshader.h \ + qgstreamerplayer.h \ + qgstreamerplayer2.h \ + qopenglbufferbase.h \ + qopenglbuffermenu.h \ + qopenglbufferthumbnail.h \ + qopengltexturebutton.h \ + qrtspthread.h \ + qsthread.h \ + qvideoshader.h \ + qvideowidget.h \ + qvideowidget_720_yuy2.h \ + qvideowidget_rgb.h \ + qvideowidget_uyvy.h \ + qvideowidget_yuy2.h \ + scalendarmenuview.h \ + sdatabase.h \ + sdayview.h \ + sdcmfindscu.h \ + sdcmfindscudatacallback.h \ + sdcmworklist.h \ + slistwidget.h \ + slistwidgetsetting.h \ + sslidebar.h \ + sslidebarhorizontal.h \ + stableheader.h \ + stextedit.h \ + sthreadimagesave.h \ + sthreadwatchvideolink.h \ + sthreadworklistsearch.h \ + sv4l2device.h \ + utils.h \ + dialogemergengy.h \ + dialogexportusb.h \ + dialogpowerbutton.h \ + sthreadwatchport.h \ + dialogmisscapture.h \ + dialoglogin.h \ + dialogchecksumerror.h \ + dialogexportsamba.h \ + dialogsettingnetworkshare.h \ + dialogexportsamba.h \ + singlebutton.h \ + sambaclient.h \ + dialogloginuseradd.h \ + sthreadsenddicom.h \ + common.h \ + formscreensaver.h \ + seventfilter.h \ + sexception.h \ + sapplication.h \ + scurl.h + + +FORMS += \ + dialogadvancedsetting.ui \ + dialogcalendar.ui \ + dialogprogress.ui \ + dialogsettingtable.ui \ + formcalendarview.ui \ + formcapture.ui \ + formcaptureimageselect.ui \ + formcheckcaptureselect.ui \ + formheadertype1.ui \ + formhistory.ui \ + formimageselect.ui \ + formitemselection.ui \ + formlistwidget.ui \ + formmainmenu.ui \ + formsetting.ui \ + formviewer.ui \ + formworklist.ui \ + mainwindow.ui \ + dialogemergengy.ui \ + dialogexportusb.ui \ + dialogpowerbutton.ui \ + dialogmisscapture.ui \ + dialoglogin.ui \ + dialogchecksumerror.ui \ + dialogsettingnetworkshare.ui \ + dialogexportsamba.ui \ + dialogloginuseradd.ui \ + formscreensaver.ui + +TRANSLATIONS += \ + SVG5_ko_KR.ts + +# Default rules for deployment. +qnx: target.path = /tmp/$${TARGET}/bin +else: unix:!android: target.path = /opt/$${TARGET}/bin +!isEmpty(target.path): INSTALLS += target + + +RESOURCES += \ + assets.qrc + + +unix: CONFIG += link_pkgconfig +unix: PKGCONFIG += gstreamer-1.0 +unix: PKGCONFIG += gstreamer-app-1.0 +unix: PKGCONFIG += glib-2.0 + + +warning("target architecture: $$QMAKE_TARGET.arch") +warning("Target architecture (QT_ARCH): $$QT_ARCH") +warning("Target architecture (QT_SYSROOT): $$QT_SYSROOT") + +contains(QT_ARCH, x86_64){ + +QT_SYSROOT = / +#x86_64 pc +DEFINES += _GSTREAMER_1_0 _SYOLOV5_NO _PC #_CROP +INCLUDEPATH += /usr/local/include +INCLUDEPATH += /usr/local/curl/include +INCLUDEPATH += /usr/local/dcmtk-3.6.8/include + +#LIBS += -l/lib/x86_64-linux-gnu/sqlite3 + +LIBS += -L/usr/local/dcmtk-3.6.8/lib -lofstd -loflog -ldcmnet -ldcmtls -ldcmdata -ldcmtkcharls -lijg8 -lijg12 -lijg16 -ldcmimgle -ldcmimage -ldcmjpeg -ldcmjpls -lv4l2 -ljpeg +LIBS += -L/usr/local/curl/lib -lcurl +LIBS += -L/usr/local/openjpeg/lib -lopenjp2 + +#LIBS += -L$$[QT_SYSROOT]/usr/local/sqlite3/lib -lsqlite3 + + +} else: contains(QT_ARCH, arm64) { # <-- 이렇게 '}'와 'else:'를 한 줄에 붙여야 합니다. +#_JETSON_TX2_NX #_XAVIER_NX #_TEST_CODE #_PC +DEFINES += _GSTREAMER_1_0 _SYOLOV5_NO _JETSON_TX2_NX #_LT6911UXE #_4K#_JETSON_DEV _XAVIER_NX # _JETSON_TX2_NX +#DEFINES += _GSTREAMER_1_0 _SYOLOV5_NO _JETSON_DEV _XAVIER_NX #_4K# _SAVE_LOG _CROP_NO _NEW_WIDTH_LEVEL_NO + +#aarch64 xavier nx +#/work/rootfs_tx2_nx_qt5 +#$$[QT_SYSROOT] + +#INCLUDEPATH += $$[QT_SYSROOT]/usr/local/STensorRTLibrtest_250620_1.dbary/include +#LIBS += -L$$[QT_SYSROOT]/usr/local/STensorRTLibrary/lib -lSTensorRTLibrary +INCLUDEPATH += $$[QT_SYSROOT]/usr/lib/aarch64-linux-gnu/glib-2.0/include +INCLUDEPATH += $$[QT_SYSROOT]/usr/local/dcmtk/include +INCLUDEPATH += $$[QT_SYSROOT]/usr/include/gstreamer-1.0 +INCLUDEPATH += $$[QT_SYSROOT]/usr/local/curl/include +#LIBS += -L$$[QT_SYSROOT]/usr/local/dcmtk/lib -lofstd -loflog -ldcmnet -ldcmtls -ldcmdata -ldcmtkcharls -lijg8 -lijg12 -lijg16 -ldcmimgle -dcmimage -ldcmjpeg -ldcmjpls -lsqlite3 -lv4l2 -lopenjp2 -ljpeg +LIBS += -L$$[QT_SYSROOT]/usr/local/dcmtk/lib -lofstd -loflog -ldcmnet -ldcmtls -ldcmdata -ldcmtkcharls -lijg8 -lijg12 -lijg16 -ldcmimgle -dcmimage -ldcmjpeg -ldcmjpls -lsqlite3 -lv4l2 -ljpeg +#LIBS += -L$$[QT_SYSROOT]/usr/local/cuda/lib64 -lcuda -lcudart -lcublas -lcublasLt -lnvinfer -lnvinfer_plugin -lopencv_core -lopencv_highgui lopencv_imgproc -lopencv_imgcodecs +LIBS += -L$$[QT_SYSROOT]/usr/local/curl/lib -lcurl +#LIBS += -L$$[QT_SYSROOT]/usr/local/openssl/lib -lssl -lcrypto + + +} else: contains(QT_ARCH, aarch64) { # <-- 이렇게 '}'와 'else:'를 한 줄에 붙여야 합니다. + + +} + + + + + + + + + diff --git a/SVG5.pro.user b/SVG5.pro.user new file mode 100644 index 0000000..d1e1ba0 --- /dev/null +++ b/SVG5.pro.user @@ -0,0 +1,822 @@ + + + + + + EnvironmentId + {3a243a73-ea17-4771-b85f-1fdeacbd6112} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 1 + true + true + 1 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + + ProjectExplorer.Project.Target.0 + + Desktop + Desktop + {f7d46842-a65d-4757-86ce-31fb87c001e2} + 0 + 0 + 0 + + /work/project/qt/build-SVG5-Desktop-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:/usr/local/qt5-5.15.16-pc/lib:$LD_LIBRARY_PATH + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + /work/project/qt/build-SVG5-Desktop-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + /work/project/qt/build-SVG5-Desktop-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + LD_LIBRARY_PATH=/usr/local/qt5-5.15.16-pc/lib:/usr/local/sqlite3/lib:/usr/local/dcmtk-3.6.8/lib:/usr/local/curl/lib:/usr/local/qt5-5.15.16-pc/lib + + SVG52 + Qt4ProjectManager.Qt4RunConfiguration:/work/project/qt/SVG5_QDatabase/SVG5.pro + /work/project/qt/SVG5_QDatabase/SVG5.pro + -platform xcb + false + + false + true + false + false + false + true + false + + /work/project/qt/build-SVG5-Desktop-Debug + + 1 + + + + ProjectExplorer.Project.Target.1 + + tx2_nx_5.15.5 + tx2_nx_5.15.5 + {c9c66302-bd0a-416a-a684-d430621db5df} + 1 + 0 + 0 + + /work/project/qt/build-SVG5-tx2_nx_5_15_5-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + /work/project/qt/build-SVG5-tx2_nx_5_15_5-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + /work/project/qt/build-SVG5-tx2_nx_5_15_5-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + + true + RemoteLinux.CheckForFreeDiskSpaceStep + + + + + / + 5242880 + + + + + true + RemoteLinux.KillAppStep + + + + + + + + + true + RemoteLinux.RsyncDeployStep + + + + + + + -av + false + + 3 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + DeployToGenericLinux + + 1 + + + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 0 + + DISPLAY=:0 + + SVG5 (on tx2_nx)2 + RemoteLinuxRunConfiguration:/work/project/qt/SVG5_QDatabase/SVG5.pro + /work/project/qt/SVG5_QDatabase/SVG5.pro + 1 + + false + -platform xcb + false + + false + true + false + false + true + false + + + :0 + + 1 + + + + ProjectExplorer.Project.Target.2 + + tx2_nx_5.15.16 + tx2_nx_5.15.16 + {d16e6fe4-714a-4834-882a-5b7a332a6c6f} + 0 + 0 + 0 + + /work/project/qt/build-SVG5-tx2_nx_5_15_16-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + /work/project/qt/build-SVG5-tx2_nx_5_15_16-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + /work/project/qt/build-SVG5-tx2_nx_5_15_16-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + + true + RemoteLinux.CheckForFreeDiskSpaceStep + + + + + / + 5242880 + + + + + true + RemoteLinux.KillAppStep + + + + + + + + + true + RemoteLinux.RsyncDeployStep + + + + + + + -av + false + + 3 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + DeployToGenericLinux + + 1 + + + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 1 + + DISPLAY=:0 + + SVG5 (on tx2_nx) + RemoteLinuxRunConfiguration:/work/project/qt/SVG5/SVG5.pro + /work/project/qt/SVG5/SVG5.pro + 1 + + false + -platform xcb + false + + false + true + false + false + true + false + /home/birdhead + + :0 + + 1 + + + + ProjectExplorer.Project.TargetCount + 3 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/SVG5_ko_KR.ts b/SVG5_ko_KR.ts new file mode 100644 index 0000000..bb693d4 --- /dev/null +++ b/SVG5_ko_KR.ts @@ -0,0 +1,3 @@ + + + diff --git a/acquisition_info.cpp b/acquisition_info.cpp new file mode 100644 index 0000000..3e5f419 --- /dev/null +++ b/acquisition_info.cpp @@ -0,0 +1,77 @@ +#include "acquisition_info.h" + +ACQUISITION_INFO::ACQUISITION_INFO() +{ + Clear(); +} + +void ACQUISITION_INFO::Clear() +{ + m_Patient.Init(); + m_Study.Init(); + m_Series.Init(); + m_Image.Init(); + + m_strImageFilename = ""; + m_strVideoFilename = ""; + + m_nIndexPatient = 0; + m_nIndexStudy = 0; + m_nIndexSeries_Image = 0; + m_nIndexSeries_Video = 0; + + m_nSeriesNumber = 0; + + m_nAcquisitionImageMax = 0; + m_nAcquisitionVideoMax = 0; +} + +SDATA_PATIENT* ACQUISITION_INFO::GetPatientInfo() +{ + return &m_Patient; +} + +SDATA_STUDY* ACQUISITION_INFO::GetStudyInfo() +{ + return &m_Study; +} + +SDATA_SERIES* ACQUISITION_INFO::GetSeriesInfo() +{ + return &m_Series; +} + +SDATA_IMAGE* ACQUISITION_INFO::GetImageInfo() +{ + return &m_Image; +} + +SDATA_SCHEDULED_DATA* ACQUISITION_INFO::GetScheduledDataInfo() +{ + return &m_ScheduledData; +} + +void ACQUISITION_INFO::SetDataPatient(SDATA_PATIENT data) +{ + m_Patient = data; +} + +void ACQUISITION_INFO::SetDataStudy(SDATA_STUDY data) +{ + m_Study = data; +} + +void ACQUISITION_INFO::SetDataSeries(SDATA_SERIES data) +{ + m_Series = data; +} + +void ACQUISITION_INFO::SetDataImage(SDATA_IMAGE data) +{ + m_Image = data; +} + +void ACQUISITION_INFO::SetDataScheduledData(SDATA_SCHEDULED_DATA data) +{ + m_ScheduledData = data; +} diff --git a/acquisition_info.h b/acquisition_info.h new file mode 100644 index 0000000..5b921b3 --- /dev/null +++ b/acquisition_info.h @@ -0,0 +1,47 @@ +#ifndef ACQUSITION_INFO_H +#define ACQUSITION_INFO_H + +#include + +#include "SDCMCommonStructure.h" + +class ACQUISITION_INFO +{ +public: + ACQUISITION_INFO(); + + void Clear(); + + SDATA_PATIENT* GetPatientInfo(); + SDATA_STUDY* GetStudyInfo(); + SDATA_SERIES* GetSeriesInfo(); + SDATA_IMAGE* GetImageInfo(); + SDATA_SCHEDULED_DATA* GetScheduledDataInfo(); + + int m_nIndexPatient; + int m_nIndexStudy; + int m_nIndexSeries_Image; + int m_nSeriesNumber; + int m_nIndexSeries_Video; + + int m_nAcquisitionImageMax; + int m_nAcquisitionVideoMax; + + QString m_strImageFilename; + QString m_strVideoFilename; + + void SetDataPatient(SDATA_PATIENT data); + void SetDataStudy(SDATA_STUDY data); + void SetDataSeries(SDATA_SERIES data); + void SetDataImage(SDATA_IMAGE data); + void SetDataScheduledData(SDATA_SCHEDULED_DATA data); + +protected: + SDATA_PATIENT m_Patient; + SDATA_STUDY m_Study; + SDATA_SERIES m_Series; + SDATA_IMAGE m_Image; + SDATA_SCHEDULED_DATA m_ScheduledData; +}; + +#endif // ACQUSITION_INFO_H diff --git a/assets.qrc b/assets.qrc new file mode 100644 index 0000000..5f77e4d --- /dev/null +++ b/assets.qrc @@ -0,0 +1,41 @@ + + + image/Arrow_top_2.png + image/Arrow_under_2.png + image/Arrow_top_3.png + image/Arrow_under_3.png + image/Scroll_bar_1.png + image/cancel_arrow.png + image/month_next.png + image/month_prev.png + image/scrollbar_down.png + image/scrollbar_horizontal_bg.png + image/scrollbar_left.png + image/scrollbar_right.png + image/scrollbar_up.png + image/scrollbar_vertical_bg.png + image/ScrollBar_Horizontal_Icon.png + image/ScrollBar_Vertical_Icon.png + image/select_indicator.png + image/2/capture_close all_button_icon.png + image/2/capture_close all_clicked_button_icon.png + image/2/capture_close_button_icon.png + image/2/capture_close_clicked_button_icon.png + image/2/capture_delete all_button_icon.png + image/2/capture_delete all_clicked_button_icon.png + image/2/capture_delete_button_icon.png + image/2/capture_delete_clicked_button_icon.png + image/2/capture_next_button_icon.png + image/2/capture_prev_button_icon.png + image/2/capture_send_icon_button.png + image/2/capture_send_icon_clicked_button.png + image/2/capture_send_icon_check box_button.png + image/2/next-icon.png + image/2/next-icon_clicked.png + image/2/preview-icon.png + image/2/preview-icon_clicked.png + image/2/capture_check box.png + image/2/capture_send all_clicked_button.png + image/2/capture_send all_button_clicked.png + + diff --git a/charconvert.cpp b/charconvert.cpp new file mode 100644 index 0000000..bd9587d --- /dev/null +++ b/charconvert.cpp @@ -0,0 +1,46 @@ +#include "charconvert.h" + + +CharConvert::CharConvert() +{ + +} + +QString CharConvert::EUCKRtoUTF8(const char* pData) +{ + QByteArray encodedString = pData; + QTextCodec* codec = QTextCodec::codecForName("eucKR"); + QString strData = codec->toUnicode(encodedString); + + return strData; +} + +QByteArray CharConvert::UTF8toEUCKR(QString encodedString) +{ + QTextCodec* codec = QTextCodec::codecForName("eucKR"); + QByteArray strData = codec->fromUnicode(encodedString); + + //QByteArray testEncoded = encodedString.toStdString().c_str(); + + //QString strTest = codec->toUnicode(testEncoded); + + + return strData;//.toStdString().c_str(); +} + + + +QString CharConvert::Convert(const char* pData, QString strEnc) +{ + if(strEnc=="EUC-KR") + { + return UTF8toEUCKR(pData); + } + else if(strEnc=="UTF-8") + { + return EUCKRtoUTF8(pData); + } + + + return pData; +} diff --git a/charconvert.h b/charconvert.h new file mode 100644 index 0000000..690a35a --- /dev/null +++ b/charconvert.h @@ -0,0 +1,19 @@ +#ifndef CHARCONVERT_H +#define CHARCONVERT_H + +#include "common.h" +#include +#include + +class CharConvert +{ +public: + CharConvert(); + + static QString EUCKRtoUTF8(const char* pData); + static QByteArray UTF8toEUCKR(QString encodedString); + + static QString Convert(const char* pData, QString strEnc); +}; + +#endif // CHARCONVERT_H diff --git a/common.h b/common.h new file mode 100644 index 0000000..a634932 --- /dev/null +++ b/common.h @@ -0,0 +1,701 @@ +#ifndef COMMON_H +#define COMMON_H + +#include +#include + +#include +#include +using namespace std; + +typedef vector RowData; +#define SendListFilename RowData + +#include +#include +#include +#include +#include + +#define SAFE_DELETE(x) { if(x!=NULL) { delete x; x = NULL; }} +#define SAFE_ARRAY_DELETE(x) { if(x!=NULL) { delete[] x; x = NULL; }} + +#define MOVIE_FILE_EXTENSION ".mp4" + +enum SMENU +{ + SMENU_WORKLIST = 0x01, + SMENU_HISTORY = 0x02, + SMENU_SETTING = 0x04, + SMENU_CAPTURE = 0x10, + SMENU_VIEWER = 0x20 +}; + +enum SWIDGET +{ + SWIDGET_WORKLIST = 0, + SWIDGET_HISTORY, + SWIDGET_SETTING, + SWIDGET_CAPTURE, + SWIDGET_VIEWER +}; + +#ifndef __SDCM_DISPLAY_INDEX +#define __SDCM_DISPLAY_INDEX +typedef enum _SDCM_DISPLAY_INDEX +{ + SDI_PATIENT_ID = 0, + SDI_PATIENT_NAME, + SDI_PATIENT_SEX, + SDI_PATIENT_WEIGHT, + SDI_PATIENT_BIRTH_DATE, + SDI_PATIENT_AGE, + SDI_PATIENT_LOCATION, + + SDI_STUDY_INSTANCE_UID, + SDI_STUDY_DESCRIPTION, + SDI_STUDY_DATE, + SDI_STUDY_TIME, + SDI_STUDY_CREATE_DATE, + SDI_STUDY_REFERRING_PHYSICIAN_NAME, + + SDI_SERIES_INSTANCE_UID, + SDI_SERIES_OPERATOR, + SDI_SERIES_MODALITY, + SDI_SERIES_BODYPART, + SDI_SERIES_DESCRIPTION, + + SDI_IMAGE_INSTANCE_UID, + SDI_IMAGE_CREATE_DATE, + SDI_IMAGE_CREATE_TIME, + + SDI_SCHEDULED_DATE, + SDI_SCHEDULED_TIME, + SDI_SCHEDULED_PROCEDURE_STEP_ID, + SDI_SCHEDULED_PROCEDURE_ID, + + + SDI_REQUESTED_PROCEDURE_COMMENTS, + + SDI_INDEX, + SDI_SAVE_IMAGE_COUNT, + SDI_SEND_IMAGE_COUNT, + SDI_SAVE_MOVIE_COUNT, + SDI_SAVE_TOTAL_COUNT, + SDI_ACCESSION_NUMBER, + SDI_SCHEDULED_PERFORMING_PHYSICIAN_NAME, + SDI_SCHEDULED_CODE_VALUE, + + SDI_TOTAL, // No use!!, this is end tag!! + +}SDCM_DISPLAY_INDEX; +#endif + +#ifndef __SDCM_HISTORY_DISPLAY_INDEX +#define __SDCM_HISTORY_DISPLAY_INDEX +typedef enum _SDCM_HISTORY_DISPLAY_INDEX +{ + HDI_INDEX = 0, + HDI_PATIENT_INDEX, + HDI_PATIENT_ID, + HDI_PATIENT_NAME, + HDI_PATIENT_AGE, + HDI_PATIENT_SEX, + HDI_PATIENT_BIRTH_DATE, + HDI_PATIENT_WEIGHT, + HDI_STUDY_CREATE_DATE_TIME, + HDI_STUDY_DATE, + HDI_STUDY_TIME, + HDI_SCHEDULED_CODE_VALUE, + HDI_PATIENT_LOCATION, + HDI_ACCESSION_NUMBER, + HDI_STUDY_REFERRING_PHYSICIAN_NAME, + HDI_STUDY_INSTANCE_UID, + HDI_SERIES_INSTANCE_UID, + HDI_STUDY_DESCRIPTION, + HDI_SERIES_DESCRIPTION, + HDI_SERIES_OPERATOR, + HDI_SAVE_IMAGE_COUNT, + HDI_SEND_IMAGE_COUNT, + HDI_SERIES_MODALITY, + HDI_SERIES_DATE, + HDI_SERIES_TIME, + HDI_SERIES_NUMBER, + HDI_SAVE_MOVIE_COUNT, + + + HDI_TOTAL, // No use!!, this is end tag!! + +}SDCM_HISTORY_DISPLAY_INDEX; +#endif + + +enum SDISPLAY_TYPE +{ + SDISPLAY_1920X1080 = 0, + SDISPLAY_1280X1024 +}; + +struct SearchDate +{ + QDate m_DateStart; + QDate m_DateEnd; +}; + +enum DISPLAY_TYPE +{ + DISPLAY_NONE = 0, + DISPLAY_IMAGE = 1, + DISPLAY_VIDEO = 2 +}; + +struct TableHeader +{ + bool m_bSelect; + int m_nIndexDefault; + int m_nIndex; + int m_nWidth; + QString m_strText; +}; + +struct RGB_Data +{ + uint8_t r; + uint8_t g; + uint8_t b; +}; + +struct RGBA_Data +{ + uint8_t r; + uint8_t g; + uint8_t b; + uint8_t a; +}; + +struct NetworkShareInfo +{ + QString m_strIP; + QString m_strShareFolder; + QString m_strID; + QString m_strPassword; + QString m_strVersion; + bool m_bEnable; + bool m_bAutoSend; +}; + +struct ImageSelect +{ + ImageSelect() + { + m_bSelect = false; + m_bSend = false; + m_bDelete = false; + m_pImageData = NULL; + //m_pImage = NULL; + m_strFile = ""; + m_nType = DISPLAY_NONE; + m_strDate = ""; + m_strTime = ""; + + m_strStudyInstanceUID = ""; + m_strSeriesInstanceUID = ""; + m_strImageInstanceUID = ""; + m_strPatientAge = ""; + m_nIndexStudy = 0; + m_nIndexSeries = 0; + m_nIndexImage = 0; + m_nIndexPatient = 0; + + m_nSeriesNumber = 0; + m_nImageNumber = 0; + +#ifdef _4K + m_nImageWidth = 3840; + m_nImageHeight = 2160; +#else + m_nImageWidth = 1920; + m_nImageHeight = 1080; +#endif + } + + void CreateImage(int nImageWidth, int nImageHeight, int nImageFormat) + { + m_nImageWidth = nImageWidth; + m_nImageHeight = nImageHeight; + m_nImageFormat = nImageFormat; + + m_pImageData = new uint8_t[m_nImageWidth*m_nImageHeight*3]; + } + + int GetWidth() + { + return m_nImageWidth; + } + + int GetHeight() + { + return m_nImageHeight; + } + + int GetFormat() + { + return m_nImageFormat; + } + + void DeleteImageData() + { + SAFE_ARRAY_DELETE(m_pImageData); + m_bDelete = true; + } + + ~ImageSelect() + { + SAFE_ARRAY_DELETE(m_pImageData); + //SAFE_DELETE(m_pImage); + m_bSelect = false; + m_bSend = false; + m_bDelete = false; + m_strFile = ""; + m_nType = DISPLAY_NONE; + m_strDate = ""; + m_strTime = ""; + + m_strStudyInstanceUID = ""; + m_strSeriesInstanceUID = ""; + m_strImageInstanceUID = ""; + m_strPatientAge = ""; + m_nIndexStudy = 0; + m_nIndexSeries = 0; + m_nIndexImage = 0; + m_nIndexPatient = 0; + + m_nSeriesNumber = 0; + m_nImageNumber = 0; + } + bool m_bSelect; + bool m_bSend; + bool m_bDelete; + //QImage* m_pImage; + uint8_t* m_pImageData; + QString m_strFile; + DISPLAY_TYPE m_nType; + QString m_strDate; + QString m_strTime; + QString m_strStudyInstanceUID; + QString m_strSeriesInstanceUID; + QString m_strImageInstanceUID; + QString m_strPatientAge; + int m_nIndexStudy; + int m_nIndexSeries; + int m_nIndexImage; + int m_nIndexPatient; + + int m_nSeriesNumber; + int m_nImageNumber; + + int m_nImageWidth; + int m_nImageHeight; + + int m_nImageFormat; +}; + +struct DisplayImage +{ + DisplayImage() + { + m_pImage = NULL; + m_strFilename = ""; + m_bCheck = false; + m_nType = DISPLAY_IMAGE; + } + + DisplayImage(QString strFilename, QImage* pImage, DISPLAY_TYPE nType, bool bCheck) + { + m_strFilename = strFilename; + m_pImage = pImage; + m_nType = nType; + m_bCheck = bCheck; + } + + + + QImage* m_pImage; + QString m_strFilename; + bool m_bCheck; + DISPLAY_TYPE m_nType; +}; + +struct CAPTURE_IMAGE +{ + CAPTURE_IMAGE() + { + m_pImage = NULL; + m_pImageSmall = NULL; + m_strImageFilename = ""; + m_strVideoFilename = ""; + m_pImageCaptureRaw = NULL; + m_pImageCaptureColor = NULL; + m_nType = DISPLAY_NONE; + m_nIndex = -1; + m_bCheck = false; + m_bSaveFile = false; + m_bDelete = false; + m_bSend = false; + m_pImageData = NULL; + m_nImageWidth = 0; + m_nImageHeight = 0; + m_nImageFormat = 0; + m_nAcquisitionNumber = 0; + m_bBackup = false; + } + + ~CAPTURE_IMAGE() + { + SAFE_DELETE(m_pImage); + SAFE_DELETE(m_pImageSmall); + SAFE_ARRAY_DELETE(m_pImageCaptureRaw); + SAFE_ARRAY_DELETE(m_pImageCaptureColor); + m_strImageFilename = ""; + m_nType = DISPLAY_NONE; + m_nIndex = -1; + m_bCheck = false; + m_bDelete = false; + m_bSend = false; + } + + void CreateImage(int nImageWidth, int nImageHeight, int nImageFormat) + { + m_nImageWidth = nImageWidth; + m_nImageHeight = nImageHeight; + m_nImageFormat = nImageFormat; + + m_pImageData = new uint8_t[m_nImageWidth*m_nImageHeight*3]; + } + + int GetWidth() + { + return m_nImageWidth; + } + + int GetHeight() + { + return m_nImageHeight; + } + + int GetFormat() + { + return m_nImageFormat; + } + + void DeleteImageData() + { + SAFE_ARRAY_DELETE(m_pImageData); + m_bDelete = true; + } + + bool IsBackup() + { + return m_bBackup; + } + + QImage* m_pImage; + QImage* m_pImageSmall; + QString m_strImageFilename; + QString m_strVideoFilename; + QDateTime m_DateTime; + bool m_bSaveFile; + uint8_t* m_pImageCaptureRaw; + RGB_Data* m_pImageCaptureColor; + bool m_bCheck; + bool m_bDelete; + DISPLAY_TYPE m_nType; + int m_nIndex; + int m_nAcquisitionNumber; + bool m_bSend; + bool m_bBackup; + + uint8_t* m_pImageData; + int m_nImageWidth; + int m_nImageHeight; + int m_nImageFormat; +}; + +struct SEARCH_ITEM +{ + SEARCH_ITEM() + { + Clear(); + } + + void Clear() + { + m_strStudyDate.clear(); + m_strPatientName.clear(); + m_strPatientID.clear(); + } + + QString m_strStudyDate; + QString m_strPatientName; + QString m_strPatientID; +}; + + + +struct LOCAL_DATA +{ + +}; + + +struct NETWORK_DIRECTORY +{ + QString m_strNetworkDirectory; + QString m_strID; + QString m_strPassword; +}; + + +struct HISTORY_STUDY +{ + QString* pStrStudyIndex; + QString* pStrPatientIndex; + QString* pStrPatientID; + QString* pStrPatientName; + QString* pStrPatientAge; + QString* pStrPatientSex; + QString* pStrPatientBirthDate; + QString* pStrPatientWeight; + QString* pStrCreateDateTime; + QString* pStrStudyDate; + QString* pStrStudyTime; + QString* pStrStudyCodeValue; + QString* pStrPatientLocation; + QString* pStrAccessionNumber; + QString* pStrReferringPhysiciansName; + QString* pStrStudyInstanceUID; + QString* pStrSeriesInstanceUID; + QString* pStrStudyDescription; + QString* pStrSeriesDescription; + QString* pStrOperatorsName; + QString* pStrImageCount; + QString* pStrImageSend; + QString* pStrModality; + QString* pStrSeriesDate; + QString* pStrSeriesTime; + QString* pStrSeriesNumber; + QString* pStrMovieCount; + + vector m_List; + + map m_ListTableHistoryViewMap; + + vector m_ListEnableHeader; + + + + HISTORY_STUDY() + { + if(m_ListTableHistoryViewMap.empty()==true) + { + InitMap(); + + } + QString* pStrData = NULL; + pStrData = new QString; m_List.push_back(pStrData); pStrStudyIndex = pStrData; //0 + pStrData = new QString; m_List.push_back(pStrData); pStrPatientIndex = pStrData; //1 + pStrData = new QString; m_List.push_back(pStrData); pStrPatientID = pStrData;//2 + pStrData = new QString; m_List.push_back(pStrData); pStrPatientName = pStrData;//3 + pStrData = new QString; m_List.push_back(pStrData); pStrPatientAge = pStrData;//4 + pStrData = new QString; m_List.push_back(pStrData); pStrPatientSex = pStrData;//5 + pStrData = new QString; m_List.push_back(pStrData); pStrPatientBirthDate = pStrData;//6 + pStrData = new QString; m_List.push_back(pStrData); pStrPatientWeight = pStrData;//7 + pStrData = new QString; m_List.push_back(pStrData); pStrCreateDateTime = pStrData;//8 + pStrData = new QString; m_List.push_back(pStrData); pStrStudyDate = pStrData;//9 + pStrData = new QString; m_List.push_back(pStrData); pStrStudyTime = pStrData;//10 + pStrData = new QString; m_List.push_back(pStrData); pStrStudyCodeValue = pStrData;//11 + pStrData = new QString; m_List.push_back(pStrData); pStrPatientLocation = pStrData;//12 + pStrData = new QString; m_List.push_back(pStrData); pStrAccessionNumber = pStrData;//13 + pStrData = new QString; m_List.push_back(pStrData); pStrReferringPhysiciansName = pStrData;//14 + pStrData = new QString; m_List.push_back(pStrData); pStrStudyInstanceUID = pStrData;//15 + pStrData = new QString; m_List.push_back(pStrData); pStrSeriesInstanceUID = pStrData;//16 + pStrData = new QString; m_List.push_back(pStrData); pStrStudyDescription = pStrData;//17 + pStrData = new QString; m_List.push_back(pStrData); pStrSeriesDescription = pStrData;//18 + pStrData = new QString; m_List.push_back(pStrData); pStrOperatorsName = pStrData;//19 + pStrData = new QString; m_List.push_back(pStrData); pStrImageCount = pStrData;//20 + pStrData = new QString; m_List.push_back(pStrData); pStrImageSend = pStrData;//21 + pStrData = new QString; m_List.push_back(pStrData); pStrModality = pStrData;//22 + pStrData = new QString; m_List.push_back(pStrData); pStrSeriesDate = pStrData;//23 + pStrData = new QString; m_List.push_back(pStrData); pStrSeriesTime = pStrData;//24 + pStrData = new QString; m_List.push_back(pStrData); pStrSeriesNumber = pStrData;//25 + pStrData = new QString; m_List.push_back(pStrData); pStrMovieCount = pStrData;//26 + } + + ~HISTORY_STUDY() + { + Clear(); + } + + void InitMap() + { + m_ListTableHistoryViewMap.insert(map::value_type(SDI_INDEX, HDI_INDEX)); + m_ListTableHistoryViewMap.insert(map::value_type(SDI_PATIENT_ID, HDI_PATIENT_ID)); + m_ListTableHistoryViewMap.insert(map::value_type(SDI_PATIENT_NAME, HDI_PATIENT_NAME)); + m_ListTableHistoryViewMap.insert(map::value_type(SDI_PATIENT_AGE, HDI_PATIENT_AGE)); + m_ListTableHistoryViewMap.insert(map::value_type(SDI_PATIENT_SEX, HDI_PATIENT_SEX)); + m_ListTableHistoryViewMap.insert(map::value_type(SDI_PATIENT_BIRTH_DATE, HDI_PATIENT_BIRTH_DATE)); + m_ListTableHistoryViewMap.insert(map::value_type(SDI_PATIENT_WEIGHT, HDI_PATIENT_WEIGHT)); + m_ListTableHistoryViewMap.insert(map::value_type(SDI_STUDY_CREATE_DATE, HDI_STUDY_CREATE_DATE_TIME)); + m_ListTableHistoryViewMap.insert(map::value_type(SDI_STUDY_DATE, HDI_STUDY_DATE)); + m_ListTableHistoryViewMap.insert(map::value_type(SDI_STUDY_TIME, HDI_STUDY_TIME)); + m_ListTableHistoryViewMap.insert(map::value_type(SDI_SCHEDULED_CODE_VALUE, HDI_SCHEDULED_CODE_VALUE)); + m_ListTableHistoryViewMap.insert(map::value_type(SDI_PATIENT_LOCATION, HDI_PATIENT_LOCATION)); + m_ListTableHistoryViewMap.insert(map::value_type(SDI_ACCESSION_NUMBER, HDI_ACCESSION_NUMBER)); + m_ListTableHistoryViewMap.insert(map::value_type(SDI_STUDY_REFERRING_PHYSICIAN_NAME, HDI_STUDY_REFERRING_PHYSICIAN_NAME)); + m_ListTableHistoryViewMap.insert(map::value_type(SDI_STUDY_INSTANCE_UID, HDI_STUDY_INSTANCE_UID)); + m_ListTableHistoryViewMap.insert(map::value_type(SDI_SERIES_INSTANCE_UID, HDI_SERIES_INSTANCE_UID)); + m_ListTableHistoryViewMap.insert(map::value_type(SDI_STUDY_DESCRIPTION, HDI_STUDY_DESCRIPTION)); + m_ListTableHistoryViewMap.insert(map::value_type(SDI_SERIES_DESCRIPTION, HDI_SERIES_DESCRIPTION)); + m_ListTableHistoryViewMap.insert(map::value_type(SDI_SERIES_OPERATOR, HDI_SERIES_OPERATOR)); + m_ListTableHistoryViewMap.insert(map::value_type(SDI_SAVE_IMAGE_COUNT, HDI_SAVE_IMAGE_COUNT)); + m_ListTableHistoryViewMap.insert(map::value_type(SDI_SEND_IMAGE_COUNT, HDI_SEND_IMAGE_COUNT)); + m_ListTableHistoryViewMap.insert(map::value_type(SDI_SERIES_MODALITY, HDI_SERIES_MODALITY)); + m_ListTableHistoryViewMap.insert(map::value_type(SDI_SAVE_MOVIE_COUNT, HDI_SAVE_MOVIE_COUNT)); + //m_ListTableHistoryViewMap.insert(map::value_type(SDI_SERIES_DATE, HDI_SERIES_DATE)); //Not Display + //m_ListTableHistoryViewMap.insert(map::value_type(SDI_SERIES_TIME, HDI_SERIES_TIME)); //Not Display + + //m_ListTableHistoryViewMap.insert(map::value_type(SDI_SCHEDULED_PERFORMING_PHYSICIAN_NAME, nIndex)); nIndex++; + //m_ListTableHistoryViewMap.insert(map::value_type(SDI_SCHEDULED_CODE_VALUE, nIndex)); nIndex++; + + //skip + //m_ListTableHistoryViewMap.insert(map::value_type(SDI_PATIENT_LOCATION, -1)); + //m_ListTableHistoryViewMap.insert(map::value_type(SDI_PATIENT_LOCATION, -1)); + + map::iterator it; + for(it=m_ListTableHistoryViewMap.begin() ; it!=m_ListTableHistoryViewMap.end() ; ++it) + { + int nIDEnable = (*it).first; + m_ListEnableHeader.push_back(nIDEnable); + } + + } + + int GetHDIWithSDI(int nDisplayIndex) + { + int nIndex = -1; + map::iterator it = m_ListTableHistoryViewMap.find(nDisplayIndex); + nIndex = it->second; + + return nIndex; + } + + QString GetData(int nDisplayIndex) + { + if(nDisplayIndex==SDI_SCHEDULED_CODE_VALUE) + { + + } + int i=0; + bool bEnable = false; + for(i=0 ; i::iterator it = m_ListTableHistoryViewMap.find(nDisplayIndex); + int nIndex = it->second; + if(nIndex>=0) + { + return *m_List[nIndex]; + } + return ""; + } + + void Clear() + { + int i=0; + for(i=0 ; i +#include +#include +#include +#include +#include "NvInfer.h" +#include "yololayer.h" + +using namespace nvinfer1; + +cv::Rect get_rect(cv::Mat& img, float bbox[4]) { + float l, r, t, b; + float r_w = Yolo::INPUT_W / (img.cols * 1.0); + float r_h = Yolo::INPUT_H / (img.rows * 1.0); + if (r_h > r_w) { + l = bbox[0] - bbox[2] / 2.f; + r = bbox[0] + bbox[2] / 2.f; + t = bbox[1] - bbox[3] / 2.f - (Yolo::INPUT_H - r_w * img.rows) / 2; + b = bbox[1] + bbox[3] / 2.f - (Yolo::INPUT_H - r_w * img.rows) / 2; + l = l / r_w; + r = r / r_w; + t = t / r_w; + b = b / r_w; + } else { + l = bbox[0] - bbox[2] / 2.f - (Yolo::INPUT_W - r_h * img.cols) / 2; + r = bbox[0] + bbox[2] / 2.f - (Yolo::INPUT_W - r_h * img.cols) / 2; + t = bbox[1] - bbox[3] / 2.f; + b = bbox[1] + bbox[3] / 2.f; + l = l / r_h; + r = r / r_h; + t = t / r_h; + b = b / r_h; + } + return cv::Rect(round(l), round(t), round(r - l), round(b - t)); +} + +float iou(float lbox[4], float rbox[4]) { + float interBox[] = { + (std::max)(lbox[0] - lbox[2] / 2.f , rbox[0] - rbox[2] / 2.f), //left + (std::min)(lbox[0] + lbox[2] / 2.f , rbox[0] + rbox[2] / 2.f), //right + (std::max)(lbox[1] - lbox[3] / 2.f , rbox[1] - rbox[3] / 2.f), //top + (std::min)(lbox[1] + lbox[3] / 2.f , rbox[1] + rbox[3] / 2.f), //bottom + }; + + if (interBox[2] > interBox[3] || interBox[0] > interBox[1]) + return 0.0f; + + float interBoxS = (interBox[1] - interBox[0])*(interBox[3] - interBox[2]); + return interBoxS / (lbox[2] * lbox[3] + rbox[2] * rbox[3] - interBoxS); +} + +bool cmp(const Yolo::Detection& a, const Yolo::Detection& b) { + return a.conf > b.conf; +} + +void nms(std::vector& res, float *output, float conf_thresh, float nms_thresh = 0.5) { + int det_size = sizeof(Yolo::Detection) / sizeof(float); + std::map> m; + for (int i = 0; i < output[0] && i < Yolo::MAX_OUTPUT_BBOX_COUNT; i++) { + if (output[1 + det_size * i + 4] <= conf_thresh) continue; + Yolo::Detection det; + memcpy(&det, &output[1 + det_size * i], det_size * sizeof(float)); + if (m.count(det.class_id) == 0) m.emplace(det.class_id, std::vector()); + m[det.class_id].push_back(det); + } + for (auto it = m.begin(); it != m.end(); it++) { + //std::cout << it->second[0].class_id << " --- " << std::endl; + auto& dets = it->second; + std::sort(dets.begin(), dets.end(), cmp); + for (size_t m = 0; m < dets.size(); ++m) { + auto& item = dets[m]; + res.push_back(item); + for (size_t n = m + 1; n < dets.size(); ++n) { + if (iou(item.bbox, dets[n].bbox) > nms_thresh) { + dets.erase(dets.begin() + n); + --n; + } + } + } + } +} + +// TensorRT weight files have a simple space delimited format: +// [type] [size] +std::map loadWeights(const std::string file) { + std::cout << "Loading weights: " << file << std::endl; + std::map weightMap; + + // Open weights file + std::ifstream input(file); + assert(input.is_open() && "Unable to load weight file. please check if the .wts file path is right!!!!!!"); + + // Read number of weight blobs + int32_t count; + input >> count; + assert(count > 0 && "Invalid weight map file."); + + while (count--) + { + Weights wt{ DataType::kFLOAT, nullptr, 0 }; + uint32_t size; + + // Read name and type of blob + std::string name; + input >> name >> std::dec >> size; + wt.type = DataType::kFLOAT; + + // Load blob + uint32_t* val = reinterpret_cast(malloc(sizeof(val) * size)); + for (uint32_t x = 0, y = size; x < y; ++x) + { + input >> std::hex >> val[x]; + } + wt.values = val; + + wt.count = size; + weightMap[name] = wt; + } + + return weightMap; +} + +IScaleLayer* addBatchNorm2d(INetworkDefinition *network, std::map& weightMap, ITensor& input, std::string lname, float eps) { + float *gamma = (float*)weightMap[lname + ".weight"].values; + float *beta = (float*)weightMap[lname + ".bias"].values; + float *mean = (float*)weightMap[lname + ".running_mean"].values; + float *var = (float*)weightMap[lname + ".running_var"].values; + int len = weightMap[lname + ".running_var"].count; + + float *scval = reinterpret_cast(malloc(sizeof(float) * len)); + for (int i = 0; i < len; i++) { + scval[i] = gamma[i] / sqrt(var[i] + eps); + } + Weights scale{ DataType::kFLOAT, scval, len }; + + float *shval = reinterpret_cast(malloc(sizeof(float) * len)); + for (int i = 0; i < len; i++) { + shval[i] = beta[i] - mean[i] * gamma[i] / sqrt(var[i] + eps); + } + Weights shift{ DataType::kFLOAT, shval, len }; + + float *pval = reinterpret_cast(malloc(sizeof(float) * len)); + for (int i = 0; i < len; i++) { + pval[i] = 1.0; + } + Weights power{ DataType::kFLOAT, pval, len }; + + weightMap[lname + ".scale"] = scale; + weightMap[lname + ".shift"] = shift; + weightMap[lname + ".power"] = power; + IScaleLayer* scale_1 = network->addScale(input, ScaleMode::kCHANNEL, shift, scale, power); + assert(scale_1); + return scale_1; +} + + + +ILayer* convBlock(INetworkDefinition *network, std::map& weightMap, ITensor& input, int outch, int ksize, int s, int g, std::string lname) { + Weights emptywts{ DataType::kFLOAT, nullptr, 0 }; + int p = ksize / 3; + IConvolutionLayer* conv1 = network->addConvolutionNd(input, outch, DimsHW{ ksize, ksize }, weightMap[lname + ".conv.weight"], emptywts); + assert(conv1); + conv1->setStrideNd(DimsHW{ s, s }); + conv1->setPaddingNd(DimsHW{ p, p }); + conv1->setNbGroups(g); + IScaleLayer* bn1 = addBatchNorm2d(network, weightMap, *conv1->getOutput(0), lname + ".bn", 1e-3); + + // silu = x * sigmoid + auto sig = network->addActivation(*bn1->getOutput(0), ActivationType::kSIGMOID); + assert(sig); + auto ew = network->addElementWise(*bn1->getOutput(0), *sig->getOutput(0), ElementWiseOperation::kPROD); + assert(ew); + return ew; +} + +ILayer* focus(INetworkDefinition *network, std::map& weightMap, ITensor& input, int inch, int outch, int ksize, std::string lname) { + ISliceLayer *s1 = network->addSlice(input, Dims3{ 0, 0, 0 }, Dims3{ inch, Yolo::INPUT_H / 2, Yolo::INPUT_W / 2 }, Dims3{ 1, 2, 2 }); + ISliceLayer *s2 = network->addSlice(input, Dims3{ 0, 1, 0 }, Dims3{ inch, Yolo::INPUT_H / 2, Yolo::INPUT_W / 2 }, Dims3{ 1, 2, 2 }); + ISliceLayer *s3 = network->addSlice(input, Dims3{ 0, 0, 1 }, Dims3{ inch, Yolo::INPUT_H / 2, Yolo::INPUT_W / 2 }, Dims3{ 1, 2, 2 }); + ISliceLayer *s4 = network->addSlice(input, Dims3{ 0, 1, 1 }, Dims3{ inch, Yolo::INPUT_H / 2, Yolo::INPUT_W / 2 }, Dims3{ 1, 2, 2 }); + ITensor* inputTensors[] = { s1->getOutput(0), s2->getOutput(0), s3->getOutput(0), s4->getOutput(0) }; + auto cat = network->addConcatenation(inputTensors, 4); + auto conv = convBlock(network, weightMap, *cat->getOutput(0), outch, ksize, 1, 1, lname + ".conv"); + return conv; +} + +ILayer* bottleneck(INetworkDefinition *network, std::map& weightMap, ITensor& input, int c1, int c2, bool shortcut, int g, float e, std::string lname) { + auto cv1 = convBlock(network, weightMap, input, (int)((float)c2 * e), 1, 1, 1, lname + ".cv1"); + auto cv2 = convBlock(network, weightMap, *cv1->getOutput(0), c2, 3, 1, g, lname + ".cv2"); + if (shortcut && c1 == c2) { + auto ew = network->addElementWise(input, *cv2->getOutput(0), ElementWiseOperation::kSUM); + return ew; + } + return cv2; +} + +ILayer* bottleneckCSP(INetworkDefinition *network, std::map& weightMap, ITensor& input, int c1, int c2, int n, bool shortcut, int g, float e, std::string lname) { + Weights emptywts{ DataType::kFLOAT, nullptr, 0 }; + int c_ = (int)((float)c2 * e); + auto cv1 = convBlock(network, weightMap, input, c_, 1, 1, 1, lname + ".cv1"); + auto cv2 = network->addConvolutionNd(input, c_, DimsHW{ 1, 1 }, weightMap[lname + ".cv2.weight"], emptywts); + ITensor *y1 = cv1->getOutput(0); + for (int i = 0; i < n; i++) { + auto b = bottleneck(network, weightMap, *y1, c_, c_, shortcut, g, 1.0, lname + ".m." + std::to_string(i)); + y1 = b->getOutput(0); + } + auto cv3 = network->addConvolutionNd(*y1, c_, DimsHW{ 1, 1 }, weightMap[lname + ".cv3.weight"], emptywts); + + ITensor* inputTensors[] = { cv3->getOutput(0), cv2->getOutput(0) }; + auto cat = network->addConcatenation(inputTensors, 2); + + IScaleLayer* bn = addBatchNorm2d(network, weightMap, *cat->getOutput(0), lname + ".bn", 1e-4); + auto lr = network->addActivation(*bn->getOutput(0), ActivationType::kLEAKY_RELU); + lr->setAlpha(0.1); + + auto cv4 = convBlock(network, weightMap, *lr->getOutput(0), c2, 1, 1, 1, lname + ".cv4"); + return cv4; +} + +ILayer* C3(INetworkDefinition *network, std::map& weightMap, ITensor& input, int c1, int c2, int n, bool shortcut, int g, float e, std::string lname) { + int c_ = (int)((float)c2 * e); + auto cv1 = convBlock(network, weightMap, input, c_, 1, 1, 1, lname + ".cv1"); + auto cv2 = convBlock(network, weightMap, input, c_, 1, 1, 1, lname + ".cv2"); + ITensor *y1 = cv1->getOutput(0); + for (int i = 0; i < n; i++) { + auto b = bottleneck(network, weightMap, *y1, c_, c_, shortcut, g, 1.0, lname + ".m." + std::to_string(i)); + y1 = b->getOutput(0); + } + + ITensor* inputTensors[] = { y1, cv2->getOutput(0) }; + auto cat = network->addConcatenation(inputTensors, 2); + + auto cv3 = convBlock(network, weightMap, *cat->getOutput(0), c2, 1, 1, 1, lname + ".cv3"); + return cv3; +} + +ILayer* SPP(INetworkDefinition *network, std::map& weightMap, ITensor& input, int c1, int c2, int k1, int k2, int k3, std::string lname) { + int c_ = c1 / 2; + auto cv1 = convBlock(network, weightMap, input, c_, 1, 1, 1, lname + ".cv1"); + + auto pool1 = network->addPoolingNd(*cv1->getOutput(0), PoolingType::kMAX, DimsHW{ k1, k1 }); + pool1->setPaddingNd(DimsHW{ k1 / 2, k1 / 2 }); + pool1->setStrideNd(DimsHW{ 1, 1 }); + auto pool2 = network->addPoolingNd(*cv1->getOutput(0), PoolingType::kMAX, DimsHW{ k2, k2 }); + pool2->setPaddingNd(DimsHW{ k2 / 2, k2 / 2 }); + pool2->setStrideNd(DimsHW{ 1, 1 }); + auto pool3 = network->addPoolingNd(*cv1->getOutput(0), PoolingType::kMAX, DimsHW{ k3, k3 }); + pool3->setPaddingNd(DimsHW{ k3 / 2, k3 / 2 }); + pool3->setStrideNd(DimsHW{ 1, 1 }); + + ITensor* inputTensors[] = { cv1->getOutput(0), pool1->getOutput(0), pool2->getOutput(0), pool3->getOutput(0) }; + auto cat = network->addConcatenation(inputTensors, 4); + + auto cv2 = convBlock(network, weightMap, *cat->getOutput(0), c2, 1, 1, 1, lname + ".cv2"); + return cv2; +} + +ILayer* SPPF(INetworkDefinition *network, std::map& weightMap, ITensor& input, int c1, int c2, int k, std::string lname) { + int c_ = c1 / 2; + auto cv1 = convBlock(network, weightMap, input, c_, 1, 1, 1, lname + ".cv1"); + + auto pool1 = network->addPoolingNd(*cv1->getOutput(0), PoolingType::kMAX, DimsHW{ k, k }); + pool1->setPaddingNd(DimsHW{ k / 2, k / 2 }); + pool1->setStrideNd(DimsHW{ 1, 1 }); + auto pool2 = network->addPoolingNd(*pool1->getOutput(0), PoolingType::kMAX, DimsHW{ k, k }); + pool2->setPaddingNd(DimsHW{ k / 2, k / 2 }); + pool2->setStrideNd(DimsHW{ 1, 1 }); + auto pool3 = network->addPoolingNd(*pool2->getOutput(0), PoolingType::kMAX, DimsHW{ k, k }); + pool3->setPaddingNd(DimsHW{ k / 2, k / 2 }); + pool3->setStrideNd(DimsHW{ 1, 1 }); + ITensor* inputTensors[] = { cv1->getOutput(0), pool1->getOutput(0), pool2->getOutput(0), pool3->getOutput(0) }; + auto cat = network->addConcatenation(inputTensors, 4); + auto cv2 = convBlock(network, weightMap, *cat->getOutput(0), c2, 1, 1, 1, lname + ".cv2"); + return cv2; +} + +std::vector> getAnchors(std::map& weightMap, std::string lname) { + std::vector> anchors; + Weights wts = weightMap[lname + ".anchor_grid"]; + int anchor_len = Yolo::CHECK_COUNT * 2; + for (int i = 0; i < wts.count / anchor_len; i++) { + auto *p = (const float*)wts.values + i * anchor_len; + std::vector anchor(p, p + anchor_len); + anchors.push_back(anchor); + } + return anchors; +} + +IPluginV2Layer* addYoLoLayer(INetworkDefinition *network, std::map& weightMap, std::string lname, std::vector dets) { + auto creator = getPluginRegistry()->getPluginCreator("YoloLayer_TRT", "1"); + auto anchors = getAnchors(weightMap, lname); + PluginField plugin_fields[2]; + int netinfo[4] = {Yolo::CLASS_NUM, Yolo::INPUT_W, Yolo::INPUT_H, Yolo::MAX_OUTPUT_BBOX_COUNT}; + plugin_fields[0].data = netinfo; + plugin_fields[0].length = 4; + plugin_fields[0].name = "netinfo"; + plugin_fields[0].type = PluginFieldType::kFLOAT32; + int scale = 8; + std::vector kernels; + for (size_t i = 0; i < anchors.size(); i++) { + Yolo::YoloKernel kernel; + kernel.width = Yolo::INPUT_W / scale; + kernel.height = Yolo::INPUT_H / scale; + memcpy(kernel.anchors, &anchors[i][0], anchors[i].size() * sizeof(float)); + kernels.push_back(kernel); + scale *= 2; + } + plugin_fields[1].data = &kernels[0]; + plugin_fields[1].length = kernels.size(); + plugin_fields[1].name = "kernels"; + plugin_fields[1].type = PluginFieldType::kFLOAT32; + PluginFieldCollection plugin_data; + plugin_data.nbFields = 2; + plugin_data.fields = plugin_fields; + IPluginV2 *plugin_obj = creator->createPlugin("yololayer", &plugin_data); + std::vector input_tensors; + for (auto det: dets) { + input_tensors.push_back(det->getOutput(0)); + } + auto yolo = network->addPluginV2(&input_tensors[0], input_tensors.size(), *plugin_obj); + return yolo; +} +#endif + diff --git a/commondata.cpp b/commondata.cpp new file mode 100644 index 0000000..7bd5879 --- /dev/null +++ b/commondata.cpp @@ -0,0 +1,2289 @@ +#include "commondata.h" + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include "mainwindow.h" + +#include //-ljpeg + + +CommonData::CommonData() +{ + m_bUseWebDisplay = true; + + //m_pDatabase = new SDatabase("CommonData"); + //m_pDatabase->OpenDatabase("/home/birdhead/test.db"); + + m_pLogFile = NULL; + if(m_pLogFile==NULL) + { + QDir dirLog("/home/birdhead/Log"); + if(dirLog.exists()==false) + { + QDir().mkdir("/home/birdhead/Log"); + } + + QString strLogFile = QString("/home/birdhead/Log/%1.log").arg(QDateTime::currentDateTime().toString("yyyyMMdd_HHmmss")); + + m_pLogFile = new QFile(strLogFile); + m_pLogFile->open(QFile::ReadWrite | QFile::Unbuffered); + } + + /* +#ifdef _SAVE_LOG + QDir().mkdir("Log"); + QString strLogFile = QString("Log/%1.log").arg(QDateTime::currentDateTime().toString("yyyyMMdd_HHmmss")); + + m_pLogFile = new QFile(strLogFile); + m_pLogFile->open(QFile::ReadWrite | QFile::Unbuffered); +#endif +*/ + + m_bConnectHDMI = false; + +#ifdef _4K + m_nVideoWidth = 3840; + m_nVideoHeight = 2160; +#else + m_nVideoWidth = 1920; + m_nVideoHeight = 1080; +#endif + + + m_pBitmapData = new uint8_t[m_nVideoWidth*m_nVideoHeight*3+1000]; + + m_nGPIO_Buzzer = 0; + m_nVideoMode = 0; + m_nCropMode = 0; + m_nUseFixWidthLevel = 0; + m_nUseLogLevel = 0; + + m_nUseUSBBackup = 0; + + + m_nScreenSaverTime = 0; + + + m_pSambaClient = NULL; + m_bAutoExitCaptureSendDICOM = false; + m_bAutoCaptureSendDICOM = false; + m_bAutoVideoCapture = false; + m_bAutoLogin = false; + + m_bActiveDetect = false; + + m_bAutoCloseSendFinish = false; + + m_nGPIO_HandSwitch = 0; + + + m_nSearchItemHistoryStudyIndex = -1; + + m_bIsCapturing = false; + + m_strImageExtension = "jpg"; + //m_strImageExtension = "bmp"; + + + + + m_pDCMWorklist = new SDCMWorklist; + + m_pListHistorySearch = new vector; + + m_pListHistoryImage = new vector; + + + m_pWorklistData = new vector; + m_pDCMDumpList = new vector; + m_pFindSCUDataCallback = new SDCMFindSCUDataCallback(m_pDCMWorklist->GetExtractMode(), m_pDCMWorklist->GetCancelAfterNResponses()); + + m_pFindSCUDataCallback->SetWorklistData(m_pWorklistData); + m_pFindSCUDataCallback->SetWorklistDump(m_pDCMDumpList); + + m_pCurrentWorklist = NULL; + + m_pRTSPThread = NULL; + + m_pListCaptureImage = new vector; + + m_pImageCapture = new RGB_Data[m_nVideoWidth*m_nVideoHeight]; + memset(m_pImageCapture, 0, sizeof(RGB_Data)*m_nVideoWidth*m_nVideoHeight); + + m_strStorageDirectory = "/home/birdhead/test_save"; + + m_pCurrentHistoryStudy = NULL; + + m_bVideoEncoding = false; + + m_pWorklistTableHeader = new STableHeader; + m_pHistoryTableHeader = new STableHeader; + + + + QDate dt = QDate::currentDate(); + SetDateSearchWorklistStart(dt); + SetDateSearchWorklistEnd(dt); + SetDateSearchHistoryStart(dt); + SetDateSearchHistoryEnd(dt); + + InitWorklistIndex(); + InitHistoryIndex(); + InitSetting(); + //m_pWorklistTableHeader->UpdateTableHeaderInfo(m_MapWorklistIndex); + +#ifdef _XAVIER_NX + //m_nGPIO_Buzzer = open("/sys/class/gpio/gpio393/value", O_WRONLY); + m_strGPIOBeep = "/sys/class/gpio/gpio393/value"; + m_strGPIOHandSwitch = "/sys/class/gpio/gpio271/value"; +#endif +#ifdef _JETSON_TX2_NX + m_strGPIOBeep = "/sys/class/gpio/gpio269/value"; + m_strGPIOHandSwitch = "/sys/class/gpio/gpio341/value"; +#endif + + if(m_strGPIOBeep.size()>0) + { + m_nGPIO_Buzzer = open(m_strGPIOBeep.toUtf8(), O_WRONLY); + + if(m_nGPIO_Buzzer==-1) + { + + } + } + + + + + + ComputeStorageSize(); +} + + + +CommonData::~CommonData() +{ + SAFE_ARRAY_DELETE(m_pBitmapData); + + SAFE_ARRAY_DELETE(m_pImageCapture); + + //SAFE_DELETE(m_pDatabase); + + SAFE_DELETE(m_pWorklistTableHeader); + SAFE_DELETE(m_pHistoryTableHeader); + + ClearHistorySearchResult(); + SAFE_DELETE(m_pListHistorySearch); + + ClearHistoryImage(); + SAFE_DELETE(m_pListHistoryImage); + + ClearCaptureImage(); + SAFE_DELETE(m_pListCaptureImage); + + SAFE_DELETE(m_pFindSCUDataCallback); + SAFE_DELETE(m_pDCMWorklist); + + SAFE_DELETE(m_pWorklistData); + SAFE_DELETE(m_pDCMDumpList); + + if(m_nGPIO_Buzzer>0) + { + close(m_nGPIO_Buzzer); + } + + + if(m_pLogFile!=NULL) + { + m_pLogFile->flush(); + m_pLogFile->close(); + + SAFE_DELETE(m_pLogFile); + } + + STableHeader::ClearMapData(); + +} + +QDate CommonData::GetDateSearchWorklistStart() +{ + return m_SearchDateWorklist.m_DateStart; +} + +QDate CommonData::GetDateSearchWorklistEnd() +{ + return m_SearchDateWorklist.m_DateEnd; +} + +void CommonData::SetDateSearchWorklistStart(QDate date) +{ + m_SearchDateWorklist.m_DateStart = date; +} + +void CommonData::SetDateSearchWorklistEnd(QDate date) +{ + m_SearchDateWorklist.m_DateEnd = date; +} + +QString CommonData::GetStorageDirectory() +{ + return m_strStorageDirectory; +} + +QDate CommonData::GetDateSearchHistoryStart() +{ + return m_SearchDateHistory.m_DateStart; +} + +QDate CommonData::GetDateSearchHistoryEnd() +{ + return m_SearchDateHistory.m_DateEnd; +} + +void CommonData::SetDateSearchHistoryStart(QDate date) +{ + m_SearchDateHistory.m_DateStart = date; +} + +void CommonData::SetDateSearchHistoryEnd(QDate date) +{ + m_SearchDateHistory.m_DateEnd = date; +} + +SEARCH_ITEM* CommonData::GetSearchItemWorklist() +{ + return &m_SearchItemWorklist; +} + +SDCMFindSCUDataCallback* CommonData::GetFindSCUDataCallback() +{ + return m_pFindSCUDataCallback; +} + +vector* CommonData::GetWorklistData() +{ + m_LockWorklistData.lock(); + return m_pWorklistData; +} + +void CommonData::ReleaseWorklistData() +{ + m_LockWorklistData.unlock(); +} + +vector* CommonData::GetWorklistDump() +{ + return m_pDCMDumpList; +} + +void CommonData::SetRTSPThread(QRTSPThread* pThread) +{ + m_pRTSPThread = pThread; +} + +QRTSPThread* CommonData::GetThreadRTSP() +{ + return m_pRTSPThread; +} + +void CommonData::SetThreadCaptureImage(SThreadImageSave* pThread) +{ + m_pThreadCaptureImage = pThread; +} + +void CommonData::SetThreadSendDICOM(SThreadSendDICOM* pThread) +{ + m_pThreadSendDICOM = pThread; +} + +void CommonData::SetThreadWorklistSearch(SThreadWorklistSearch* pThread) +{ + m_pThreadWorklistSearch = pThread; +} + +SThreadImageSave* CommonData::GetThreadCaptureImage() +{ + return m_pThreadCaptureImage; +} + +SThreadSendDICOM* CommonData::GetThreadSendDICOM() +{ + return m_pThreadSendDICOM; +} + +SThreadWorklistSearch* CommonData::GetThreadWorklistSearch() +{ + return m_pThreadWorklistSearch; +} + +void CommonData::AddCaptureImageWithHistory() +{ + int i=0; + ClearCaptureImage(); + + int nImages = m_pListHistoryImage->size(); + + QImage* pImageTmp = NULL; + + m_LockAddHistory.lock(); + + for(i=0 ; im_strDate; + QString strTime = pImageHistory->m_strTime; + int nWidth = pImageHistory->GetWidth(); + int nHeight = pImageHistory->GetHeight(); + QImage::Format fmt = (QImage::Format)pImageHistory->GetFormat(); + int nType = pImageHistory->m_nType; + QString strFilename = pImageHistory->m_strFile; + bool bDelete = pImageHistory->m_bDelete; + + QString strTimeFormat = "yyyyMMdd HHmmss"; + QString strDateTime = QString("%1 %2").arg(strDate).arg(strTime); + QDateTime dtCapture = QDateTime::fromString(strDateTime, strTimeFormat); + + CAPTURE_IMAGE* pImageNew = new CAPTURE_IMAGE; + pImageNew->m_nAcquisitionNumber = pImageHistory->m_nImageNumber; + pImageNew->m_bDelete = pImageHistory->m_bDelete; + pImageNew->m_bSend = pImageHistory->m_bSend; + pImageNew->m_bBackup = true; + pImageNew->m_pImageSmall = new QImage(nWidth/4, nHeight/4, fmt); + + if(pImageTmp==NULL) + { + pImageTmp = new QImage(nWidth, nHeight, fmt); + } + else + { + if(pImageTmp->width()!=nWidth || pImageTmp->height()!=nHeight || pImageTmp->format()!=fmt) + { + SAFE_DELETE(pImageTmp); + pImageTmp = new QImage(nWidth, nHeight, fmt); + } + } + + { + uint8_t* pImageData = pImageTmp->bits(); + + memcpy(pImageData, pImageHistory->m_pImageData, nWidth*nHeight*3); + + // + QImage imgSmall = pImageTmp->scaled(nWidth/4, nHeight/4); + *pImageNew->m_pImageSmall = imgSmall.copy(); + SAFE_ARRAY_DELETE(pImageNew->m_pImageCaptureRaw); + SAFE_ARRAY_DELETE(pImageNew->m_pImageCaptureColor); + + imgSmall.detach(); + + } + + + + bool bTest = true; + + if(bTest==true) + { + + //CAPTURE_IMAGE* pImageNew = AddCaptureImage(pImageOri->bits(), nWidth, nHeight, pImageHistory->m_nType); + + + + + + pImageNew->m_DateTime = dtCapture;//QDateTime::currentDateTime(); + pImageNew->m_nType = (DISPLAY_TYPE)nType; + + + pImageNew->m_strImageFilename = strFilename; + if(pImageNew->m_nType==DISPLAY_VIDEO) + { + pImageNew->m_strVideoFilename = strFilename; + pImageNew->m_strVideoFilename.replace(".bmp", MOVIE_FILE_EXTENSION); + pImageNew->m_strVideoFilename.replace(".jpg", MOVIE_FILE_EXTENSION); + pImageNew->m_strVideoFilename.replace(".png", MOVIE_FILE_EXTENSION); + } + pImageNew->m_bCheck = true; + pImageNew->m_nType = (DISPLAY_TYPE)nType; + pImageNew->m_bDelete = bDelete; + pImageNew->m_bSaveFile = true; + pImageNew->m_nIndex = i; + + m_LockAddCapture.lock(); + m_pListCaptureImage->push_back(pImageNew); + m_LockAddCapture.unlock(); + + + } + } + SAFE_DELETE(pImageTmp); + m_LockAddHistory.unlock(); + + ClearHistoryImage(); +} + +vector* CommonData::GetListCaptureImage() +{ + m_LockAddCapture.lock(); + return m_pListCaptureImage; +} + +void CommonData::ReleaseListCaptureImage() +{ + m_LockAddCapture.unlock(); +} + +void CommonData::ClearCaptureImage() +{ + m_LockAddCapture.lock(); + { + int i=0; + for(i=0 ; isize() ; i++) + { + CAPTURE_IMAGE* pCaptureImage = (*m_pListCaptureImage)[i]; + if(pCaptureImage!=NULL) + { + if(pCaptureImage->m_pImage!=NULL) + { + //pCaptureImage->m_pImage->detach(); + } + if(pCaptureImage->m_pImageSmall!=NULL) + { + //pCaptureImage->m_pImageSmall->detach(); + } + SAFE_DELETE(pCaptureImage->m_pImage); + SAFE_DELETE(pCaptureImage->m_pImageSmall); + SAFE_ARRAY_DELETE(pCaptureImage->m_pImageCaptureRaw); + SAFE_ARRAY_DELETE(pCaptureImage->m_pImageCaptureColor); + SAFE_ARRAY_DELETE(pCaptureImage->m_pImageData); + + SAFE_DELETE(pCaptureImage); + } + + } + m_pListCaptureImage->clear(); + + //SAFE_DELETE(m_pListCaptureImage); + //m_pListCaptureImage = new vector; + } + m_LockAddCapture.unlock(); +} + +CAPTURE_IMAGE* CommonData::AddCaptureImage(uint8_t* pData, int nWidth, int nHeight, int nCaptureType) +{ + CAPTURE_IMAGE* pCaptureImage = NULL; + m_LockAddCapture.lock(); + { + pCaptureImage = new CAPTURE_IMAGE; + pCaptureImage->m_DateTime = QDateTime::currentDateTime(); + pCaptureImage->m_nType = (DISPLAY_TYPE)nCaptureType; + if(nWidth>0 && nHeight>0 && pData!=NULL) + { + pCaptureImage->m_pImageCaptureRaw = NULL; + pCaptureImage->m_pImageCaptureRaw = new uint8_t[nWidth*nHeight*2]; + memset(pCaptureImage->m_pImageCaptureRaw, 0, sizeof(uint8_t)*nWidth*nHeight*2); + memcpy(pCaptureImage->m_pImageCaptureRaw, pData, sizeof(uint8_t)*nWidth*nHeight*2); + } + else + { + pCaptureImage->m_pImageCaptureRaw = NULL; + if(nWidth>0 && nHeight>0) + { + pCaptureImage->m_pImageCaptureRaw = new uint8_t[nWidth*nHeight*2]; + memset(pCaptureImage->m_pImageCaptureRaw, 0, sizeof(uint8_t)*nWidth*nHeight*2); + } + } + + + + { + m_pListCaptureImage->push_back(pCaptureImage); + } + } + m_LockAddCapture.unlock(); + + + return pCaptureImage; +} + +uint8_t* CommonData::ConvertColor(uint8_t* pData, int nWidth, int nHeight) +{ + int i=0; + int j=0; + + for(i=0 ; im_nAcquisitionImageMax); + } + else if(nType==DISPLAY_VIDEO) + { + strDirectoryImage = QString("%1/video").arg(strStorageDirectory); + strImageExtention = "mp4"; + nMaxIndex = (++pAcquisitionInfo->m_nAcquisitionVideoMax); + } + + SDATA_PATIENT* pPatientInfo = pAcquisitionInfo->GetPatientInfo(); + QString strPatientID = pPatientInfo->strPatientID; + + ReleaseAcquisitionInfo(); + + + //QString strStorageDirectory = pMainWindow->GetStorageDirectory(); + + + QString strDirectoryDate = QString("%1/%2%3%4").arg(strDirectoryImage).arg(QString::number(nYear).rightJustified(4, '0')).arg(QString::number(nMonth).rightJustified(2, '0')) + .arg(QString::number(nDay).rightJustified(2, '0')); + + if(strPatientID.size()<1) + { + strPatientID = "unknown"; + } + + QString strDirectoryPatient = QString("%1/%2").arg(strDirectoryDate).arg(strPatientID); + + + uint captureTime = dt.toMSecsSinceEpoch(); + + QDir().mkdir(strDirectoryImage); + QDir().mkdir(strDirectoryDate); + QDir().mkdir(strDirectoryPatient); + + vector::iterator it; + + strFile = QString("%1/%2_%3.%4").arg(strDirectoryPatient).arg(QString::number(nMaxIndex)).arg(QString::number(captureTime)).arg(strImageExtention); + + m_LockAddCapture.lock(); + + int nCheckCount = -1; + for(it=m_pListCaptureImage->begin() ; it!=m_pListCaptureImage->end() ; ++it) + { + CAPTURE_IMAGE* pCheckImage = *it; + if(pCheckImage->m_strImageFilename==strFile) + { + nCheckCount++; + + strFile = QString("%1/%2_%3_%4.%5").arg(strDirectoryPatient).arg(QString::number(nMaxIndex)).arg(QString::number(captureTime)).arg(QString::number(nCheckCount)).arg(strImageExtention); + + } + } + + m_LockAddCapture.unlock(); + + + return strFile; +} + +bool CommonData::ConvertCaptureImage(CAPTURE_IMAGE* pCaptureImage, int nWidth, int nHeight) +{ + int i=0; + int j=0; + + pCaptureImage->m_bSaveFile = false; + + if(pCaptureImage->m_pImageCaptureRaw==NULL) + { + pCaptureImage->m_pImageCaptureRaw = new uint8_t[m_nVideoWidth*m_nVideoHeight*2]; + } + + uint8_t* pData = pCaptureImage->m_pImageCaptureRaw; + + memset(m_pImageCapture, 0, sizeof(RGB_Data)*m_nVideoWidth*m_nVideoHeight); + + for(i=0 ; im_pImageCaptureRaw); + SAFE_ARRAY_DELETE(pCaptureImage->m_pImageCaptureColor); + + QString strFile = GetNewFilename(DISPLAY_IMAGE); + + pCaptureImage->m_bCheck = true; + pCaptureImage->m_strImageFilename = strFile; + + ACQUISITION_INFO* pAcquisitionInfo = GetAcquisitionInfo(); + { + if(pCaptureImage->m_nType==DISPLAY_VIDEO) + { + QString strVideo = pCaptureImage->m_strVideoFilename; + QString strImageExtention = m_strImageExtension; + + if(strVideo.size()==0) + { + strVideo = GetNewFilename(DISPLAY_VIDEO); + pCaptureImage->m_strVideoFilename = strVideo; + } + + strFile = strVideo.replace("mp4", strImageExtention); + + pCaptureImage->m_strImageFilename = strFile; + pCaptureImage->m_nAcquisitionNumber = pAcquisitionInfo->m_nAcquisitionVideoMax; + } + else + { + pCaptureImage->m_nAcquisitionNumber = pAcquisitionInfo->m_nAcquisitionImageMax; + } + } + ReleaseAcquisitionInfo(); + + bool bCreateBitmapFile = false; + + for(i=0 ; i<10 && bCreateBitmapFile==false ; i++) + { + if(m_strImageExtension=="bmp") + { + bCreateBitmapFile = WriteBitmapFile(pCaptureImage->m_strImageFilename, (uint8_t*)m_pImageCapture, nWidth, nHeight); + } + else if(m_strImageExtension=="jpg") + { + bCreateBitmapFile = WriteJPEG(pCaptureImage->m_strImageFilename, (uint8_t*)m_pImageCapture, nWidth, nHeight, 100); + } + + if(bCreateBitmapFile==false) + { + usleep(1000*10); + } + } + + //bCreateBitmapFile = false; + if(bCreateBitmapFile==false) + { + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + pMainWindow->SetDisplayError(0x04); + + return false; + } + + pCaptureImage->m_bSaveFile = true; + + pCaptureImage->m_pImage = new QImage(pCaptureImage->m_strImageFilename); + + if(m_nCropMode==true) + { + int nSaveWidth = 1376; + int nSaveHeight = 992; + *pCaptureImage->m_pImage = pCaptureImage->m_pImage->copy(QRect(242, 5, nSaveWidth, nSaveHeight)); + pCaptureImage->m_pImageSmall = new QImage(nSaveWidth/4, nSaveHeight/4, pCaptureImage->m_pImage->format()); + *pCaptureImage->m_pImageSmall = pCaptureImage->m_pImage->scaled(pCaptureImage->m_pImage->width()/4, pCaptureImage->m_pImage->height()/4, Qt::IgnoreAspectRatio, Qt::SmoothTransformation).copy(); + } + else + { + QImage image = pCaptureImage->m_pImage->scaled(nWidth/4, nHeight/4, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); + pCaptureImage->m_pImageSmall = new QImage(nWidth/4, nHeight/4, image.format()); + *pCaptureImage->m_pImageSmall = image.copy(); + } + + + + + + + + pAcquisitionInfo = GetAcquisitionInfo(); + if(pAcquisitionInfo->GetPatientInfo()->strPatientID.length() > 0 && + pAcquisitionInfo->GetPatientInfo()->strPatientName.length() >0) + { + pAcquisitionInfo->m_strImageFilename = pCaptureImage->m_strImageFilename; + pAcquisitionInfo->m_strVideoFilename = pCaptureImage->m_strVideoFilename; + + // 1. 이 로직 블록에서만 사용할 DB 인스턴스를 지역 변수로 생성 + SUTIL::SDatabase db("ConvertCaptureImage_Connection"); + if (db.OpenDatabase("/home/birdhead/test.db") == 0) // 0이 성공 + { + // 2. 지역 인스턴스 'db'를 사용하여 함수 호출 + if(pCaptureImage->m_nType==DISPLAY_IMAGE) + { + db.InsertImage(pAcquisitionInfo); + } + else if(pCaptureImage->m_nType==DISPLAY_VIDEO) + { + db.InsertVideo(pAcquisitionInfo); + } + } + else + { + qWarning() << "DB open failed in ConvertCaptureImage"; + } + // 이 블록이 끝나면 'db' 객체는 자동으로 소멸되어 커넥션이 정리됩니다. + } + ReleaseAcquisitionInfo(); + + usleep(100); + + return true; +} + + + +void CommonData::ConvertCaptureImageRGBA(CAPTURE_IMAGE* pCaptureImage, int nWidth, int nHeight) +{ + //uint8_t* pData = pCaptureImage->m_pImageCaptureRaw; + + //int nYear = pCaptureImage->m_DateTime.date().year(); + //int nMonth = pCaptureImage->m_DateTime.date().month(); + //int nDay = pCaptureImage->m_DateTime.date().day(); + //int nHour = pCaptureImage->m_DateTime.time().hour(); + //int nMinute = pCaptureImage->m_DateTime.time().minute(); + //int nSec = pCaptureImage->m_DateTime.time().second(); + + //QString strStorageDirectory = GetStorageDirectory(); + //QString strDirectoryImage = QString("%1").arg(strStorageDirectory); + //QString strPatientID = "123"; + QString strImageExtention = m_strImageExtension; + + pCaptureImage->m_pImage = new QImage((uchar*)pCaptureImage->m_pImageCaptureRaw, nWidth, nHeight, QImage::Format_RGB32); + + *pCaptureImage->m_pImage = pCaptureImage->m_pImage->convertToFormat(QImage::Format_RGB888); + + *pCaptureImage->m_pImage = pCaptureImage->m_pImage->rgbSwapped(); + + + //QString strFile = QString("%1/%2%3%4.%5").arg(strDirectoryImage).arg(QString::number(nHour).rightJustified(2, '0')).arg(QString::number(nMinute).rightJustified(2, '0')).arg(QString::number(nSec).rightJustified(2, '0')).arg(strImageExtention); + QString strFile = GetNewFilename(DISPLAY_IMAGE); + { + /* + vector::iterator it; + + int nCheckCount = -1; + for(it=m_pListCaptureImage->begin() ; it!=m_pListCaptureImage->end() ; ++it) + { + CAPTURE_IMAGE* pCheckImage = *it; + if(pCheckImage->m_strImageFilename==strFile) + { + nCheckCount++; + + strFile = QString("%1/%2%3%4_%5.%6").arg(strDirectoryImage).arg(QString::number(nHour).rightJustified(2, '0')).arg(QString::number(nMinute).rightJustified(2, '0')).arg(QString::number(nSec).rightJustified(2, '0')).arg(QString::number(nCheckCount)).arg(strImageExtention); + + } + } + */ + } + + + pCaptureImage->m_strImageFilename = strFile; + + if(pCaptureImage->m_nType==DISPLAY_VIDEO) + { + QString strVideo = strFile; + strVideo = strVideo.replace(strImageExtention, "mp4"); + pCaptureImage->m_strVideoFilename = strVideo; + } + + pCaptureImage->m_bSaveFile = false; + + m_pThreadCaptureImage->AddCaptureSaveToFile(pCaptureImage); + + QImage image = pCaptureImage->m_pImage->scaled(nWidth/4, nHeight/4, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); + + pCaptureImage->m_pImageSmall = new QImage(nWidth/4, nHeight/4, image.format()); + *pCaptureImage->m_pImageSmall = image; + + SAFE_ARRAY_DELETE(pCaptureImage->m_pImageCaptureRaw); + + // 1. Mutex를 사용하는 Get/Release 함수로 안전하게 공유 데이터에 접근 + ACQUISITION_INFO* pAcquisitionInfo = GetAcquisitionInfo(); + if(pAcquisitionInfo->GetPatientInfo()->strPatientID.length() > 0 && + pAcquisitionInfo->GetPatientInfo()->strPatientName.length() >0) + { + pAcquisitionInfo->m_strImageFilename = pCaptureImage->m_strImageFilename; + pAcquisitionInfo->m_strVideoFilename = pCaptureImage->m_strVideoFilename; + + // 2. 지역 DB 인스턴스 생성 및 사용 + SUTIL::SDatabase db("ConvertRGBA_Connection"); + if (db.OpenDatabase("/home/birdhead/test.db") == 0) // 0이 성공 + { + if(pCaptureImage->m_nType==DISPLAY_IMAGE) + { + db.InsertImage(pAcquisitionInfo); + } + else if(pCaptureImage->m_nType==DISPLAY_VIDEO) + { + db.InsertVideo(pAcquisitionInfo); + } + } + else + { + qWarning() << "DB open failed in ConvertCaptureImageRGBA"; + } + } + ReleaseAcquisitionInfo(); // 3. 접근이 끝난 후 반드시 Release 호출 + + usleep(10*1000); + +} + +/* +SDatabase* CommonData::GetDatabase() +{ + m_LockDatabase.lock(); + return m_pDatabase; +} + +void CommonData::ReleaseDatabase() +{ + m_LockDatabase.unlock(); +} +*/ + +ACQUISITION_INFO* CommonData::GetAcquisitionInfo() +{ + m_LockAcquisitionInfo.lock(); + return &m_AcquisitionInfo; +} + +void CommonData::ReleaseAcquisitionInfo() +{ + m_LockAcquisitionInfo.unlock(); +} + +vector* CommonData::GetListHistoryImage() +{ + m_LockAddHistory.lock(); + return m_pListHistoryImage; +} + +void CommonData::ReleaseListHistoryImage() +{ + m_LockAddHistory.unlock(); +} + +void CommonData::ClearHistoryImage() +{ + m_LockAddHistory.lock(); + + int i=0; + for(i=0 ; isize() ; i++) + { + ImageSelect* pHistoryImage = (*m_pListHistoryImage)[i]; + if(pHistoryImage!=NULL) + { + SAFE_ARRAY_DELETE(pHistoryImage->m_pImageData); + } + SAFE_DELETE(pHistoryImage); + } + m_pListHistoryImage->clear(); + + SAFE_DELETE(m_pListHistoryImage); + m_pListHistoryImage = new vector; + + m_LockAddHistory.unlock(); +} + +vector* CommonData::GetHistorySearchResult() +{ + return m_pListHistorySearch; +} + +void CommonData::ClearHistorySearchResult() +{ + m_LockCurrentHistoryStudy.lock(); + + int i=0; + for(i=0 ; isize() ; i++) + { + HISTORY_STUDY* pHistoryStudy = (*m_pListHistorySearch)[i]; + SAFE_DELETE(pHistoryStudy); + } + + m_pListHistorySearch->clear(); + m_pCurrentHistoryStudy = NULL; + + m_LockCurrentHistoryStudy.unlock(); +} + + + +HISTORY_STUDY* CommonData::GetCurrentHistoryStudy() +{ + m_LockCurrentHistoryStudy.lock(); + return m_pCurrentHistoryStudy; +} + +void CommonData::ReleaseCurrentHistoryStudy() +{ + m_LockCurrentHistoryStudy.unlock(); +} + +void CommonData::SetCurrentHistoryStudy(int nIndex) +{ + m_LockCurrentHistoryStudy.lock(); + if(nIndex < m_pListHistorySearch->size()) + { + m_pCurrentHistoryStudy = (*m_pListHistorySearch)[nIndex]; + } + else + { + m_pCurrentHistoryStudy = NULL; + } + m_LockCurrentHistoryStudy.unlock(); +} + +bool CommonData::IsEncodingVideo() +{ + return m_bVideoEncoding; +} + +void CommonData::SetEncodingVideo(bool bEncoding) +{ + m_bVideoEncoding = bEncoding; +} + + +STableHeader* CommonData::GetWorklistTableHeader() +{ + return m_pWorklistTableHeader; +} + +STableHeader* CommonData::GetHistoryTableHeader() +{ + return m_pHistoryTableHeader; +} + + +void CommonData::Exit() +{ + if(m_pRTSPThread!=NULL) + { + m_pRTSPThread->ChangeState(1000); + while(m_pRTSPThread->isRunning()==true) + { + usleep(10*1000); + } + m_pRTSPThread->stop(); + } + + if(m_pThreadCaptureImage!=NULL) + { + m_pThreadCaptureImage->ChangeState(1000); + while(m_pThreadCaptureImage->isRunning()==true) + { + usleep(10*1000); + } + } + + + + + +} + +int CommonData::GetDisplayType() +{ + return m_nDisplayType; +} + +void CommonData::SetDisplayType(int nType) +{ + m_nDisplayType = nType; +} + +SDCMWorklist* CommonData::GetWorklistClass() +{ + return m_pDCMWorklist; +} + +#define pp pair + +bool cmp(const pp& a, const pp& b) +{ + //if(a.second==b.second) return a.first < b.first; + //return a.second < b.second; + return a.first > b.first; +} + +void CommonData::InitWorklistIndex() +{ + // 1. 함수 내에서 사용할 지역 DB 인스턴스 생성 + SUTIL::SDatabase db("InitWorklist_Connection"); + if (db.OpenDatabase("/home/birdhead/test.db") != 0) { + qWarning() << "DB Open Failed in InitWorklistIndex"; + return; + } + + // 2. 지역 인스턴스 'db'를 통해 함수 호출 + QList result = db.QueryWorklistTableHeader(); + m_pWorklistTableHeader->SetDataWorklist(result); +} + +void CommonData::UpdateWorklistIndex() +{ + // 1. 지역 DB 인스턴스 생성 + SUTIL::SDatabase db("UpdateWorklist_Connection"); + if (db.OpenDatabase("/home/birdhead/test.db") != 0) return; + + // 2. 여러 UPDATE 작업을 하나의 트랜잭션으로 묶어 원자성을 보장 + if (!db.BeginTransaction()) { + qWarning() << "Failed to begin transaction in UpdateWorklistIndex"; + return; + } + + bool bSuccess = true; + QString query = "UPDATE WorklistTableHeader SET DisplayIndex = ?, Visible = ? WHERE DefaultIndex = ?;"; + + vector* pListActivate = m_pWorklistTableHeader->GetListActive(); + for(size_t i = 0; i < pListActivate->size() && bSuccess; ++i) + { + TableHeader* pHeader = (*pListActivate)[i]; + pHeader->m_nIndex = i; + // 3. 파라미터 바인딩으로 안전하게 쿼리 실행 + bSuccess = db.ExecuteNonQuery(query, {pHeader->m_nIndex, 1, pHeader->m_nIndexDefault}); + } + + vector* pListInactivate = m_pWorklistTableHeader->GetListInactive(); + size_t nIndexOffset = pListActivate->size(); + for(size_t i = 0; i < pListInactivate->size() && bSuccess; ++i) + { + TableHeader* pHeader = (*pListInactivate)[i]; + pHeader->m_nIndex = nIndexOffset + i; + bSuccess = db.ExecuteNonQuery(query, {pHeader->m_nIndex, 0, pHeader->m_nIndexDefault}); + } + + // 4. 모든 작업이 성공했을 때만 Commit, 하나라도 실패하면 Rollback + if (bSuccess) { + db.Commit(); + } else { + qWarning() << "UpdateWorklistIndex failed, rolling back transaction."; + db.Rollback(); + } +} + +void CommonData::InitHistoryIndex() +{ + // 1. 함수 내에서 사용할 지역 DB 인스턴스 생성 + SUTIL::SDatabase db("InitHistory_Connection"); + if (db.OpenDatabase("/home/birdhead/test.db") != 0) { + qWarning() << "DB Open Failed in InitHistoryIndex"; + return; + } + + // 2. 지역 인스턴스 'db'를 통해 함수 호출 + QList result = db.QueryHistoryTableHeader(); + m_pHistoryTableHeader->SetDataHistory(result); +} + +void CommonData::UpdateHistoryIndex() +{ + // 1. 지역 DB 인스턴스 생성 + SUTIL::SDatabase db("UpdateHistory_Connection"); + if (db.OpenDatabase("/home/birdhead/test.db") != 0) return; + + // 2. 트랜잭션 시작 + if (!db.BeginTransaction()) { + qWarning() << "Failed to begin transaction in UpdateHistoryIndex"; + return; + } + + bool bSuccess = true; + QString query = "UPDATE HistoryTableHeader SET DisplayIndex = ?, Visible = ? WHERE DefaultIndex = ?;"; + + vector* pListActivate = m_pHistoryTableHeader->GetListActive(); + for (size_t i = 0; i < pListActivate->size() && bSuccess; ++i) + { + TableHeader* pHeader = (*pListActivate)[i]; + pHeader->m_nIndex = i; + // 3. 파라미터 바인딩으로 안전하게 쿼리 실행 + bSuccess = db.ExecuteNonQuery(query, {pHeader->m_nIndex, 1, pHeader->m_nIndexDefault}); + } + + vector* pListInactivate = m_pHistoryTableHeader->GetListInactive(); + size_t nIndexOffset = pListActivate->size(); + for (size_t i = 0; i < pListInactivate->size() && bSuccess; ++i) + { + TableHeader* pHeader = (*pListInactivate)[i]; + pHeader->m_nIndex = nIndexOffset + i; + bSuccess = db.ExecuteNonQuery(query, {pHeader->m_nIndex, 0, pHeader->m_nIndexDefault}); + } + + // 4. 성공/실패에 따른 Commit 또는 Rollback + if (bSuccess) { + db.Commit(); + } else { + qWarning() << "UpdateHistoryIndex failed, rolling back transaction."; + db.Rollback(); + } +} + + +SDCM_SERVER_INFO* CommonData::GetServerWorklistInfo() +{ + m_LockServerWorklistInfo.lock(); + return &m_ServerWorklistInfo; +} + +void CommonData::ReleaseServerWorklistInfo() +{ + m_LockServerWorklistInfo.unlock(); +} + +SDCM_SERVER_INFO* CommonData::GetServerStorageInfo() +{ + m_LockServerStorageInfo.lock(); + return &m_ServerStorageInfo; +} + +void CommonData::ReleaseServerStorageInfo() +{ + m_LockServerStorageInfo.unlock(); +} + + +void CommonData::UpdateSetting() +{ + SUTIL::SDatabase db("UpdateSetting_Connection"); + if (db.OpenDatabase("/home/birdhead/test.db") != 0) return; + + QString query = "UPDATE ConnectionInfo SET WorklistServerIP=?, WorklistPort=?, WorklistServerTitle=?, WorklistClientTitle=?, " + "StorageServerIP=?, StoragePort=?, StorageServerTitle=?, StorageClientTitle=?, Modality=?, " + "HospitalName=?, StationName=?, EnableLog=?, LocalImageFolder=?, LocalLogFolder=?, LocalHistoryFolder=? " + "WHERE ID=1"; + + QVariantList params; + params << m_ServerWorklistInfo.m_strServer_IP << m_ServerWorklistInfo.m_nServer_Port << m_ServerWorklistInfo.m_strServer_AETitle + << m_ServerWorklistInfo.m_strClient_AETitle << m_ServerStorageInfo.m_strServer_IP << m_ServerStorageInfo.m_nServer_Port + << m_ServerStorageInfo.m_strServer_AETitle << m_ServerStorageInfo.m_strClient_AETitle << m_strModality + << m_strInstitutionName << m_strStationName << (m_bEnableLog ? "Enabled" : "Disabled") + << m_strLocalImageFolder << m_strLogFolder << m_strLocalHistoryFolder; + + db.ExecuteNonQuery(query, params); +} + +void CommonData::UpdateAdvancedSetting() +{ + SUTIL::SDatabase db("UpdateAdvancedSetting_Connection"); + if (db.OpenDatabase("/home/birdhead/test.db") != 0) return; + + QString query = "UPDATE AdvancedSetting SET EnableNetworkShare=?, NetworkShareIP=?, NetworkShareFolder=?, NetworkShareID=?, NetworkSharePassword=?, " + "NetworkSMBVersion=?, NetworkAutoSend=?, AutoExitCaptureSendDICOM=?, AutoCaptureSendDICOM=?, AutoVideoCapture=?, " + "DICOMCharacterSet=?, AutoCloseSendFinish=?, AutoLogin=?, DICOMCompress=?, VideoMode=?, CropMode=?, " + "UseFixWidthLevel=?, UseLogLevel=?, ScreenSaverTime=?, USBBackup=? WHERE ID=1"; + + QVariantList params; + params << (m_NetworkShareInfo.m_bEnable ? "Enabled" : "Disabled") + << m_NetworkShareInfo.m_strIP << m_NetworkShareInfo.m_strShareFolder << m_NetworkShareInfo.m_strID + << m_NetworkShareInfo.m_strPassword << m_NetworkShareInfo.m_strVersion + << (m_NetworkShareInfo.m_bAutoSend ? "Enabled" : "Disabled") + << m_bAutoExitCaptureSendDICOM << m_bAutoCaptureSendDICOM << m_bAutoVideoCapture + << m_strDICOMCharacterSet << m_bAutoCloseSendFinish << m_bAutoLogin << m_nTransferSyntax + << m_nVideoMode << m_nCropMode << m_nUseFixWidthLevel << m_nUseLogLevel + << m_nScreenSaverTime << m_nUseUSBBackup; + + db.ExecuteNonQuery(query, params); + + if(m_nUseLogLevel==0) + { + if(m_pLogFile!=NULL) + { + m_pLogFile->flush(); + m_pLogFile->close(); + + SAFE_DELETE(m_pLogFile); + } + } +} + + + +void CommonData::InitSetting() +{ + SUTIL::SDatabase db("InitSetting_Connection"); + if (db.OpenDatabase("/home/birdhead/test.db") != 0) { + qWarning() << "Database connection failed for InitSetting."; + return; + } + + // QSqlQuery를 직접 사용하여 컬럼 이름으로 안전하게 파싱 + QSqlDatabase qdb = QSqlDatabase::database(db.connectionName()); // 내부 QSqlDatabase 객체 가져오기 + QSqlQuery query(qdb); + + // 1. ConnectionInfo 테이블 조회 + if (query.exec("SELECT * FROM ConnectionInfo WHERE ID = 1") && query.next()) { + QSqlRecord rec = query.record(); + m_ServerWorklistInfo.m_strServer_IP = rec.value("WorklistServerIP").toString(); + m_ServerWorklistInfo.m_nServer_Port = rec.value("WorklistPort").toInt(); + m_ServerWorklistInfo.m_strServer_AETitle = rec.value("WorklistServerTitle").toString(); + m_ServerWorklistInfo.m_strClient_AETitle = rec.value("WorklistClientTitle").toString(); + m_ServerStorageInfo.m_strServer_IP = rec.value("StorageServerIP").toString(); + m_ServerStorageInfo.m_nServer_Port = rec.value("StoragePort").toInt(); + m_ServerStorageInfo.m_strServer_AETitle = rec.value("StorageServerTitle").toString(); + m_ServerStorageInfo.m_strClient_AETitle = rec.value("StorageClientTitle").toString(); + m_strModality = rec.value("Modality").toString(); + m_strInstitutionName = rec.value("HospitalName").toString(); + m_strStationName = rec.value("StationName").toString(); + m_bEnableLog = (rec.value("EnableLog").toString() == "Enabled"); + m_strLocalImageFolder = rec.value("LocalImageFolder").toString(); + m_strLogFolder = rec.value("LocalLogFolder").toString(); + m_strLocalHistoryFolder = rec.value("LocalHistoryFolder").toString(); + } + + // 2. AdvancedSetting 테이블 조회 + if (query.exec("SELECT * FROM AdvancedSetting WHERE ID = 1") && query.next()) { + QSqlRecord rec = query.record(); + m_NetworkShareInfo.m_bEnable = (rec.value("EnableNetworkShare").toString() == "Enabled"); + m_NetworkShareInfo.m_strIP = rec.value("NetworkShareIP").toString(); + m_NetworkShareInfo.m_strShareFolder = rec.value("NetworkShareFolder").toString(); + m_NetworkShareInfo.m_strID = rec.value("NetworkShareID").toString(); + m_NetworkShareInfo.m_strPassword = rec.value("NetworkSharePassword").toString(); + m_NetworkShareInfo.m_strVersion = rec.value("NetworkSMBVersion").toString(); + m_NetworkShareInfo.m_bAutoSend = (rec.value("NetworkAutoSend").toString() == "Enabled"); + m_bAutoExitCaptureSendDICOM = rec.value("AutoExitCaptureSendDICOM").toBool(); + m_bAutoCaptureSendDICOM = rec.value("AutoCaptureSendDICOM").toBool(); + m_bAutoVideoCapture = rec.value("AutoVideoCapture").toBool(); + m_strDICOMCharacterSet = rec.value("DICOMCharacterSet").toString(); + m_bAutoCloseSendFinish = rec.value("AutoCloseSendFinish").toBool(); + m_bAutoLogin = rec.value("AutoLogin").toBool(); + m_nTransferSyntax = rec.value("DICOMCompress").toInt(); + m_nVideoMode = rec.value("VideoMode").toInt(); + m_nCropMode = rec.value("CropMode").toInt(); + m_nUseFixWidthLevel = rec.value("UseFixWidthLevel").toInt(); + m_nUseLogLevel = rec.value("UseLogLevel").toInt(); + m_nScreenSaverTime = rec.value("ScreenSaverTime").toInt(); + m_nUseUSBBackup = rec.value("USBBackup").toInt(); + } + + SetVideoMode(m_nVideoMode); + SetCropMode(m_nCropMode); + SetUseFixWidthLevel(m_nUseFixWidthLevel); + SetLogLevel(m_nUseLogLevel); + SetScreenSaverTime(m_nScreenSaverTime); + SetUseUSBBackup(m_nUseUSBBackup); + + if(m_nUseLogLevel>0) + { + if(m_pLogFile==NULL) + { + QDir().mkdir("Log"); + QString strLogFile = QString("Log/%1.log").arg(QDateTime::currentDateTime().toString("yyyyMMdd_HHmmss")); + + m_pLogFile = new QFile(strLogFile); + m_pLogFile->open(QFile::ReadWrite | QFile::Unbuffered); + } + } + + + //test code + //m_bAutoExitCaptureSendDICOM = true; + //m_bAutoVideoCapture = true; + + + m_pDCMWorklist->SetWorklistInfo(m_ServerWorklistInfo.m_strServer_IP, QString::number(m_ServerWorklistInfo.m_nServer_Port), m_ServerWorklistInfo.m_strServer_AETitle, m_ServerWorklistInfo.m_strClient_AETitle); + +} + +QString CommonData::GetModality() +{ + return m_strModality; +} + +QString CommonData::GetInstitutionName() +{ + return m_strInstitutionName; +} + +QString CommonData::GetStationName() +{ + return m_strStationName; +} + +int CommonData::GetTransferSyntax() +{ + return m_nTransferSyntax; +} + +void CommonData::SetModality(QString strModality) +{ + m_strModality = strModality; +} + +void CommonData::SetInstitutionName(QString strInstitutionName) +{ + m_strInstitutionName = strInstitutionName; +} + +void CommonData::SetStationName(QString strStationName) +{ + m_strStationName = strStationName; +} + +void CommonData::SetTransferSyntax(int nTransferSyntax) +{ + m_nTransferSyntax = nTransferSyntax; +} + + +bool CommonData::GetEnableLog() +{ + return m_bEnableLog; +} + +QString CommonData::GetLocalImageFolder() +{ + return m_strLocalImageFolder; +} + +QString CommonData::GetLogFolder() +{ + return m_strLogFolder; +} + +QString CommonData::GetLocalHistoryFolder() +{ + return m_strLocalHistoryFolder; +} + +void CommonData::SetEnableLog(int bEnable) +{ + m_bEnableLog = bEnable; +} + +void CommonData::SetLocalImageFolder(QString strLocalImageFolder) +{ + m_strLocalImageFolder = strLocalImageFolder; +} + +void CommonData::SetLogFolder(QString strLogFolder) +{ + m_strLogFolder = strLogFolder; +} + +void CommonData::SetLocalHistoryFolder(QString strLocalHistoryFolder) +{ + m_strLocalHistoryFolder = strLocalHistoryFolder; +} + +void CommonData::Beep(bool bSound) +{ + if(m_nGPIO_Buzzer<=0) + { + return; + } + + if(bSound==true) + { + m_bIsCapturing = true; + if(write(m_nGPIO_Buzzer, "1", 1) != 1) + { + + } + } + else + { + m_bIsCapturing = false; + if(write(m_nGPIO_Buzzer, "0", 1) != 1) + { + + } + } +} + +int CommonData::GetHandSwitchValue() +{ + char cRead = 0; + int nReadCount = 0; + + if(m_nGPIO_HandSwitch>0) + { + nReadCount = read(m_nGPIO_HandSwitch, &cRead, sizeof(char)); + } + + + if(nReadCount==0) + { + close(m_nGPIO_HandSwitch); + //m_nGPIO_HandSwitch = open("/sys/class/gpio/gpio271/value", O_RDONLY); + m_nGPIO_HandSwitch = open(m_strGPIOHandSwitch.toUtf8(), O_RDONLY); + } + + if(m_nGPIO_HandSwitch==-1) + { + qDebug() << "271 Open Failed"; + } + else + { + //qDebug() << "271 Open success"; + + nReadCount = read(m_nGPIO_HandSwitch, &cRead, sizeof(char)); + + if(nReadCount>0) + { + //qDebug() << cRead; + if(cRead=='1') + { + return 1; + } + return 0; + } + + //close(m_nGPIO_HandSwitch); + } + + + + //m_nGPIO_HandSwitch = 0; + + return -1; +} + +bool CommonData::IsCapturing() +{ + return m_bIsCapturing; +} + +WorklistResponseData CommonData::GetCurrentHistoryWorklistData() +{ + WorklistResponseData rd; + + //rd.m_Patient = m_pCurrentHistoryStudy->pStrPatientName->toStdString().c_str(); + + rd.m_Patient.strPatientID = m_pCurrentHistoryStudy->pStrPatientID->toStdString().c_str(); + rd.m_Patient.strPatientName = m_pCurrentHistoryStudy->pStrPatientName->toStdString().c_str(); + rd.m_Patient.strPatientWeight = m_pCurrentHistoryStudy->pStrPatientWeight->toStdString().c_str(); + rd.m_Patient.strPatientSex = m_pCurrentHistoryStudy->pStrPatientSex->toStdString().c_str(); + rd.m_Patient.strPatientBirthDate = m_pCurrentHistoryStudy->pStrPatientBirthDate->toStdString().c_str(); + + rd.m_Study.strStudyInstanceUID = m_pCurrentHistoryStudy->pStrStudyInstanceUID->toStdString().c_str(); + rd.m_Study.strStudyDescription = m_pCurrentHistoryStudy->pStrStudyDescription->toStdString().c_str(); + rd.m_Study.strStudyDate = m_pCurrentHistoryStudy->pStrStudyDate->toStdString().c_str(); + rd.m_Study.strStudyTime = m_pCurrentHistoryStudy->pStrStudyTime->toStdString().c_str(); + rd.m_ScheduledData.strScheduledCodeValue = m_pCurrentHistoryStudy->pStrStudyCodeValue->toStdString().c_str(); + + rd.m_Study.strReferringPhysiciansName = m_pCurrentHistoryStudy->pStrReferringPhysiciansName->toStdString().c_str(); + rd.m_Study.strAccessionNumber = m_pCurrentHistoryStudy->pStrAccessionNumber->toStdString().c_str(); + + rd.m_Series.strSeriesInstanceUID = m_pCurrentHistoryStudy->pStrSeriesInstanceUID->toStdString().c_str(); + rd.m_Series.strSeriesDescription = m_pCurrentHistoryStudy->pStrSeriesDescription->toStdString().c_str(); + rd.m_Series.strModality = m_pCurrentHistoryStudy->pStrModality->toStdString().c_str(); + rd.m_Series.strSeriesDate = m_pCurrentHistoryStudy->pStrSeriesDate->toStdString().c_str(); + rd.m_Series.strSeriesTime = m_pCurrentHistoryStudy->pStrSeriesTime->toStdString().c_str(); + + //rd.m_Series.strBodyPartExamined; + rd.m_Series.strOperatorsName = m_pCurrentHistoryStudy->pStrOperatorsName->toStdString().c_str(); + + return rd; +} + +WorklistResponseData CommonData::GetCurrentWorklistData() +{ + WorklistResponseData rd; + + m_LockAcquisitionInfo.lock(); + + rd.m_Patient = *m_AcquisitionInfo.GetPatientInfo(); + rd.m_Study = *m_AcquisitionInfo.GetStudyInfo(); + rd.m_Series = *m_AcquisitionInfo.GetSeriesInfo(); + rd.m_Image = *m_AcquisitionInfo.GetImageInfo(); + rd.m_ScheduledData = *m_AcquisitionInfo.GetScheduledDataInfo(); + + return rd; +} + +void CommonData::ReleaseCurrentWorklistData() +{ + m_LockAcquisitionInfo.unlock(); +} + + + +qint64 CommonData::ComputeStorageSize() +{ + m_nStorageFreeSize = 0; + m_nStorageSize = 0; + foreach (const QStorageInfo &storage, QStorageInfo::mountedVolumes()) { + + QString strRootPath = storage.rootPath(); + + qDebug() << strRootPath; + + if(strRootPath=="/data") + { + if (storage.isReadOnly()) + qDebug() << "isReadOnly:" << storage.isReadOnly(); + + + + qDebug() << "name:" << storage.name(); + qDebug() << "fileSystemType:" << storage.fileSystemType(); + qDebug() << "size:" << storage.bytesTotal()/1000/1000 << "MB"; + qDebug() << "availableSize:" << storage.bytesAvailable()/1000/1000 << "MB"; + + m_nStorageFreeSize = storage.bytesAvailable(); + m_nStorageSize = storage.bytesTotal(); + } + + + + } + + return m_nStorageSize; + + QString strDirectory = "/data"; + QFileInfo pathInfo(strDirectory); + if(pathInfo.isDir()==false) + { + return 0; + } + + QDirIterator it(strDirectory, QDirIterator::Subdirectories); + qint64 total = 0; + + while(it.hasNext()==true) + { + it.next(); + QFileInfo fi = it.fileInfo(); + if(fi.isFile()==true && fi.isSymLink()==false && fi.isAbsolute()==true) + { + total += fi.size(); + } + + } + + qDebug() << "/data size: " << total; + + m_nStorageSize = total; + + return total; +} + +int CommonData::GetStorageSize() +{ + return (int)(m_nStorageSize/(1000*1000)); +} + +int CommonData::GetStorageFreeSize() +{ + return (int)(m_nStorageFreeSize/(1000*1000)); +} + + +vector* CommonData::GetExportList() +{ + return &m_ListExport; +} + +QString* CommonData::GetExternalDiskPath() +{ + return &m_strExternalDiskPath; +} + + +QString* CommonData::GetImageExtension() +{ + return &m_strImageExtension; +} + + +void CommonData::SetSearchItemHistory(SEARCH_ITEM si) +{ + m_SearchItemHistory = si; +} + +void CommonData::SetHistorySearchStudyIndex(int nStudyIndex) +{ + m_nSearchItemHistoryStudyIndex = nStudyIndex; +} + +SEARCH_ITEM* CommonData::GetSearchItemHistory() +{ + return &m_SearchItemHistory; +} + +int CommonData::GetHistorySearchStudyIndex() +{ + return m_nSearchItemHistoryStudyIndex; +} + +void CommonData::ClearHistorySearchItem() +{ + m_SearchItemHistory.Clear(); +} + +void CommonData::ClearHistorySearchStudyIndex() +{ + m_nSearchItemHistoryStudyIndex = -1; +} + +bool CommonData::IsAutoCloseSendFinish() +{ + return m_bAutoCloseSendFinish; +} + +bool CommonData::IsAutoLogin() +{ + return m_bAutoLogin; +} + +void CommonData::SetAutoLogin(bool bEnable) +{ + m_bAutoLogin = bEnable; +} + + +QString CommonData::GetBeepGPIONumber() +{ + return m_strGPIOBeep; +} + +QString CommonData::GetHandswitchGPIONumber() +{ + return m_strGPIOHandSwitch; +} + +bool CommonData::IsActiveDetect() +{ + return m_bActiveDetect; +} + +void CommonData::SetActiveDetect(bool bActive) +{ + m_bActiveDetect = bActive; +} + + +void CommonData::SetUseNetworkBackupVideo(bool bUse) +{ + m_NetworkShareInfo.m_bEnable = bUse; +} + +bool CommonData::IsUseNetworkBackupVideo() +{ + return m_NetworkShareInfo.m_bEnable; +} + + +NetworkShareInfo* CommonData::GetNetworkShareInfo() +{ + return &m_NetworkShareInfo; +} + +bool CommonData::IsAutoExitCaptureSendDICOM() +{ + return m_bAutoExitCaptureSendDICOM; +} + +bool CommonData::IsAutoCaptureSendDICOM() +{ + return m_bAutoCaptureSendDICOM; +} + +bool CommonData::IsAutoVideoCapture() +{ + return m_bAutoVideoCapture; +} + +void CommonData::SetAutoExitCaptureSendDICOM(bool bEnable) +{ + m_bAutoExitCaptureSendDICOM = bEnable; +} + +void CommonData::SetAutoCaptureSendDICOM(bool bEnable) +{ + m_bAutoCaptureSendDICOM = bEnable; +} + +void CommonData::SetAutoVideoCapture(bool bEnable) +{ + m_bAutoVideoCapture = bEnable; +} + + +SambaClient* CommonData::GetSambaClient() +{ + return m_pSambaClient; +} + + +void CommonData::CreateSambaClient() +{ + m_pSambaClient = new SambaClient; +} + +QString CommonData::GetDICOMCharacterSet() +{ + return m_strDICOMCharacterSet; +} + +void CommonData::SetDICOMCharacterSet(QString strCharacterSet) +{ + m_strDICOMCharacterSet = strCharacterSet; +} + +void CommonData::SetAutoCloseSendComplete(bool bEnable) +{ + m_bAutoCloseSendFinish = bEnable; +} + +void CommonData::WriteLog(QString strLog) +{ + if(m_nUseLogLevel>0) + { + m_LockLog.lock(); + m_ListLog.push_back(strLog); + m_LockLog.unlock(); + } +} + +void CommonData::WriteLogFile(QString strLog) +{ + m_LockLog.lock(); + if(m_pLogFile!=NULL) + { + if(m_pLogFile->exists()==true) + { + m_pLogFile->write(strLog.toStdString().c_str()); + fsync(m_pLogFile->handle()); + } + } + + m_LockLog.unlock(); + + +} + +QStringList* CommonData::GetListLog() +{ + m_LockLog.lock(); + + return &m_ListLog; +} + +void CommonData::ReleaseListLog() +{ + m_LockLog.unlock(); +} + +void CommonData::SetVideoMode(int nMode) +{ + nMode = 0; + m_nVideoMode = nMode; + + if(m_nVideoMode==0) + { +#ifdef _4K + m_nVideoWidth = 3840; + m_nVideoHeight = 2160; +#else + m_nVideoWidth = 1920; + m_nVideoHeight = 1080; +#endif + } + else if(m_nVideoMode==1) + { + m_nVideoWidth = 1280; + m_nVideoHeight = 720; + } +} + +int CommonData::GetVideoMode() +{ + return m_nVideoMode; +} + +void CommonData::SetCropMode(int bCropMode) +{ + m_nCropMode = bCropMode; +} + +int CommonData::GetCropMode() +{ + return m_nCropMode; +} + +void CommonData::SetUseFixWidthLevel(int bFixWidthLevel) +{ + m_nUseFixWidthLevel = bFixWidthLevel; +} + +int CommonData::GetUseFixWidthLevel() +{ + return m_nUseFixWidthLevel; +} + +void CommonData::SetLogLevel(int nLevel) +{ + m_nUseLogLevel = nLevel; +} + +int CommonData::GetLogLevel() +{ + return m_nUseLogLevel; +} + +void CommonData::SetUseUSBBackup(int nUseUSBBackup) +{ + m_nUseUSBBackup = nUseUSBBackup; +} + +int CommonData::IsUseUSBBackup() +{ + return m_nUseUSBBackup; +} + + +int CommonData::GetVideoWidth() +{ + return m_nVideoWidth; +} + +int CommonData::GetVideoHeight() +{ + return m_nVideoHeight; +} + + +void CommonData::MakeBitmapHeader(int nWidth, int nHeight) +{ + memset(m_pBitmapData, 0, m_nVideoWidth*m_nVideoHeight*3+1000); + + int nSizeBitmapHeader = sizeof(BITMAPFILEHADER); + int nSizeBitmapInfoHeader = sizeof(BITMAPINFOHEADER); + memset(&m_bf, 0, sizeof(&m_bf)); + m_bf.bfType = 0x4d42; + m_bf.bfOffBits = nSizeBitmapHeader + nSizeBitmapInfoHeader; + m_bf.bfSize = m_bf.bfOffBits + nWidth*nHeight*3; + m_bf.bfReserved1 = 0; + m_bf.bfReserved2 = 0; + + memcpy(&m_pBitmapData[0], &m_bf, nSizeBitmapHeader); + + memset(&m_bi, 0, sizeof(&m_bi)); + m_bi.biSize = sizeof(BITMAPINFOHEADER); + m_bi.biWidth = nWidth; + m_bi.biHeight = -1* nHeight; + m_bi.biPlanes = 1; + m_bi.biBitCount = 24; + m_bi.biCompression = 0;//BI_RGB; + m_bi.biSizeImage = nWidth*nHeight*3; + m_bi.biXPelsPerMeter = 2835; + m_bi.biYPelsPerMeter = 2835; + m_bi.biClrUsed = 0; + m_bi.biClrImportant = 0; + + memcpy(&m_pBitmapData[nSizeBitmapHeader], &m_bi, nSizeBitmapInfoHeader); +} + + +bool CommonData::WriteBitmapFile(QString strFile, QImage* pImage) +{ + int nWidth = pImage->width(); + int nHeight = pImage->height(); + MakeBitmapHeader(nWidth, nHeight); + + //QImage tmpImage = pImage->rgbSwapped(); + //memcpy(&m_pBitmapData[m_bf.bfOffBits], tmpImage.bits(), nWidth*nHeight*3); + memcpy(&m_pBitmapData[m_bf.bfOffBits], pImage->bits(), nWidth*nHeight*3); + + QFile t2(strFile); + if(t2.exists()==true) + { + t2.remove(); + } + t2.open(QFile::ReadWrite); + + t2.write((const char*)m_pBitmapData, m_bf.bfSize); + + t2.flush(); + fsync(t2.handle()); + t2.close(); + + bool bCreate = false; + + QFile fileBitmap(strFile); + if(fileBitmap.exists()==true) + { + int nFileSize = fileBitmap.size(); + if(nFileSize>850 && nFileSize<7230854) + { + bCreate = true; + } + fileBitmap.close(); + } + + if(bCreate==false) + { + + } + + + + return bCreate; + + +} + +bool CommonData::WriteJPEG(QString strFile, uint8_t* pData, int nWidth, int nHeight, int nQualilty) +{ +#ifdef _PC + QImage imageWrite(pData, nWidth, nHeight, QImage::Format_RGB888); + imageWrite.save(strFile, "jpg", nQualilty); +#else + QImage imageWrite(pData, nWidth, nHeight, QImage::Format_BGR888); + imageWrite.save(strFile, "jpg", nQualilty); +#endif + + return true; + /* + FILE* outfile = fopen(strFile.toStdString().c_str(), "wb"); + if(outfile == NULL) return false; + + jpeg_compress_struct cinfo; + jpeg_error_mgr jerr; + + cinfo.err = jpeg_std_error(&jerr); + jpeg_create_compress(&cinfo); + jpeg_stdio_dest(&cinfo, outfile); + + cinfo.image_width = nWidth; + cinfo.image_height = nHeight; + cinfo.input_components = 3; + cinfo.in_color_space = JCS_EXT_BGR; + + jpeg_set_defaults(&cinfo); + //set the quality [0..100] + jpeg_set_quality(&cinfo, nQualilty, true); + jpeg_start_compress(&cinfo, true); + + JSAMPROW row_pointer; + + while (cinfo.next_scanline < cinfo.image_height) + { + row_pointer = (JSAMPROW) pData[cinfo.next_scanline*nWidth]; + jpeg_write_scanlines(&cinfo, &row_pointer, 1); + } + jpeg_finish_compress(&cinfo); + + fclose(outfile); + */ +} + +bool CommonData::WriteBitmapFile(QString strFile, uint8_t* pData, int nWidth, int nHeight) +{ + MakeBitmapHeader(nWidth, nHeight); + memcpy(&m_pBitmapData[m_bf.bfOffBits], pData, nWidth*nHeight*3); + + QFile t2(strFile); + if(t2.exists()==true) + { + t2.remove(); + } + t2.open(QFile::ReadWrite); + + t2.write((const char*)m_pBitmapData, m_bf.bfSize); + + t2.flush(); + fsync(t2.handle()); + t2.close(); + + bool bCreate = false; + + QFile fileBitmap(strFile); + if(fileBitmap.exists()==true) + { + int nFileSize = fileBitmap.size(); + if(nFileSize>850 && nFileSize<7230854) + { + bCreate = true; + } + fileBitmap.close(); + } + return bCreate; +} + + +void CommonData::SetScreenSaverTime(int nMinutes) +{ + m_nScreenSaverTime = nMinutes; +} + +int CommonData::GetScreenSaverTime() +{ + return m_nScreenSaverTime; +} + +void CommonData::SetConnectHDMI(bool bConnect) +{ + m_bConnectHDMI = bConnect; +} + +bool CommonData::IsConnectHDMI() +{ + return m_bConnectHDMI; +} + +void CommonData::GetSearchDateStartEnd(int nSearchDurationType, QDate& nDateStart, QDate& nDateEnd) +{ + QDate nDateCurrent = QDate::currentDate(); + + switch(nSearchDurationType) + { + case SEARCH_TODAY: //Today + nDateStart = nDateCurrent; + nDateEnd = nDateCurrent; + break; + case SEARCH_3DAY: + nDateEnd = nDateCurrent; + nDateStart = nDateEnd.addDays(-2); + break; + case SEARCH_WEEK: + nDateEnd = nDateCurrent; + nDateStart = nDateEnd.addDays(-6); + break; + case SEARCH_2WEEK: + nDateEnd = nDateCurrent; + nDateStart = nDateEnd.addDays(-13); + break; + case SEARCH_3WEEK: + nDateEnd = nDateCurrent; + nDateStart = nDateEnd.addDays(-20); + break; + case SEARCH_1MONTH: + nDateEnd = nDateCurrent; + nDateStart = nDateCurrent.addMonths(-1); + nDateStart = nDateStart.addDays(1); + break; + case SEARCH_2MONTH: + nDateEnd = nDateCurrent; + nDateStart = nDateCurrent.addMonths(-2); + nDateStart = nDateStart.addDays(1); + break; + case SEARCH_USER_DEFINED: + break; + default: + break; + } +} + + +void CommonData::RestartNetworkManager() +{ + WRITE_FUNCTION_LOG(); + + QProcess process1; + QProcess process2; + + process1.setStandardOutputProcess(&process2); + + process1.start("echo 1"); +#ifdef _PC + process2.start("sudo systemctl restart NetworkManager"); +#else + process2.start("sudo -S systemctl restart NetworkManager"); +#endif + process2.setProcessChannelMode(QProcess::ForwardedChannels); + + // Wait for it to start + if(!process1.waitForStarted()) + return; + + bool retval = false; + QByteArray buffer; + // To be fair: you only need to wait here for a bit with shutdown, + // but I will still leave the rest here for a generic solution + while ((retval = process2.waitForFinished())) + { + buffer.append(process2.readAll()); + } + + + process1.terminate(); + process2.terminate(); + + process1.waitForFinished(100); + process2.waitForFinished(100); + + process1.deleteLater(); + process2.deleteLater(); + + buffer.clear(); +} + + +void CommonData::SetUseWebDisplay(bool bUse) +{ + m_bUseWebDisplay = bUse; +} + +bool CommonData::IsUseWebDisplay() +{ + return m_bUseWebDisplay; +} + +/* +void CommonData::ReOpenDatabase() +{ + m_pDatabase->CloseDatabase(); + m_pDatabase->OpenDatabase("/home/birdhead/test.db", false); +} +*/ diff --git a/commondata.cpp.old b/commondata.cpp.old new file mode 100644 index 0000000..33f3db7 --- /dev/null +++ b/commondata.cpp.old @@ -0,0 +1,2079 @@ +#include "commondata.h" + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + + +CommonData::CommonData() +{ + m_pLogFile = NULL; + if(m_pLogFile==NULL) + { + QDir dirLog("/home/birdhead/Log"); + if(dirLog.exists()==false) + { + QDir().mkdir("/home/birdhead/Log"); + } + + QString strLogFile = QString("/home/birdhead/Log/%1.log").arg(QDateTime::currentDateTime().toString("yyyyMMdd_HHmmss")); + + m_pLogFile = new QFile(strLogFile); + m_pLogFile->open(QFile::ReadWrite | QFile::Unbuffered); + } + + /* +#ifdef _SAVE_LOG + QDir().mkdir("Log"); + QString strLogFile = QString("Log/%1.log").arg(QDateTime::currentDateTime().toString("yyyyMMdd_HHmmss")); + + m_pLogFile = new QFile(strLogFile); + m_pLogFile->open(QFile::ReadWrite | QFile::Unbuffered); +#endif +*/ + + m_bConnectHDMI = false; + +#ifdef _4K + m_nVideoWidth = 3840; + m_nVideoHeight = 2160; +#else + m_nVideoWidth = 1920; + m_nVideoHeight = 1080; +#endif + + + m_pBitmapData = new uint8_t[m_nVideoWidth*m_nVideoHeight*3+1000]; + + m_nGPIO_Buzzer = 0; + m_nVideoMode = 0; + m_nCropMode = 0; + m_nUseFixWidthLevel = 0; + m_nUseLogLevel = 0; + + + m_nScreenSaverTime = 0; + + + m_pSambaClient = NULL; + m_bAutoExitCaptureSendDICOM = false; + m_bAutoCaptureSendDICOM = false; + m_bAutoVideoCapture = false; + m_bAutoLogin = false; + + m_bActiveDetect = false; + + m_bAutoCloseSendFinish = false; + + m_nGPIO_HandSwitch = 0; + + + m_nSearchItemHistoryStudyIndex = -1; + + m_bIsCapturing = false; + + //m_strImageExtension = "jpg"; + m_strImageExtension = "bmp"; + + + m_pDatabase = new SDatabase(); + + m_pDCMWorklist = new SDCMWorklist; + + m_pListHistorySearch = new vector; + + m_pListHistoryImage = new vector; + + + m_pWorklistData = new vector; + m_pDCMDumpList = new vector; + m_pFindSCUDataCallback = new SDCMFindSCUDataCallback(m_pDCMWorklist->GetExtractMode(), m_pDCMWorklist->GetCancelAfterNResponses()); + + m_pFindSCUDataCallback->SetWorklistData(m_pWorklistData); + m_pFindSCUDataCallback->SetWorklistDump(m_pDCMDumpList); + + m_pCurrentWorklist = NULL; + + m_pRTSPThread = NULL; + + m_pListCaptureImage = new vector; + + m_pImageCapture = new RGB_Data[m_nVideoWidth*m_nVideoHeight]; + + memset(m_pImageCapture, 0, sizeof(RGB_Data)*m_nVideoWidth*m_nVideoHeight); + + m_strStorageDirectory = "/home/birdhead/test_save"; + + m_pCurrentHistoryStudy = NULL; + + m_bVideoEncoding = false; + + m_pWorklistTableHeader = new STableHeader; + m_pHistoryTableHeader = new STableHeader; + + + + QDate dt = QDate::currentDate(); + SetDateSearchWorklistStart(dt); + SetDateSearchWorklistEnd(dt); + SetDateSearchHistoryStart(dt); + SetDateSearchHistoryEnd(dt); + + InitWorklistIndex(); + InitHistoryIndex(); + InitSetting(); + //m_pWorklistTableHeader->UpdateTableHeaderInfo(m_MapWorklistIndex); + +#ifdef _XAVIER_NX + //m_nGPIO_Buzzer = open("/sys/class/gpio/gpio393/value", O_WRONLY); + m_strGPIOBeep = "/sys/class/gpio/gpio393/value"; + m_strGPIOHandSwitch = "/sys/class/gpio/gpio271/value"; +#endif +#ifdef _JETSON_TX2_NX + m_strGPIOBeep = "/sys/class/gpio/gpio269/value"; + m_strGPIOHandSwitch = "/sys/class/gpio/gpio341/value"; +#endif + + if(m_strGPIOBeep.size()>0) + { + m_nGPIO_Buzzer = open(m_strGPIOBeep.toUtf8(), O_WRONLY); + + if(m_nGPIO_Buzzer==-1) + { + + } + } + + + + + + ComputeStorageSize(); + +} + + + +CommonData::~CommonData() +{ + SAFE_ARRAY_DELETE(m_pBitmapData); + + SAFE_ARRAY_DELETE(m_pImageCapture); + + SAFE_DELETE(m_pDatabase); + + SAFE_DELETE(m_pWorklistTableHeader); + SAFE_DELETE(m_pHistoryTableHeader); + + ClearHistorySearchResult(); + SAFE_DELETE(m_pListHistorySearch); + + ClearHistoryImage(); + SAFE_DELETE(m_pListHistoryImage); + + ClearCaptureImage(); + SAFE_DELETE(m_pListCaptureImage); + + SAFE_DELETE(m_pFindSCUDataCallback); + SAFE_DELETE(m_pDCMWorklist); + + SAFE_DELETE(m_pWorklistData); + SAFE_DELETE(m_pDCMDumpList); + + if(m_nGPIO_Buzzer>0) + { + close(m_nGPIO_Buzzer); + } + + + if(m_pLogFile!=NULL) + { + m_pLogFile->flush(); + m_pLogFile->close(); + + SAFE_DELETE(m_pLogFile); + } + + STableHeader::ClearMapData(); + +} + +QDate CommonData::GetDateSearchWorklistStart() +{ + return m_SearchDateWorklist.m_DateStart; +} + +QDate CommonData::GetDateSearchWorklistEnd() +{ + return m_SearchDateWorklist.m_DateEnd; +} + +void CommonData::SetDateSearchWorklistStart(QDate date) +{ + m_SearchDateWorklist.m_DateStart = date; +} + +void CommonData::SetDateSearchWorklistEnd(QDate date) +{ + m_SearchDateWorklist.m_DateEnd = date; +} + +QString CommonData::GetStorageDirectory() +{ + return m_strStorageDirectory; +} + +QDate CommonData::GetDateSearchHistoryStart() +{ + return m_SearchDateHistory.m_DateStart; +} + +QDate CommonData::GetDateSearchHistoryEnd() +{ + return m_SearchDateHistory.m_DateEnd; +} + +void CommonData::SetDateSearchHistoryStart(QDate date) +{ + m_SearchDateHistory.m_DateStart = date; +} + +void CommonData::SetDateSearchHistoryEnd(QDate date) +{ + m_SearchDateHistory.m_DateEnd = date; +} + +SEARCH_ITEM* CommonData::GetSearchItemWorklist() +{ + return &m_SearchItemWorklist; +} + +SDCMFindSCUDataCallback* CommonData::GetFindSCUDataCallback() +{ + return m_pFindSCUDataCallback; +} + +vector* CommonData::GetWorklistData() +{ + m_LockWorklistData.lock(); + return m_pWorklistData; +} + +void CommonData::ReleaseWorklistData() +{ + m_LockWorklistData.unlock(); +} + +vector* CommonData::GetWorklistDump() +{ + return m_pDCMDumpList; +} + +void CommonData::SetRTSPThread(QRTSPThread* pThread) +{ + m_pRTSPThread = pThread; +} + +QRTSPThread* CommonData::GetThreadRTSP() +{ + return m_pRTSPThread; +} + +void CommonData::SetThreadCaptureImage(SThreadImageSave* pThread) +{ + m_pThreadCaptureImage = pThread; +} + +void CommonData::SetThreadSendDICOM(SThreadSendDICOM* pThread) +{ + m_pThreadSendDICOM = pThread; +} + +SThreadImageSave* CommonData::GetThreadCaptureImage() +{ + return m_pThreadCaptureImage; +} + +SThreadSendDICOM* CommonData::GetThreadSendDICOM() +{ + return m_pThreadSendDICOM; +} + +void CommonData::AddCaptureImageWithHistory() +{ + int i=0; + ClearCaptureImage(); + + int nImages = m_pListHistoryImage->size(); + + QImage* pImageTmp = NULL; + + m_LockAddHistory.lock(); + + for(i=0 ; im_strDate; + QString strTime = pImageHistory->m_strTime; + int nWidth = pImageHistory->GetWidth(); + int nHeight = pImageHistory->GetHeight(); + QImage::Format fmt = (QImage::Format)pImageHistory->GetFormat(); + int nType = pImageHistory->m_nType; + QString strFilename = pImageHistory->m_strFile; + bool bDelete = pImageHistory->m_bDelete; + + QString strTimeFormat = "yyyyMMdd HHmmss"; + QString strDateTime = QString("%1 %2").arg(strDate).arg(strTime); + QDateTime dtCapture = QDateTime::fromString(strDateTime, strTimeFormat); + + CAPTURE_IMAGE* pImageNew = new CAPTURE_IMAGE; + pImageNew->m_pImageSmall = new QImage(nWidth/4, nHeight/4, fmt); + + if(pImageTmp==NULL) + { + pImageTmp = new QImage(nWidth, nHeight, fmt); + } + else + { + if(pImageTmp->width()!=nWidth || pImageTmp->height()!=nHeight || pImageTmp->format()!=fmt) + { + SAFE_DELETE(pImageTmp); + pImageTmp = new QImage(nWidth, nHeight, fmt); + } + } + + { + uint8_t* pImageData = pImageTmp->bits(); + + memcpy(pImageData, pImageHistory->m_pImageData, nWidth*nHeight*3); + + // + QImage imgSmall = pImageTmp->scaled(nWidth/4, nHeight/4); + *pImageNew->m_pImageSmall = imgSmall.copy(); + SAFE_ARRAY_DELETE(pImageNew->m_pImageCaptureRaw); + SAFE_ARRAY_DELETE(pImageNew->m_pImageCaptureColor); + + imgSmall.detach(); + + } + + + + bool bTest = true; + + if(bTest==true) + { + + //CAPTURE_IMAGE* pImageNew = AddCaptureImage(pImageOri->bits(), nWidth, nHeight, pImageHistory->m_nType); + + + + + + pImageNew->m_DateTime = dtCapture;//QDateTime::currentDateTime(); + pImageNew->m_nType = (DISPLAY_TYPE)nType; + + + pImageNew->m_strImageFilename = strFilename; + if(pImageNew->m_nType==DISPLAY_VIDEO) + { + pImageNew->m_strVideoFilename = strFilename; + pImageNew->m_strVideoFilename.replace(".bmp", ".mkv"); + pImageNew->m_strVideoFilename.replace(".jpg", ".mkv"); + pImageNew->m_strVideoFilename.replace(".png", ".mkv"); + } + pImageNew->m_bCheck = true; + pImageNew->m_nType = (DISPLAY_TYPE)nType; + pImageNew->m_bDelete = bDelete; + pImageNew->m_bSaveFile = true; + pImageNew->m_nIndex = i; + + m_LockAddCapture.lock(); + m_pListCaptureImage->push_back(pImageNew); + m_LockAddCapture.unlock(); + + + } + } + SAFE_DELETE(pImageTmp); + m_LockAddHistory.unlock(); + + ClearHistoryImage(); +} + +vector* CommonData::GetListCaptureImage() +{ + m_LockAddCapture.lock(); + return m_pListCaptureImage; +} + +void CommonData::ReleaseListCaptureImage() +{ + m_LockAddCapture.unlock(); +} + +void CommonData::ClearCaptureImage() +{ + m_LockAddCapture.lock(); + { + int i=0; + for(i=0 ; isize() ; i++) + { + CAPTURE_IMAGE* pCaptureImage = (*m_pListCaptureImage)[i]; + if(pCaptureImage!=NULL) + { + if(pCaptureImage->m_pImage!=NULL) + { + //pCaptureImage->m_pImage->detach(); + } + if(pCaptureImage->m_pImageSmall!=NULL) + { + //pCaptureImage->m_pImageSmall->detach(); + } + SAFE_DELETE(pCaptureImage->m_pImage); + SAFE_DELETE(pCaptureImage->m_pImageSmall); + SAFE_ARRAY_DELETE(pCaptureImage->m_pImageCaptureRaw); + SAFE_ARRAY_DELETE(pCaptureImage->m_pImageCaptureColor); + SAFE_ARRAY_DELETE(pCaptureImage->m_pImageData); + + SAFE_DELETE(pCaptureImage); + } + + } + m_pListCaptureImage->clear(); + + //SAFE_DELETE(m_pListCaptureImage); + //m_pListCaptureImage = new vector; + } + m_LockAddCapture.unlock(); +} + +CAPTURE_IMAGE* CommonData::AddCaptureImage(uint8_t* pData, int nWidth, int nHeight, int nCaptureType) +{ + CAPTURE_IMAGE* pCaptureImage = NULL; + m_LockAddCapture.lock(); + { + pCaptureImage = new CAPTURE_IMAGE; + pCaptureImage->m_DateTime = QDateTime::currentDateTime(); + pCaptureImage->m_nType = (DISPLAY_TYPE)nCaptureType; + if(nWidth>0 && nHeight>0 && pData!=NULL) + { + pCaptureImage->m_pImageCaptureRaw = NULL; + pCaptureImage->m_pImageCaptureRaw = new uint8_t[nWidth*nHeight*2]; + memset(pCaptureImage->m_pImageCaptureRaw, 0, sizeof(uint8_t)*nWidth*nHeight*2); + memcpy(pCaptureImage->m_pImageCaptureRaw, pData, sizeof(uint8_t)*nWidth*nHeight*2); + } + else + { + pCaptureImage->m_pImageCaptureRaw = NULL; + } + + + + { + m_pListCaptureImage->push_back(pCaptureImage); + } + } + m_LockAddCapture.unlock(); + + + return pCaptureImage; +} + +uint8_t* CommonData::ConvertColor(uint8_t* pData, int nWidth, int nHeight) +{ + int i=0; + int j=0; + + for(i=0 ; iGetPatientInfo(); + QString strPatientID = pPatientInfo->strPatientID; + + ReleaseAcquisitionInfo(); + + //QString strStorageDirectory = pMainWindow->GetStorageDirectory(); + QString strStorageDirectory = "/data"; + QString strDirectoryImage; + QString strImageExtention; + if(nType==DISPLAY_IMAGE) + { + strDirectoryImage = QString("%1/image").arg(strStorageDirectory); + strImageExtention = m_strImageExtension; + } + else if(nType==DISPLAY_VIDEO) + { + strDirectoryImage = QString("%1/video").arg(strStorageDirectory); + strImageExtention = "mkv"; + } + + QString strDirectoryDate = QString("%1/%2%3%4").arg(strDirectoryImage).arg(QString::number(nYear).rightJustified(4, '0')).arg(QString::number(nMonth).rightJustified(2, '0')) + .arg(QString::number(nDay).rightJustified(2, '0')); + + if(strPatientID.size()<1) + { + strPatientID = "unknown"; + } + + QString strDirectoryPatient = QString("%1/%2").arg(strDirectoryDate).arg(strPatientID); + + + uint captureTime = dt.toMSecsSinceEpoch(); + + QDir().mkdir(strDirectoryImage); + QDir().mkdir(strDirectoryDate); + QDir().mkdir(strDirectoryPatient); + + vector::iterator it; + + strFile = QString("%1/%2.%3").arg(strDirectoryPatient).arg(QString::number(captureTime)).arg(strImageExtention); + + m_LockAddCapture.lock(); + + int nCheckCount = -1; + for(it=m_pListCaptureImage->begin() ; it!=m_pListCaptureImage->end() ; ++it) + { + CAPTURE_IMAGE* pCheckImage = *it; + if(pCheckImage->m_strImageFilename==strFile) + { + nCheckCount++; + + strFile = QString("%1/%2_%4.%3").arg(strDirectoryPatient).arg(QString::number(captureTime)).arg(strImageExtention).arg(QString::number(nCheckCount)); + + } + } + + m_LockAddCapture.unlock(); + + + return strFile; +} + +void CommonData::ConvertCaptureImage(CAPTURE_IMAGE* pCaptureImage, int nWidth, int nHeight) +{ + //ConvertCaptureImageRGBA(pCaptureImage, nWidth, nHeight); + //return; + int i=0; + int j=0; + + if(pCaptureImage->m_pImageCaptureRaw==NULL) + { + pCaptureImage->m_pImageCaptureRaw = new uint8_t[m_nVideoWidth*m_nVideoHeight*2]; + } + + uint8_t* pData = pCaptureImage->m_pImageCaptureRaw; + + bool bSaveOri = false; + if(bSaveOri==true) + { + QFile file("save_ori.data"); + file.open(QFile::ReadWrite); + file.write((char*)pData, nWidth*2*nHeight); + file.close(); + } + + memset(m_pImageCapture, 0, sizeof(RGB_Data)*m_nVideoWidth*m_nVideoHeight); + + for(i=0 ; im_pImageCaptureRaw); + + + + QString strFile = GetNewFilename(DISPLAY_IMAGE); + + SAFE_ARRAY_DELETE(pCaptureImage->m_pImageCaptureColor); + + //pCaptureImage->m_pImage = new QImage((uchar*)m_pImageCapture, nWidth, nHeight, QImage::Format_RGB888); + pCaptureImage->m_pImage = new QImage(nWidth, nHeight, QImage::Format_RGB888); + { + uint8_t* pImageDest = pCaptureImage->m_pImage->bits(); + memcpy(pImageDest, m_pImageCapture, nWidth*nHeight*3); + } + + + + pCaptureImage->m_bCheck = true; + + + pCaptureImage->m_strImageFilename = strFile; + + if(pCaptureImage->m_nType==DISPLAY_VIDEO) + { + QString strVideo = pCaptureImage->m_strVideoFilename; + QString strImageExtention = m_strImageExtension; + + if(strVideo.size()==0) + { + strVideo = GetNewFilename(DISPLAY_VIDEO); + pCaptureImage->m_strVideoFilename = strVideo; + } + + strFile = strVideo.replace("mkv", strImageExtention); + + pCaptureImage->m_strImageFilename = strFile; + + } + + pCaptureImage->m_bSaveFile = false; + + m_pThreadCaptureImage->AddCaptureSaveToFile(pCaptureImage); + + QImage image = pCaptureImage->m_pImage->scaled(nWidth/4, nHeight/4, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); + + pCaptureImage->m_pImageSmall = new QImage(nWidth/4, nHeight/4, image.format()); + //*pCaptureImage->m_pImageSmall = image.rgbSwapped(); + *pCaptureImage->m_pImageSmall = image.copy(); + + ACQUISITION_INFO* pAcquisitionInfo = GetAcquisitionInfo(); + if(pAcquisitionInfo->GetPatientInfo()->strPatientID.length() > 0 && + pAcquisitionInfo->GetPatientInfo()->strPatientName.length() >0) + { + pAcquisitionInfo->m_strImageFilename = pCaptureImage->m_strImageFilename; + pAcquisitionInfo->m_strVideoFilename = pCaptureImage->m_strVideoFilename; + + if(pCaptureImage->m_nType==DISPLAY_IMAGE) + { + m_pDatabase->InsertImage(pAcquisitionInfo); + } + else if(pCaptureImage->m_nType==DISPLAY_VIDEO) + { + m_pDatabase->InsertVideo(pAcquisitionInfo); + } + } + ReleaseAcquisitionInfo(); + + + usleep(100); + +} + + + +void CommonData::ConvertCaptureImageRGBA(CAPTURE_IMAGE* pCaptureImage, int nWidth, int nHeight) +{ + //uint8_t* pData = pCaptureImage->m_pImageCaptureRaw; + + //int nYear = pCaptureImage->m_DateTime.date().year(); + //int nMonth = pCaptureImage->m_DateTime.date().month(); + //int nDay = pCaptureImage->m_DateTime.date().day(); + //int nHour = pCaptureImage->m_DateTime.time().hour(); + //int nMinute = pCaptureImage->m_DateTime.time().minute(); + //int nSec = pCaptureImage->m_DateTime.time().second(); + + //QString strStorageDirectory = GetStorageDirectory(); + //QString strDirectoryImage = QString("%1").arg(strStorageDirectory); + //QString strPatientID = "123"; + QString strImageExtention = m_strImageExtension; + + pCaptureImage->m_pImage = new QImage((uchar*)pCaptureImage->m_pImageCaptureRaw, nWidth, nHeight, QImage::Format_RGB32); + + *pCaptureImage->m_pImage = pCaptureImage->m_pImage->convertToFormat(QImage::Format_RGB888); + + *pCaptureImage->m_pImage = pCaptureImage->m_pImage->rgbSwapped(); + + + //QString strFile = QString("%1/%2%3%4.%5").arg(strDirectoryImage).arg(QString::number(nHour).rightJustified(2, '0')).arg(QString::number(nMinute).rightJustified(2, '0')).arg(QString::number(nSec).rightJustified(2, '0')).arg(strImageExtention); + QString strFile = GetNewFilename(DISPLAY_IMAGE); + { + /* + vector::iterator it; + + int nCheckCount = -1; + for(it=m_pListCaptureImage->begin() ; it!=m_pListCaptureImage->end() ; ++it) + { + CAPTURE_IMAGE* pCheckImage = *it; + if(pCheckImage->m_strImageFilename==strFile) + { + nCheckCount++; + + strFile = QString("%1/%2%3%4_%5.%6").arg(strDirectoryImage).arg(QString::number(nHour).rightJustified(2, '0')).arg(QString::number(nMinute).rightJustified(2, '0')).arg(QString::number(nSec).rightJustified(2, '0')).arg(QString::number(nCheckCount)).arg(strImageExtention); + + } + } + */ + } + + + pCaptureImage->m_strImageFilename = strFile; + + if(pCaptureImage->m_nType==DISPLAY_VIDEO) + { + QString strVideo = strFile; + strVideo = strVideo.replace(strImageExtention, "mkv"); + //QString strVideo = QString("%1/%2%3%4.mkv").arg(strDirectoryImage).arg(QString::number(nHour).rightJustified(2, '0')).arg(QString::number(nMinute).rightJustified(2, '0')).arg(QString::number(nSec).rightJustified(2, '0')); + pCaptureImage->m_strVideoFilename = strVideo; + } + + pCaptureImage->m_bSaveFile = false; + + m_pThreadCaptureImage->AddCaptureSaveToFile(pCaptureImage); + + QImage image = pCaptureImage->m_pImage->scaled(nWidth/4, nHeight/4, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); + + pCaptureImage->m_pImageSmall = new QImage(nWidth/4, nHeight/4, image.format()); + *pCaptureImage->m_pImageSmall = image; + + SAFE_ARRAY_DELETE(pCaptureImage->m_pImageCaptureRaw); + + if(m_AcquisitionInfo.GetPatientInfo()->strPatientID.length() > 0 && + m_AcquisitionInfo.GetPatientInfo()->strPatientName.length() >0) + { + m_AcquisitionInfo.m_strImageFilename = pCaptureImage->m_strImageFilename; + m_AcquisitionInfo.m_strVideoFilename = pCaptureImage->m_strVideoFilename; + + if(pCaptureImage->m_nType==DISPLAY_IMAGE) + { + m_pDatabase->InsertImage(&m_AcquisitionInfo); + } + else if(pCaptureImage->m_nType==DISPLAY_VIDEO) + { + m_pDatabase->InsertVideo(&m_AcquisitionInfo); + } + + } + + usleep(10*1000); + +} + +SDatabase* CommonData::GetDatabase() +{ + return m_pDatabase; +} + +ACQUISITION_INFO* CommonData::GetAcquisitionInfo() +{ + m_LockAcquisitionInfo.lock(); + return &m_AcquisitionInfo; +} + +void CommonData::ReleaseAcquisitionInfo() +{ + m_LockAcquisitionInfo.unlock(); +} + +vector* CommonData::GetListHistoryImage() +{ + m_LockAddHistory.lock(); + return m_pListHistoryImage; +} + +void CommonData::ReleaseListHistoryImage() +{ + m_LockAddHistory.unlock(); +} + +void CommonData::ClearHistoryImage() +{ + m_LockAddHistory.lock(); + + int i=0; + for(i=0 ; isize() ; i++) + { + ImageSelect* pHistoryImage = (*m_pListHistoryImage)[i]; + if(pHistoryImage!=NULL) + { + SAFE_ARRAY_DELETE(pHistoryImage->m_pImageData); + } + SAFE_DELETE(pHistoryImage); + } + m_pListHistoryImage->clear(); + + SAFE_DELETE(m_pListHistoryImage); + m_pListHistoryImage = new vector; + + m_LockAddHistory.unlock(); +} + +vector* CommonData::GetHistorySearchResult() +{ + return m_pListHistorySearch; +} + +void CommonData::ClearHistorySearchResult() +{ + m_LockCurrentHistoryStudy.lock(); + + int i=0; + for(i=0 ; isize() ; i++) + { + HISTORY_STUDY* pHistoryStudy = (*m_pListHistorySearch)[i]; + SAFE_DELETE(pHistoryStudy); + } + + m_pListHistorySearch->clear(); + m_pCurrentHistoryStudy = NULL; + + m_LockCurrentHistoryStudy.unlock(); +} + + + +HISTORY_STUDY* CommonData::GetCurrentHistoryStudy() +{ + m_LockCurrentHistoryStudy.lock(); + return m_pCurrentHistoryStudy; +} + +void CommonData::ReleaseCurrentHistoryStudy() +{ + m_LockCurrentHistoryStudy.unlock(); +} + +void CommonData::SetCurrentHistoryStudy(int nIndex) +{ + m_LockCurrentHistoryStudy.lock(); + if(nIndex < m_pListHistorySearch->size()) + { + m_pCurrentHistoryStudy = (*m_pListHistorySearch)[nIndex]; + } + else + { + m_pCurrentHistoryStudy = NULL; + } + m_LockCurrentHistoryStudy.unlock(); +} + +bool CommonData::IsEncodingVideo() +{ + return m_bVideoEncoding; +} + +void CommonData::SetEncodingVideo(bool bEncoding) +{ + m_bVideoEncoding = bEncoding; +} + + +STableHeader* CommonData::GetWorklistTableHeader() +{ + return m_pWorklistTableHeader; +} + +STableHeader* CommonData::GetHistoryTableHeader() +{ + return m_pHistoryTableHeader; +} + + +void CommonData::Exit() +{ + if(m_pRTSPThread!=NULL) + { + m_pRTSPThread->ChangeState(1000); + while(m_pRTSPThread->isRunning()==true) + { + usleep(10*1000); + } + m_pRTSPThread->stop(); + } + + if(m_pThreadCaptureImage!=NULL) + { + m_pThreadCaptureImage->ChangeState(1000); + while(m_pThreadCaptureImage->isRunning()==true) + { + usleep(10*1000); + } + } + + + + + +} + +int CommonData::GetDisplayType() +{ + return m_nDisplayType; +} + +void CommonData::SetDisplayType(int nType) +{ + m_nDisplayType = nType; +} + +SDCMWorklist* CommonData::GetWorklistClass() +{ + return m_pDCMWorklist; +} + +#define pp pair + +bool cmp(const pp& a, const pp& b) +{ + //if(a.second==b.second) return a.first < b.first; + //return a.second < b.second; + return a.first > b.first; +} + +void CommonData::InitWorklistIndex() +{ + QList* pResult = m_pDatabase->QueryWorklistTableHeader(); + m_pWorklistTableHeader->SetDataWorklist(pResult); +} + +void CommonData::UpdateWorklistIndex() +{ + int i=0; + vector* pListActivate = m_pWorklistTableHeader->GetListActive(); + vector* pListInactivate = m_pWorklistTableHeader->GetListInactive(); + + QString strUpdate; + int nIndex = 0; + for(i=0 ; isize() ; i++) + { + TableHeader* pTableHeader = (*pListActivate)[i]; + pTableHeader->m_nIndex = nIndex; + strUpdate = QString("update WorklistTableHeader SET `DisplayIndex`='%1' , `Visible`='%2' where `DefaultIndex`='%3';").arg(QString::number(nIndex)).arg(QString::number(1)).arg(QString::number(pTableHeader->m_nIndexDefault)); + m_pDatabase->Execute(strUpdate); + nIndex++; + } + + for(i=0 ; isize() ; i++) + { + TableHeader* pTableHeader = (*pListInactivate)[i]; + pTableHeader->m_nIndex = nIndex; + strUpdate = QString("update WorklistTableHeader SET DisplayIndex='%1' , Visible='%2' where DefaultIndex='%3';").arg(QString::number(nIndex)).arg(QString::number(0)).arg(QString::number(pTableHeader->m_nIndexDefault)); + m_pDatabase->Execute(strUpdate); + nIndex++; + } +} + +void CommonData::InitHistoryIndex() +{ + QList* pResult = m_pDatabase->QueryHistoryTableHeader(); + m_pHistoryTableHeader->SetDataHistory(pResult); +} + +void CommonData::UpdateHistoryIndex() +{ + int i=0; + vector* pListActivate = m_pHistoryTableHeader->GetListActive(); + vector* pListInactivate = m_pHistoryTableHeader->GetListInactive(); + + QString strUpdate; + int nIndex = 0; + for(i=0 ; isize() ; i++) + { + TableHeader* pTableHeader = (*pListActivate)[i]; + pTableHeader->m_nIndex = nIndex; + strUpdate = QString("update HistoryTableHeader SET `DisplayIndex`='%1' , `Visible`='%2' where `DefaultIndex`='%3';").arg(QString::number(nIndex)).arg(QString::number(1)).arg(QString::number(pTableHeader->m_nIndexDefault)); + m_pDatabase->Execute(strUpdate); + nIndex++; + } + + for(i=0 ; isize() ; i++) + { + TableHeader* pTableHeader = (*pListInactivate)[i]; + pTableHeader->m_nIndex = nIndex; + strUpdate = QString("update HistoryTableHeader SET DisplayIndex='%1' , Visible='%2' where DefaultIndex='%3';").arg(QString::number(nIndex)).arg(QString::number(0)).arg(QString::number(pTableHeader->m_nIndexDefault)); + m_pDatabase->Execute(strUpdate); + nIndex++; + } +} + + +SDCM_SERVER_INFO* CommonData::GetServerWorklistInfo() +{ + return &m_ServerWorklistInfo; +} + +SDCM_SERVER_INFO* CommonData::GetServerStorageInfo() +{ + return &m_ServerStorageInfo; +} + + +void CommonData::UpdateSetting() +{ + QString strEnableLog = "Disabled"; + + QString strQuery = QString("update ConnectionInfo SET WorklistServerIP='%1', WorklistPort='%2', WorklistServerTitle='%3', WorklistClientTitle='%4', StorageServerIP='%5', StoragePort='%6', StorageServerTitle='%7', StorageClientTitle='%8', Modality='%9', HospitalName='%10', StationName='%11', EnableLog='%12', LocalImageFolder='%13', LocalLogFolder='%14', LocalHistoryFolder='%15' where ID=1") + .arg(m_ServerWorklistInfo.m_strServer_IP) + .arg(m_ServerWorklistInfo.m_nServer_Port) + .arg(m_ServerWorklistInfo.m_strServer_AETitle) + .arg(m_ServerWorklistInfo.m_strClient_AETitle). + arg(m_ServerStorageInfo.m_strServer_IP). + arg(m_ServerStorageInfo.m_nServer_Port). + arg(m_ServerStorageInfo.m_strServer_AETitle). + arg(m_ServerStorageInfo.m_strClient_AETitle). + arg(m_strModality). + arg(m_strInstitutionName). + arg(m_strStationName). + arg(strEnableLog). + arg(m_strLocalImageFolder). + arg(m_strLogFolder). + arg(m_strLocalHistoryFolder); + + qDebug() << strQuery; + + m_pDatabase->Execute(strQuery); +} + +void CommonData::UpdateAdvancedSetting() +{ + QString strEnableNetworkShare = "Disabled"; + if(m_NetworkShareInfo.m_bEnable==true) + { + strEnableNetworkShare = "Enabled"; + } + + QString strNetworkAutoSend = "Disabled"; + if(m_NetworkShareInfo.m_bAutoSend==true) + { + strNetworkAutoSend = "Enabled"; + } + + + int nAutoExitCaptureSendDICOM = 0; + int nAutoCaptureSendDICOM = 0; + int nAutoVideoCapture = 0; + int nAutoCloseSendFinish = 0; + int nAutoLogin = 0; + int nDICOMCompress = 0; + int nVideoMode = 0; + int nCropMode = 0; + int nUseFixWidthLevel = 0; + int nUseLogLevel = 0; + int nScreenSaverTime = 0; + + if(m_bAutoExitCaptureSendDICOM==true) + { + nAutoExitCaptureSendDICOM = 1; + } + if(m_bAutoCaptureSendDICOM==true) + { + nAutoCaptureSendDICOM = 1; + } + if(m_bAutoVideoCapture==true) + { + nAutoVideoCapture = 1; + } + if(m_bAutoCloseSendFinish==true) + { + nAutoCloseSendFinish = 1; + } + if(m_bAutoLogin==true) + { + nAutoLogin = 1; + } + if(m_nTransferSyntax==1) + { + nDICOMCompress = 1; + } + if(m_nVideoMode==1) + { + nVideoMode = 1; + } + if(m_nCropMode==1) + { + nCropMode = 1; + } + if(m_nUseFixWidthLevel==1) + { + nUseFixWidthLevel = 1; + } + if(m_nUseLogLevel>0) + { + nUseLogLevel = m_nUseLogLevel; + } + if(m_nScreenSaverTime>0) + { + nScreenSaverTime = m_nScreenSaverTime; + } + + + QString strQuery = QString("update AdvancedSetting SET EnableNetworkShare='%1', NetworkShareIP='%2', NetworkShareFolder='%3', NetworkShareID='%4', NetworkSharePassword='%5', " + "NetworkSMBVersion='%6', NetworkAutoSend='%7', AutoExitCaptureSendDICOM='%8', AutoCaptureSendDICOM='%9', AutoVideoCapture='%10', " + "DICOMCharacterSet='%11', AutoCloseSendFinish='%12', AutoLogin='%13', DICOMCompress='%14', VideoMode='%15', CropMode='%16', " + "UseFixWidthLevel='%17', UseLogLevel='%18', ScreenSaverTime='%19' where ID=1") + .arg(strEnableNetworkShare) + .arg(m_NetworkShareInfo.m_strIP) + .arg(m_NetworkShareInfo.m_strShareFolder) + .arg(m_NetworkShareInfo.m_strID) + .arg(m_NetworkShareInfo.m_strPassword) + .arg(m_NetworkShareInfo.m_strVersion) + .arg(strNetworkAutoSend) + .arg(nAutoExitCaptureSendDICOM) + .arg(nAutoCaptureSendDICOM) + .arg(nAutoVideoCapture) + .arg(m_strDICOMCharacterSet) + .arg(nAutoCloseSendFinish) + .arg(nAutoLogin) + .arg(nDICOMCompress) + .arg(nVideoMode) + .arg(nCropMode) + .arg(nUseFixWidthLevel) + .arg(nUseLogLevel) + .arg(nScreenSaverTime); + + qDebug() << strQuery; + + m_pDatabase->Execute(strQuery); + + if(m_nUseLogLevel==0) + { + if(m_pLogFile!=NULL) + { + m_pLogFile->flush(); + m_pLogFile->close(); + + SAFE_DELETE(m_pLogFile); + } + } +} + + + +void CommonData::InitSetting() +{ + QString strQuery = QString("select WorklistServerIP, WorklistPort, WorklistServerTitle, WorklistClientTitle, StorageServerIP, StoragePort, StorageServerTitle, StorageClientTitle, Modality, HospitalName, StationName, EnableLog, LocalImageFolder, LocalLogFolder, LocalHistoryFolder from ConnectionInfo;"); + + m_pDatabase->ExecuteQuery(strQuery); + + QList* pResult = m_pDatabase->GetResult(); + + QStringList* pListData = (*pResult)[0]; + int nIndex = 0; + + QString strWorklistServerIP = (*pListData)[nIndex]; nIndex++; + QString strWorklistPort = (*pListData)[nIndex]; nIndex++; + QString strWorklistServerTitle = (*pListData)[nIndex]; nIndex++; + QString strWorklistClientTitle = (*pListData)[nIndex]; nIndex++; + + QString strStorageServerIP = (*pListData)[nIndex]; nIndex++; + QString strStoragePort = (*pListData)[nIndex]; nIndex++; + QString strStorageServerTitle = (*pListData)[nIndex]; nIndex++; + QString strStorageClientTitle = (*pListData)[nIndex]; nIndex++; + + QString strModality = (*pListData)[nIndex]; nIndex++; + QString strHospitalName = (*pListData)[nIndex]; nIndex++; + QString strStationName = (*pListData)[nIndex]; nIndex++; + + QString strEnableLog = (*pListData)[nIndex]; nIndex++; + QString strLocalImageFolder = (*pListData)[nIndex]; nIndex++; + QString strLocalLogFolder = (*pListData)[nIndex]; nIndex++; + QString strLocalHistoryFolder = (*pListData)[nIndex]; nIndex++; + + strQuery = QString("select EnableNetworkShare, NetworkShareIP, NetworkShareFolder, NetworkShareID, " + "NetworkSharePassword, NetworkSMBVersion, NetworkAutoSend, AutoExitCaptureSendDICOM, " + "AutoCaptureSendDICOM, AutoVideoCapture, DICOMCharacterSet, AutoCloseSendFinish, AutoLogin, " + "DICOMCompress, VideoMode, CropMode, UseFixWidthLevel, UseLogLevel, ScreenSaverTime from AdvancedSetting where ID=1;"); + m_pDatabase->ExecuteQuery(strQuery); + + pResult = m_pDatabase->GetResult(); + + pListData = (*pResult)[0]; + + nIndex = 0; + QString strEnableNetworkShare = (*pListData)[nIndex]; nIndex++; + QString strNetworkShareIP = (*pListData)[nIndex]; nIndex++; + QString strNetworkShareFolder = (*pListData)[nIndex]; nIndex++; + QString strNetworkShareID = (*pListData)[nIndex]; nIndex++; + QString strNetworkSharePassword = (*pListData)[nIndex]; nIndex++; + QString strSMBVersion = (*pListData)[nIndex]; nIndex++; + QString strNetworkAutoSend = (*pListData)[nIndex]; nIndex++; + QString strAutoExitCaptureSendDICOM = (*pListData)[nIndex]; nIndex++; + QString strAutoCaptureSendDICOM = (*pListData)[nIndex]; nIndex++; + QString strAutoVideoCapture = (*pListData)[nIndex]; nIndex++; + QString strDICOMCharacterSet = (*pListData)[nIndex]; nIndex++; + QString strAutoCloseSendFinish = (*pListData)[nIndex]; nIndex++; + QString strAutoLogin = (*pListData)[nIndex]; nIndex++; + QString strDICOMCompress = (*pListData)[nIndex]; nIndex++; + QString strVideoMode = (*pListData)[nIndex]; nIndex++; + QString strCropMode = (*pListData)[nIndex]; nIndex++; + QString strUseFixWidthLevel = (*pListData)[nIndex]; nIndex++; + QString strUseLogLevel = (*pListData)[nIndex]; nIndex++; + QString strScreenSaverTime = (*pListData)[nIndex]; nIndex++; + + m_ServerWorklistInfo.m_strServer_IP = strWorklistServerIP; + m_ServerWorklistInfo.m_nServer_Port = strWorklistPort.toInt(); + m_ServerWorklistInfo.m_strServer_AETitle = strWorklistServerTitle; + m_ServerWorklistInfo.m_strClient_AETitle = strWorklistClientTitle; + + m_ServerStorageInfo.m_strServer_IP = strStorageServerIP; + m_ServerStorageInfo.m_nServer_Port = strStoragePort.toInt(); + m_ServerStorageInfo.m_strServer_AETitle = strStorageServerTitle; + m_ServerStorageInfo.m_strClient_AETitle = strStorageClientTitle; + + m_strModality = strModality; + m_strInstitutionName = strHospitalName; + m_strStationName = strStationName; + m_nTransferSyntax = 0; + + m_NetworkShareInfo.m_bEnable = true; + if(strEnableNetworkShare=="Disabled") + { + m_NetworkShareInfo.m_bEnable = false; + } + + m_NetworkShareInfo.m_strIP = strNetworkShareIP; + m_NetworkShareInfo.m_strShareFolder = strNetworkShareFolder; + m_NetworkShareInfo.m_strID = strNetworkShareID; + m_NetworkShareInfo.m_strPassword = strNetworkSharePassword; + m_NetworkShareInfo.m_strVersion = strSMBVersion; + + m_NetworkShareInfo.m_bAutoSend = true; + if(strNetworkAutoSend=="Disabled") + { + m_NetworkShareInfo.m_bAutoSend = false; + } + + m_bAutoExitCaptureSendDICOM = false; + if(strAutoExitCaptureSendDICOM=="1") + { + m_bAutoExitCaptureSendDICOM = true; + } + + m_bAutoCaptureSendDICOM = false; + if(strAutoCaptureSendDICOM=="1") + { + m_bAutoCaptureSendDICOM = true; + } + + m_bAutoVideoCapture = false; + if(strAutoVideoCapture=="1") + { + m_bAutoVideoCapture = true; + } + + m_bAutoCloseSendFinish = false; + if(strAutoCloseSendFinish=="1") + { + m_bAutoCloseSendFinish = true; + } + + m_bAutoLogin = false; + if(strAutoLogin=="1") + { + m_bAutoLogin = true; + } + + m_strDICOMCharacterSet = strDICOMCharacterSet; + + m_nTransferSyntax = strDICOMCompress.toInt(); + + m_nVideoMode = strVideoMode.toInt(); + SetVideoMode(m_nVideoMode); + + m_nCropMode = strCropMode.toInt(); + SetCropMode(m_nCropMode); + + m_nUseFixWidthLevel = strUseFixWidthLevel.toInt(); + SetUseFixWidthLevel(m_nUseFixWidthLevel); + + m_nUseLogLevel = strUseLogLevel.toInt(); + SetLogLevel(m_nUseLogLevel); + + m_nScreenSaverTime = strScreenSaverTime.toInt(); + SetScreenSaverTime(m_nScreenSaverTime); + + if(m_nUseLogLevel>0) + { + if(m_pLogFile==NULL) + { + QDir().mkdir("Log"); + QString strLogFile = QString("Log/%1.log").arg(QDateTime::currentDateTime().toString("yyyyMMdd_HHmmss")); + + m_pLogFile = new QFile(strLogFile); + m_pLogFile->open(QFile::ReadWrite | QFile::Unbuffered); + } + } + + + //test code + //m_bAutoExitCaptureSendDICOM = true; + //m_bAutoVideoCapture = true; + + + m_pDCMWorklist->SetWorklistInfo(strWorklistServerIP, strWorklistPort, strWorklistServerTitle, strWorklistClientTitle); + + +} + +QString CommonData::GetModality() +{ + return m_strModality; +} + +QString CommonData::GetInstitutionName() +{ + return m_strInstitutionName; +} + +QString CommonData::GetStationName() +{ + return m_strStationName; +} + +int CommonData::GetTransferSyntax() +{ + return m_nTransferSyntax; +} + +void CommonData::SetModality(QString strModality) +{ + m_strModality = strModality; +} + +void CommonData::SetInstitutionName(QString strInstitutionName) +{ + m_strInstitutionName = strInstitutionName; +} + +void CommonData::SetStationName(QString strStationName) +{ + m_strStationName = strStationName; +} + +void CommonData::SetTransferSyntax(int nTransferSyntax) +{ + m_nTransferSyntax = nTransferSyntax; +} + + +bool CommonData::GetEnableLog() +{ + return m_bEnableLog; +} + +QString CommonData::GetLocalImageFolder() +{ + return m_strLocalImageFolder; +} + +QString CommonData::GetLogFolder() +{ + return m_strLogFolder; +} + +QString CommonData::GetLocalHistoryFolder() +{ + return m_strLocalHistoryFolder; +} + +void CommonData::SetEnableLog(int bEnable) +{ + m_bEnableLog = bEnable; +} + +void CommonData::SetLocalImageFolder(QString strLocalImageFolder) +{ + m_strLocalImageFolder = strLocalImageFolder; +} + +void CommonData::SetLogFolder(QString strLogFolder) +{ + m_strLogFolder = strLogFolder; +} + +void CommonData::SetLocalHistoryFolder(QString strLocalHistoryFolder) +{ + m_strLocalHistoryFolder = strLocalHistoryFolder; +} + +void CommonData::Beep(bool bSound) +{ + if(m_nGPIO_Buzzer<=0) + { + return; + } + + if(bSound==true) + { + m_bIsCapturing = true; + if(write(m_nGPIO_Buzzer, "1", 1) != 1) + { + + } + } + else + { + m_bIsCapturing = false; + if(write(m_nGPIO_Buzzer, "0", 1) != 1) + { + + } + } +} + +int CommonData::GetHandSwitchValue() +{ + char cRead = 0; + int nReadCount = 0; + + if(m_nGPIO_HandSwitch>0) + { + nReadCount = read(m_nGPIO_HandSwitch, &cRead, sizeof(char)); + } + + + if(nReadCount==0) + { + close(m_nGPIO_HandSwitch); + //m_nGPIO_HandSwitch = open("/sys/class/gpio/gpio271/value", O_RDONLY); + m_nGPIO_HandSwitch = open(m_strGPIOHandSwitch.toUtf8(), O_RDONLY); + } + + if(m_nGPIO_HandSwitch==-1) + { + qDebug() << "271 Open Failed"; + } + else + { + //qDebug() << "271 Open success"; + + nReadCount = read(m_nGPIO_HandSwitch, &cRead, sizeof(char)); + + if(nReadCount>0) + { + //qDebug() << cRead; + if(cRead=='1') + { + return 1; + } + return 0; + } + + //close(m_nGPIO_HandSwitch); + } + + + + //m_nGPIO_HandSwitch = 0; + + return -1; +} + +bool CommonData::IsCapturing() +{ + return m_bIsCapturing; +} + +WorklistResponseData CommonData::GetCurrentHistoryWorklistData() +{ + WorklistResponseData rd; + + //rd.m_Patient = m_pCurrentHistoryStudy->pStrPatientName->toStdString().c_str(); + + rd.m_Patient.strPatientID = m_pCurrentHistoryStudy->pStrPatientID->toStdString().c_str(); + rd.m_Patient.strPatientName = m_pCurrentHistoryStudy->pStrPatientName->toStdString().c_str(); + rd.m_Patient.strPatientWeight = m_pCurrentHistoryStudy->pStrPatientWeight->toStdString().c_str(); + rd.m_Patient.strPatientSex = m_pCurrentHistoryStudy->pStrPatientSex->toStdString().c_str(); + rd.m_Patient.strPatientBirthDate = m_pCurrentHistoryStudy->pStrPatientBirthDate->toStdString().c_str(); + + rd.m_Study.strStudyInstanceUID = m_pCurrentHistoryStudy->pStrStudyInstanceUID->toStdString().c_str(); + rd.m_Study.strStudyDescription = m_pCurrentHistoryStudy->pStrStudyDescription->toStdString().c_str(); + rd.m_Study.strStudyDate = m_pCurrentHistoryStudy->pStrStudyDate->toStdString().c_str(); + rd.m_Study.strStudyTime = m_pCurrentHistoryStudy->pStrStudyTime->toStdString().c_str(); + rd.m_ScheduledData.strScheduledCodeValue = m_pCurrentHistoryStudy->pStrStudyCodeValue->toStdString().c_str(); + + rd.m_Study.strReferringPhysiciansName = m_pCurrentHistoryStudy->pStrReferringPhysiciansName->toStdString().c_str(); + rd.m_Study.strAccessionNumber = m_pCurrentHistoryStudy->pStrAccessionNumber->toStdString().c_str(); + + rd.m_Series.strSeriesInstanceUID = m_pCurrentHistoryStudy->pStrSeriesInstanceUID->toStdString().c_str(); + rd.m_Series.strSeriesDescription = m_pCurrentHistoryStudy->pStrSeriesDescription->toStdString().c_str(); + rd.m_Series.strModality = m_pCurrentHistoryStudy->pStrModality->toStdString().c_str(); + rd.m_Series.strSeriesDate = m_pCurrentHistoryStudy->pStrSeriesDate->toStdString().c_str(); + rd.m_Series.strSeriesTime = m_pCurrentHistoryStudy->pStrSeriesTime->toStdString().c_str(); + + //rd.m_Series.strBodyPartExamined; + rd.m_Series.strOperatorsName = m_pCurrentHistoryStudy->pStrOperatorsName->toStdString().c_str(); + + return rd; +} + +WorklistResponseData CommonData::GetCurrentWorklistData() +{ + WorklistResponseData rd; + + m_LockAcquisitionInfo.lock(); + + rd.m_Patient = *m_AcquisitionInfo.GetPatientInfo(); + rd.m_Study = *m_AcquisitionInfo.GetStudyInfo(); + rd.m_Series = *m_AcquisitionInfo.GetSeriesInfo(); + rd.m_Image = *m_AcquisitionInfo.GetImageInfo(); + rd.m_ScheduledData = *m_AcquisitionInfo.GetScheduledDataInfo(); + + return rd; +} + +void CommonData::ReleaseCurrentWorklistData() +{ + m_LockAcquisitionInfo.unlock(); +} + + + +qint64 CommonData::ComputeStorageSize() +{ + foreach (const QStorageInfo &storage, QStorageInfo::mountedVolumes()) { + + QString strRootPath = storage.rootPath(); + + qDebug() << strRootPath; + + if(strRootPath=="/data") + { + if (storage.isReadOnly()) + qDebug() << "isReadOnly:" << storage.isReadOnly(); + + + + qDebug() << "name:" << storage.name(); + qDebug() << "fileSystemType:" << storage.fileSystemType(); + qDebug() << "size:" << storage.bytesTotal()/1000/1000 << "MB"; + qDebug() << "availableSize:" << storage.bytesAvailable()/1000/1000 << "MB"; + + m_nStorageFreeSize = storage.bytesAvailable(); + m_nStorageSize = storage.bytesTotal(); + } + + + + } + + return m_nStorageSize; + + QString strDirectory = "/data"; + QFileInfo pathInfo(strDirectory); + if(pathInfo.isDir()==false) + { + return 0; + } + + QDirIterator it(strDirectory, QDirIterator::Subdirectories); + qint64 total = 0; + + while(it.hasNext()==true) + { + it.next(); + QFileInfo fi = it.fileInfo(); + if(fi.isFile()==true && fi.isSymLink()==false && fi.isAbsolute()==true) + { + total += fi.size(); + } + + } + + qDebug() << "/data size: " << total; + + m_nStorageSize = total; + + return total; +} + +int CommonData::GetStorageSize() +{ + return (int)(m_nStorageSize/(1000*1000)); +} + +int CommonData::GetStorageFreeSize() +{ + return (int)(m_nStorageFreeSize/(1000*1000)); +} + + +vector* CommonData::GetExportList() +{ + return &m_ListExport; +} + +QString* CommonData::GetExternalDiskPath() +{ + return &m_strExternalDiskPath; +} + + +QString* CommonData::GetImageExtension() +{ + return &m_strImageExtension; +} + + +void CommonData::SetSearchItemHistory(SEARCH_ITEM si) +{ + m_SearchItemHistory = si; +} + +void CommonData::SetHistorySearchStudyIndex(int nStudyIndex) +{ + m_nSearchItemHistoryStudyIndex = nStudyIndex; +} + +SEARCH_ITEM* CommonData::GetSearchItemHistory() +{ + return &m_SearchItemHistory; +} + +int CommonData::GetHistorySearchStudyIndex() +{ + return m_nSearchItemHistoryStudyIndex; +} + +void CommonData::ClearHistorySearchItem() +{ + m_SearchItemHistory.Clear(); +} + +void CommonData::ClearHistorySearchStudyIndex() +{ + m_nSearchItemHistoryStudyIndex = -1; +} + +bool CommonData::IsAutoCloseSendFinish() +{ + return m_bAutoCloseSendFinish; +} + +bool CommonData::IsAutoLogin() +{ + return m_bAutoLogin; +} + +void CommonData::SetAutoLogin(bool bEnable) +{ + m_bAutoLogin = bEnable; +} + + +QString CommonData::GetBeepGPIONumber() +{ + return m_strGPIOBeep; +} + +QString CommonData::GetHandswitchGPIONumber() +{ + return m_strGPIOHandSwitch; +} + +bool CommonData::IsActiveDetect() +{ + return m_bActiveDetect; +} + +void CommonData::SetActiveDetect(bool bActive) +{ + m_bActiveDetect = bActive; +} + + +void CommonData::SetUseNetworkBackupVideo(bool bUse) +{ + m_NetworkShareInfo.m_bEnable = bUse; +} + +bool CommonData::IsUseNetworkBackupVideo() +{ + return m_NetworkShareInfo.m_bEnable; +} + + +NetworkShareInfo* CommonData::GetNetworkShareInfo() +{ + return &m_NetworkShareInfo; +} + +bool CommonData::IsAutoExitCaptureSendDICOM() +{ + return m_bAutoExitCaptureSendDICOM; +} + +bool CommonData::IsAutoCaptureSendDICOM() +{ + return m_bAutoCaptureSendDICOM; +} + +bool CommonData::IsAutoVideoCapture() +{ + return m_bAutoVideoCapture; +} + +void CommonData::SetAutoExitCaptureSendDICOM(bool bEnable) +{ + m_bAutoExitCaptureSendDICOM = bEnable; +} + +void CommonData::SetAutoCaptureSendDICOM(bool bEnable) +{ + m_bAutoCaptureSendDICOM = bEnable; +} + +void CommonData::SetAutoVideoCapture(bool bEnable) +{ + m_bAutoVideoCapture = bEnable; +} + + +SambaClient* CommonData::GetSambaClient() +{ + return m_pSambaClient; +} + + +void CommonData::CreateSambaClient() +{ + m_pSambaClient = new SambaClient; +} + +QString CommonData::GetDICOMCharacterSet() +{ + return m_strDICOMCharacterSet; +} + +void CommonData::SetDICOMCharacterSet(QString strCharacterSet) +{ + m_strDICOMCharacterSet = strCharacterSet; +} + +void CommonData::SetAutoCloseSendComplete(bool bEnable) +{ + m_bAutoCloseSendFinish = bEnable; +} + +void CommonData::WriteLog(QString strLog) +{ + if(m_nUseLogLevel>0) + { + m_LockLog.lock(); + m_ListLog.push_back(strLog); + m_LockLog.unlock(); + } +} + +void CommonData::WriteLogFile(QString strLog) +{ + m_LockLog.lock(); + m_pLogFile->write(strLog.toStdString().c_str()); + m_LockLog.unlock(); + + fsync(m_pLogFile->handle()); +} + +QStringList* CommonData::GetListLog() +{ + m_LockLog.lock(); + + return &m_ListLog; +} + +void CommonData::ReleaseListLog() +{ + m_LockLog.unlock(); +} + +void CommonData::SetVideoMode(int nMode) +{ + nMode = 0; + m_nVideoMode = nMode; + + if(m_nVideoMode==0) + { +#ifdef _4K + m_nVideoWidth = 3840; + m_nVideoHeight = 2160; +#else + m_nVideoWidth = 1920; + m_nVideoHeight = 1080; +#endif + } + else if(m_nVideoMode==1) + { + m_nVideoWidth = 1280; + m_nVideoHeight = 720; + } +} + +int CommonData::GetVideoMode() +{ + return m_nVideoMode; +} + +void CommonData::SetCropMode(int bCropMode) +{ + m_nCropMode = bCropMode; +} + +int CommonData::GetCropMode() +{ + return m_nCropMode; +} + +void CommonData::SetUseFixWidthLevel(int bFixWidthLevel) +{ + m_nUseFixWidthLevel = bFixWidthLevel; +} + +int CommonData::GetUseFixWidthLevel() +{ + return m_nUseFixWidthLevel; +} + +void CommonData::SetLogLevel(int nLevel) +{ + m_nUseLogLevel = nLevel; +} + +int CommonData::GetLogLevel() +{ + return m_nUseLogLevel; +} + + +int CommonData::GetVideoWidth() +{ + return m_nVideoWidth; +} + +int CommonData::GetVideoHeight() +{ + return m_nVideoHeight; +} + + +void CommonData::MakeBitmapHeader(int nWidth, int nHeight) +{ + memset(m_pBitmapData, 0, m_nVideoWidth*m_nVideoHeight*3+1000); + + int nSizeBitmapHeader = sizeof(BITMAPFILEHADER); + int nSizeBitmapInfoHeader = sizeof(BITMAPINFOHEADER); + memset(&m_bf, 0, sizeof(&m_bf)); + m_bf.bfType = 0x4d42; + m_bf.bfOffBits = nSizeBitmapHeader + nSizeBitmapInfoHeader; + m_bf.bfSize = m_bf.bfOffBits + nWidth*nHeight*3; + m_bf.bfReserved1 = 0; + m_bf.bfReserved2 = 0; + + memcpy(&m_pBitmapData[0], &m_bf, nSizeBitmapHeader); + + memset(&m_bi, 0, sizeof(&m_bi)); + m_bi.biSize = sizeof(BITMAPINFOHEADER); + m_bi.biWidth = nWidth; + m_bi.biHeight = -1* nHeight; + m_bi.biPlanes = 1; + m_bi.biBitCount = 24; + m_bi.biCompression = 0; + m_bi.biSizeImage = nWidth*nHeight*3; + m_bi.biXPelsPerMeter = 2835; + m_bi.biYPelsPerMeter = 2835; + m_bi.biClrUsed = 0; + m_bi.biClrImportant = 0; + + memcpy(&m_pBitmapData[nSizeBitmapHeader], &m_bi, nSizeBitmapInfoHeader); +} + + +void CommonData::WriteBitmapFile(QString strFile, QImage* pImage) +{ + int nWidth = pImage->width(); + int nHeight = pImage->height(); + MakeBitmapHeader(nWidth, nHeight); + + QImage tmpImage = pImage->rgbSwapped(); + memcpy(&m_pBitmapData[m_bf.bfOffBits], tmpImage.bits(), nWidth*nHeight*3); + //MakeBitmapHeader(1920, 1080); + QFile t2(strFile); + if(t2.exists()==true) + { + t2.remove(); + } + t2.open(QFile::ReadWrite); + + t2.write((const char*)m_pBitmapData, m_bf.bfSize); + + t2.flush(); + + //t2.write((const char*)&m_bf, sizeof(BITMAPFILEHADER)); + //t2.write((const char*)&m_bi, sizeof(BITMAPINFOHEADER)); + //t2.write((const char*)tmpImage.bits(), 1920*1080*3); + + //t2.flush(); + fsync(t2.handle()); + t2.close(); + + +} + + +void CommonData::SetScreenSaverTime(int nMinutes) +{ + m_nScreenSaverTime = nMinutes; +} + +int CommonData::GetScreenSaverTime() +{ + return m_nScreenSaverTime; +} + +void CommonData::SetConnectHDMI(bool bConnect) +{ + m_bConnectHDMI = bConnect; +} + +bool CommonData::IsConnectHDMI() +{ + return m_bConnectHDMI; +} diff --git a/commondata.h b/commondata.h new file mode 100644 index 0000000..1d92e71 --- /dev/null +++ b/commondata.h @@ -0,0 +1,375 @@ +#ifndef COMMONDATA_H +#define COMMONDATA_H + +#include "common.h" +#include "sdcmworklist.h" +#include "sdcmfindscudatacallback.h" +#include "qrtspthread.h" +#include "sthreadimagesave.h" +#include "sthreadsenddicom.h" +#include "sthreadworklistsearch.h" +#include "stableheader.h" +#include "sdatabase.h" +using namespace SUTIL; + +#include "sambaclient.h" + +#include "acquisition_info.h" + +#include +#include + + +#define WRITE_FUNCTION_LOG() { QString strLog; strLog = QString("[%1] %2:%3,%4\n").arg(QTime::currentTime().toString("HH:mm:ss")).arg(__FILE__).arg(__LINE__).arg(__FUNCTION__); MainWindow::GetCommonData()->WriteLog(strLog);} +#define WRITE_FUNCTION_LOG_PARAM(X) { QString strLog; strLog = QString("[%1] %2:%3,%4(%5)\n").arg(QTime::currentTime().toString("HH:mm:ss")).arg(__FILE__).arg(__LINE__).arg(__FUNCTION__).arg(X); MainWindow::GetCommonData()->WriteLog(strLog);} + +class CommonData +{ +public: + CommonData(); + virtual ~CommonData(); + + QString GetNewFilename(int nType); + + static void RestartNetworkManager(); + + + + bool IsActiveDetect(); + void SetActiveDetect(bool bActive); + + void Exit(); + + void SetSearchItemHistory(SEARCH_ITEM si); + void SetHistorySearchStudyIndex(int nStudyIndex); + + SEARCH_ITEM* GetSearchItemHistory(); + int GetHistorySearchStudyIndex(); + + void ClearHistorySearchItem(); + void ClearHistorySearchStudyIndex(); + + //void ReOpenDatabase(); + //SDatabase* GetDatabase(); + //void ReleaseDatabase(); + + ACQUISITION_INFO* GetAcquisitionInfo(); + void ReleaseAcquisitionInfo(); + + QDate GetDateSearchWorklistStart(); + QDate GetDateSearchWorklistEnd(); + + void SetDateSearchWorklistStart(QDate date); + void SetDateSearchWorklistEnd(QDate date); + + QString GetStorageDirectory(); + + + QDate GetDateSearchHistoryStart(); + QDate GetDateSearchHistoryEnd(); + + void SetDateSearchHistoryStart(QDate date); + void SetDateSearchHistoryEnd(QDate date); + + SEARCH_ITEM* GetSearchItemWorklist(); + + SDCMFindSCUDataCallback* GetFindSCUDataCallback(); + vector* GetWorklistData(); + void ReleaseWorklistData(); + vector* GetWorklistDump(); + + void SetRTSPThread(QRTSPThread* pThread); + QRTSPThread* GetThreadRTSP(); + + void SetThreadCaptureImage(SThreadImageSave* pThread); + void SetThreadSendDICOM(SThreadSendDICOM* pThread); + void SetThreadWorklistSearch(SThreadWorklistSearch* pThread); + SThreadImageSave* GetThreadCaptureImage(); + SThreadSendDICOM* GetThreadSendDICOM(); + SThreadWorklistSearch* GetThreadWorklistSearch(); + + + vector* GetListHistoryImage(); + void ReleaseListHistoryImage(); + void ClearHistoryImage(); + + vector* GetListCaptureImage(); + void ReleaseListCaptureImage(); + void ClearCaptureImage(); + CAPTURE_IMAGE* AddCaptureImage(uint8_t* pData, int nWidth, int nHeight, int nCaptureType); + bool ConvertCaptureImage(CAPTURE_IMAGE* pCaptureImage, int nWidth, int nHeight); + void ConvertCaptureImageRGBA(CAPTURE_IMAGE* pCaptureImage, int nWidth, int nHeight); + + uint8_t* ConvertColor(uint8_t* pData, int nWidth, int nHeight); + + void ConvertColor2(uint8_t* pSrcData, uint8_t* pDestData, int nOffsetX, int nOffsetY, int nWidth, int nHeight); + + void AddCaptureImageWithHistory(); + void AddCaptureImageWithHistory_v1(); + + vector* GetHistorySearchResult(); + void ClearHistorySearchResult(); + HISTORY_STUDY* GetCurrentHistoryStudy(); + void ReleaseCurrentHistoryStudy(); + void SetCurrentHistoryStudy(int nIndex); + + void InitWorklistIndex(); + void UpdateWorklistIndex(); + + void InitHistoryIndex(); + void UpdateHistoryIndex(); + + + bool IsEncodingVideo(); + void SetEncodingVideo(bool bEncoding); + + STableHeader* GetWorklistTableHeader(); + STableHeader* GetHistoryTableHeader(); + + int GetDisplayType(); + void SetDisplayType(int nType); + + SDCMWorklist* GetWorklistClass(); + + SDCM_SERVER_INFO* GetServerWorklistInfo(); + void ReleaseServerWorklistInfo(); + + SDCM_SERVER_INFO* GetServerStorageInfo(); + void ReleaseServerStorageInfo(); + + + void UpdateSetting(); + void UpdateAdvancedSetting(); + void InitSetting(); + + QString GetModality(); + QString GetInstitutionName(); + QString GetStationName(); + int GetTransferSyntax(); + + void SetModality(QString strModality); + void SetInstitutionName(QString strInstitutionName); + void SetStationName(QString strStationName); + void SetTransferSyntax(int nTransferSyntax); + + bool GetEnableLog(); + QString GetLocalImageFolder(); + QString GetLogFolder(); + QString GetLocalHistoryFolder(); + + void SetEnableLog(int bEnable); + void SetLocalImageFolder(QString strLocalImageFolder); + void SetLogFolder(QString strLogFolder); + void SetLocalHistoryFolder(QString strLocalHistoryFolder); + + void Beep(bool bSound); + + WorklistResponseData GetCurrentHistoryWorklistData(); + + WorklistResponseData GetCurrentWorklistData(); + void ReleaseCurrentWorklistData(); + + qint64 ComputeStorageSize(); + + int GetStorageSize(); + int GetStorageFreeSize(); + + vector* GetExportList(); + + QString* GetExternalDiskPath(); + + QString* GetImageExtension(); + + bool IsCapturing(); + + int GetHandSwitchValue(); + + bool IsAutoCloseSendFinish(); + void SetAutoCloseSendComplete(bool bEnable); + + QString GetBeepGPIONumber(); + QString GetHandswitchGPIONumber(); + + void SetUseNetworkBackupVideo(bool bUse); + bool IsUseNetworkBackupVideo(); + + NetworkShareInfo* GetNetworkShareInfo(); + + bool IsAutoExitCaptureSendDICOM(); + bool IsAutoCaptureSendDICOM(); + bool IsAutoVideoCapture(); + bool IsAutoLogin(); + + void SetAutoExitCaptureSendDICOM(bool bEnable); + void SetAutoCaptureSendDICOM(bool bEnable); + void SetAutoVideoCapture(bool bEnable); + void SetAutoLogin(bool bEnable); + + SambaClient* GetSambaClient(); + + void CreateSambaClient(); + + QString GetDICOMCharacterSet(); + void SetDICOMCharacterSet(QString strCharacterSet); + + void WriteLog(QString strLog); + QStringList* GetListLog(); + void ReleaseListLog(); + + void WriteLogFile(QString strLog); + + void SetVideoMode(int nMode); + int GetVideoMode(); + + void SetCropMode(int bCropMode); + int GetCropMode(); + + void SetUseFixWidthLevel(int bFixWidthLevel); + int GetUseFixWidthLevel(); + + void SetScreenSaverTime(int nMinutes); + int GetScreenSaverTime(); + + void SetLogLevel(int nLevel); + int GetLogLevel(); + + void SetUseUSBBackup(int nUSBBackup); + int IsUseUSBBackup(); + + int GetVideoWidth(); + int GetVideoHeight(); + + void MakeBitmapHeader(int nWidth, int nHeight); + bool WriteBitmapFile(QString strFile, QImage* pImage); + bool WriteBitmapFile(QString strFile, uint8_t* pData, int nWidth, int nHeight); + + bool WriteJPEG(QString strFile, uint8_t* pData, int nWidth, int nHeight, int nQualilty); + + + void SetConnectHDMI(bool bConnect); + bool IsConnectHDMI(); + + void GetSearchDateStartEnd(int nSearchDurationType, QDate& nDateStart, QDate& nDateEnd); + + void SetUseWebDisplay(bool bUse); + bool IsUseWebDisplay(); + +protected: + + QStringList m_ListLog; + + bool m_bConnectHDMI; + + int m_nScreenSaverTime; + + uint8_t* m_pBitmapData; + + BITMAPFILEHADER m_bf; + BITMAPINFOHEADER m_bi; + + int m_nVideoWidth; + int m_nVideoHeight; + + QFile* m_pLogFile; + + QString m_strDICOMCharacterSet; + SambaClient* m_pSambaClient; + NetworkShareInfo m_NetworkShareInfo; + bool m_bActiveDetect; + QString m_strGPIOBeep; + QString m_strGPIOHandSwitch; + bool m_bIsCapturing; + QString m_strImageExtension; + QString m_strExternalDiskPath; + int m_nGPIO_Buzzer; + int m_nGPIO_HandSwitch; + + bool m_bAutoExitCaptureSendDICOM; + bool m_bAutoCaptureSendDICOM; + bool m_bAutoVideoCapture; + bool m_bAutoLogin; + + int m_nVideoMode; + + int m_nCropMode; + + int m_nUseFixWidthLevel; + + int m_nUseLogLevel; + + bool m_bAutoCloseSendFinish; + + bool m_bEnableLog; + int m_nUseUSBBackup; + QString m_strLocalImageFolder; + QString m_strLogFolder; + QString m_strLocalHistoryFolder; + QString m_strModality; + QString m_strInstitutionName; + QString m_strStationName; + int m_nTransferSyntax; + SDCM_SERVER_INFO m_ServerWorklistInfo; + SDCM_SERVER_INFO m_ServerStorageInfo; + int m_nDisplayType; + STableHeader* m_pWorklistTableHeader; + STableHeader* m_pHistoryTableHeader; + //SDatabase* m_pDatabase; + ACQUISITION_INFO m_AcquisitionInfo; + + SThreadImageSave* m_pThreadCaptureImage; + SThreadSendDICOM* m_pThreadSendDICOM; + SThreadWorklistSearch* m_pThreadWorklistSearch; + QRTSPThread* m_pRTSPThread; + + QString m_strStorageDirectory; + + SearchDate m_SearchDateWorklist; + SearchDate m_SearchDateHistory; + + SEARCH_ITEM m_SearchItemWorklist; + SEARCH_ITEM m_SearchItemHistory; + + int m_nSearchItemHistoryStudyIndex; + + SDCMWorklist* m_pDCMWorklist; + SDCMFindSCUDataCallback* m_pFindSCUDataCallback; + vector* m_pWorklistData; + vector* m_pDCMDumpList; + WorklistResponseData* m_pCurrentWorklist; + + vector* m_pListCaptureImage; + RGB_Data* m_pImageCapture; + + vector* m_pListHistoryImage; + + + vector* m_pListHistorySearch; + HISTORY_STUDY* m_pCurrentHistoryStudy; + + bool m_bVideoEncoding; + + bool m_bUseWebDisplay; + + + qint64 m_nStorageSize; + + qint64 m_nStorageFreeSize; + + vector m_ListExport; + + QMutex m_LockAddCapture; + QMutex m_LockAddHistory; + QMutex m_LockLog; + QMutex m_LockAcquisitionInfo; + QMutex m_LockCurrentHistoryStudy; + QMutex m_LockWorklistData; + QMutex m_LockDatabase; + + QMutex m_LockServerWorklistInfo; + QMutex m_LockServerStorageInfo; + + + +}; + +#endif // COMMONDATA_H diff --git a/cscallbacksendprogress.cpp b/cscallbacksendprogress.cpp new file mode 100644 index 0000000..dc28656 --- /dev/null +++ b/cscallbacksendprogress.cpp @@ -0,0 +1,104 @@ +#include "cscallbacksendprogress.h" + +#include + +#include "mainwindow.h" + +CSCallbackSendProgress::CSCallbackSendProgress() +{ + m_nCount = 0; + m_nPrevBytes = 1; + m_bExitSend = false; +} + +CSCallbackSendProgress::~CSCallbackSendProgress() +{ +} + +void CSCallbackSendProgress::ProgressInfo(int nState) +{ + +} + +void CSCallbackSendProgress::ProgressError(int nState) +{ + +} + +void CSCallbackSendProgress::ProgressComplete() +{ + if(m_bExecBackground==true) + { + return; + } + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + pMainWindow->UpdateSendComplete(); +} + +void CSCallbackSendProgress::ProgressState(int nProgressBytes, int nTotalBytes) +{ + if(m_bExecBackground==true) + { + return; + } + //qDebug() << nProgressBytes << ", " << nTotalBytes; + + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + + if(nProgressBytesUpdateSendInfo(m_nCount, m_nTotalCount); + } + + m_nPrevBytes = nProgressBytes; +} + +void CSCallbackSendProgress::SetTotalCount(int nCount) +{ + m_nTotalCount = nCount; +} + + +void CSCallbackSendProgress::ProgressDICOMMake(int nCurrentFile, int nTotalFile) +{ + +} + +void CSCallbackSendProgress::SetExecBackground(bool bExecBackground) +{ + m_bExecBackground = bExecBackground; +} + + +void CSCallbackSendProgress::SetExitSend(bool bExitSend) +{ + m_Lock.lock(); + { + m_bExitSend = bExitSend; + } + m_Lock.unlock(); + +} + +bool CSCallbackSendProgress::IsExitSend() +{ + bool bExitSend; + m_Lock.lock(); + { + bExitSend = m_bExitSend; + } + m_Lock.unlock(); + return bExitSend; +} + +void CSCallbackSendProgress::Clear() +{ + CSCallback::Clear(); + + m_nCount = 0; + m_nPrevBytes = 1; + + SetExitSend(false); + +} diff --git a/cscallbacksendprogress.h b/cscallbacksendprogress.h new file mode 100644 index 0000000..6ab7c1f --- /dev/null +++ b/cscallbacksendprogress.h @@ -0,0 +1,42 @@ +#ifndef CSCALLBACKSENDPROGRESS_H +#define CSCALLBACKSENDPROGRESS_H + +#include "SCallback.h" + +#include + +class CSCallbackSendProgress : public CSCallback +{ +public: + CSCallbackSendProgress(); + virtual ~CSCallbackSendProgress(); + + virtual void ProgressInfo(int nState); + virtual void ProgressError(int nState); + virtual void ProgressComplete(); + + virtual void ProgressState(int nProgressBytes, int nTotalBytes); + + virtual void ProgressDICOMMake(int nCurrentFile, int nTotalFile); + + void SetTotalCount(int nCount); + + void SetExecBackground(bool bExecBackground); + + void SetExitSend(bool bExitSend); + bool IsExitSend(); + + virtual void Clear(); + +protected: + int m_nPrevBytes; + int m_nCount; + int m_nTotalCount; + + bool m_bExecBackground; + + QMutex m_Lock; + bool m_bExitSend; +}; + +#endif // CSCALLBACKSENDPROGRESS_H diff --git a/csdcm.cpp b/csdcm.cpp new file mode 100644 index 0000000..3cd185a --- /dev/null +++ b/csdcm.cpp @@ -0,0 +1,57 @@ +#include "csdcm.h" + +CSDCM::CSDCM() +{ + m_pListTag = new map; + m_pListChild = new map; + + m_DcmTagKey = DcmTagKey(0000, 0000); +} + +CSDCM::CSDCM(DcmTagKey nKey) +{ + m_pListTag = new map; + m_pListChild = new map; + + m_DcmTagKey = nKey; +} + +CSDCM::~CSDCM() +{ + m_pListTag->clear(); + delete m_pListTag; + m_pListTag = NULL; + + if(m_pListChild!=NULL) + { + map::iterator it; + for(it=m_pListChild->begin() ; it!=m_pListChild->end() ; ++it) + { + + delete (it->second); + } + + } +} + +void CSDCM::InsertTagValue(DcmTagKey nKey, OFString& strData) +{ + map::iterator it = m_pListTag->find(nKey); + if(it->first!=nKey) + { + m_pListTag->insert({ nKey, strData }); + } +} + +map* CSDCM::GetSequenceList() +{ + return m_pListChild; +} + +CSDCM* CSDCM::InsertSequence(DcmTagKey nKey) +{ + CSDCM* pChild = new CSDCM(nKey); + m_pListChild->insert({nKey, pChild}); + + return pChild; +} diff --git a/csdcm.h b/csdcm.h new file mode 100644 index 0000000..03908f7 --- /dev/null +++ b/csdcm.h @@ -0,0 +1,34 @@ +#ifndef CSDCM_H +#define CSDCM_H + +#include "common.h" + +#include "dcmtk/dcmdata/dctag.h" +#include "dcmtk/dcmdata/dctagkey.h" +#include "dcmtk/ofstd/ofstring.h" + +#include +#include +using namespace std; + +class CSDCM +{ +public: + CSDCM(); + CSDCM(DcmTagKey nKey); + virtual ~CSDCM(); + + map* GetSequenceList(); + + void InsertTagValue(DcmTagKey nKey, OFString& strData); + + CSDCM* InsertSequence(DcmTagKey nKey); + +protected: + map* m_pListTag; + map* m_pListChild; + + DcmTagKey m_DcmTagKey; +}; + +#endif // CSDCM_H diff --git a/cuda_utils.h b/cuda_utils.h new file mode 100644 index 0000000..8fbd319 --- /dev/null +++ b/cuda_utils.h @@ -0,0 +1,18 @@ +#ifndef TRTX_CUDA_UTILS_H_ +#define TRTX_CUDA_UTILS_H_ + +#include + +#ifndef CUDA_CHECK +#define CUDA_CHECK(callstr)\ + {\ + cudaError_t error_code = callstr;\ + if (error_code != cudaSuccess) {\ + std::cerr << "CUDA error " << error_code << " at " << __FILE__ << ":" << __LINE__;\ + assert(0);\ + }\ + } +#endif // CUDA_CHECK + +#endif // TRTX_CUDA_UTILS_H_ + diff --git a/dialogadvancedsetting.cpp b/dialogadvancedsetting.cpp new file mode 100644 index 0000000..2d0f8b6 --- /dev/null +++ b/dialogadvancedsetting.cpp @@ -0,0 +1,196 @@ +#include "dialogadvancedsetting.h" +#include "ui_dialogadvancedsetting.h" + +#include "mainwindow.h" + +DialogAdvancedSetting::DialogAdvancedSetting(QWidget *parent) : + QDialog(parent), + ui(new Ui::DialogAdvancedSetting) +{ + ui->setupUi(this); + + ui->comboBox_DICOM_CharacterSet->addItem("EUC-KR"); + ui->comboBox_DICOM_CharacterSet->addItem("UTF-8"); + ui->comboBox_DICOM_CharacterSet->addItem("ASCII"); + + ui->comboBox_ScreenSaver->addItem("None"); + ui->comboBox_ScreenSaver->addItem("1"); + ui->comboBox_ScreenSaver->addItem("2"); + ui->comboBox_ScreenSaver->addItem("5"); + ui->comboBox_ScreenSaver->addItem("10"); + ui->comboBox_ScreenSaver->addItem("60"); + + + CommonData* pCommonData = MainWindow::GetCommonData(); + bool bIsAutoVideoCapture = pCommonData->IsAutoVideoCapture(); + bool bIsAutoCaptureSendDICOM = pCommonData->IsAutoCaptureSendDICOM(); + bool bIsAutoExitCaptureSendDICOM = pCommonData->IsAutoExitCaptureSendDICOM(); + bool bIsAutoCloseSendFinish = pCommonData->IsAutoCloseSendFinish(); + bool bIsAutoLogin = pCommonData->IsAutoLogin(); + bool bIsCropMode = (bool)pCommonData->GetCropMode(); + bool bIsUseFixWidthLevel = (bool)pCommonData->GetUseFixWidthLevel(); + bool bIsUseLogLevel = false; + bool bIsUseUSBBackup = (bool)pCommonData->IsUseUSBBackup(); + int nScreenSaverTime = pCommonData->GetScreenSaverTime(); + if(pCommonData->GetLogLevel()>0) + { + bIsUseLogLevel = true; + } + QString strDICOMCharacterSet = pCommonData->GetDICOMCharacterSet(); + + ui->checkBox_AutoVideoCapture->setChecked(bIsAutoVideoCapture); + ui->checkBox_AutoCaptureSendDICOM->setChecked(bIsAutoCaptureSendDICOM); + ui->checkBox_AutoExitCaptureSendDICOM->setChecked(bIsAutoExitCaptureSendDICOM); + ui->checkBox_AutoCloseSendFinish->setChecked(bIsAutoCloseSendFinish); + ui->checkBox_AutoLogin->setChecked(bIsAutoLogin); + ui->checkBox_Crop->setChecked(bIsCropMode); + ui->checkBox_FixWidthLevel->setChecked(bIsUseFixWidthLevel); + ui->checkBox_LogLevel->setChecked(bIsUseLogLevel); + ui->checkBox_UsbBackup->setChecked(bIsUseUSBBackup); + + + ui->comboBox_DICOM_CharacterSet->setCurrentText(strDICOMCharacterSet); + + switch(nScreenSaverTime) + { + case 0: + ui->comboBox_ScreenSaver->setCurrentIndex(0); + break; + case 1: + ui->comboBox_ScreenSaver->setCurrentIndex(1); + break; + case 2: + ui->comboBox_ScreenSaver->setCurrentIndex(2); + break; + case 5: + ui->comboBox_ScreenSaver->setCurrentIndex(3); + break; + case 10: + ui->comboBox_ScreenSaver->setCurrentIndex(4); + break; + case 60: + ui->comboBox_ScreenSaver->setCurrentIndex(5); + break; + } + + +} + +DialogAdvancedSetting::~DialogAdvancedSetting() +{ + delete ui; +} + +void DialogAdvancedSetting::on_comboBox_DICOM_CharacterSet_currentIndexChanged(const QString &arg1) +{ + m_strCharacterSet = arg1; +} + +QString DialogAdvancedSetting::GetDICOM_CharacterSet() +{ + return m_strCharacterSet; +} + + + + + + + + +bool DialogAdvancedSetting::IsAutoVideoCapture() +{ + return ui->checkBox_AutoVideoCapture->isChecked(); +} + +bool DialogAdvancedSetting::IsAutoCaptureSendDICOM() +{ + return ui->checkBox_AutoCaptureSendDICOM->isChecked(); +} + +bool DialogAdvancedSetting::IsAutoExitCaptureSendDICOM() +{ + return ui->checkBox_AutoExitCaptureSendDICOM->isChecked(); +} + +void DialogAdvancedSetting::on_pushButton_Save_clicked() +{ + done(QDialog::Accepted); +} + +void DialogAdvancedSetting::on_pushButton_Cancel_clicked() +{ + done(QDialog::Rejected); +} + +bool DialogAdvancedSetting::IsAutoCloseSendFinish() +{ + return ui->checkBox_AutoCloseSendFinish->isChecked(); +} + +bool DialogAdvancedSetting::IsAutoLogin() +{ + return ui->checkBox_AutoLogin->isChecked(); +} + +bool DialogAdvancedSetting::IsCropMode() +{ + return ui->checkBox_Crop->isChecked(); +} + +bool DialogAdvancedSetting::IsUseFixWidthLevel() +{ + return ui->checkBox_FixWidthLevel->isChecked(); +} + +bool DialogAdvancedSetting::IsUseLogLevel() +{ + return ui->checkBox_LogLevel->isChecked(); +} + +bool DialogAdvancedSetting::IsUseUSBBackup() +{ + return ui->checkBox_UsbBackup->isChecked(); +} + +int DialogAdvancedSetting::GetScreenSaverTime() +{ + int nTime = 0; + + int nItem = ui->comboBox_ScreenSaver->currentIndex(); + + //ui->comboBox_ScreenSaver->addItem("None"); + //ui->comboBox_ScreenSaver->addItem("1"); + //ui->comboBox_ScreenSaver->addItem("2"); + //ui->comboBox_ScreenSaver->addItem("5"); + //ui->comboBox_ScreenSaver->addItem("10"); + //ui->comboBox_ScreenSaver->addItem("60"); + + switch(nItem) + { + case 0: + nTime = 0; + break; + case 1: + nTime = 1; + break; + case 2: + nTime = 2; + break; + case 3: + nTime = 5; + break; + case 4: + nTime = 10; + break; + case 5: + nTime = 60; + break; + } + + + return nTime; +} + + + diff --git a/dialogadvancedsetting.h b/dialogadvancedsetting.h new file mode 100644 index 0000000..3c59f7c --- /dev/null +++ b/dialogadvancedsetting.h @@ -0,0 +1,45 @@ +#ifndef DIALOGADVANCEDSETTING_H +#define DIALOGADVANCEDSETTING_H + +#include + +namespace Ui { +class DialogAdvancedSetting; +} + +class DialogAdvancedSetting : public QDialog +{ + Q_OBJECT + +public: + explicit DialogAdvancedSetting(QWidget *parent = nullptr); + ~DialogAdvancedSetting(); + + bool IsAutoVideoCapture(); + bool IsAutoCaptureSendDICOM(); + bool IsAutoExitCaptureSendDICOM(); + bool IsAutoCloseSendFinish(); + bool IsAutoLogin(); + bool IsCropMode(); + bool IsUseFixWidthLevel(); + bool IsUseLogLevel(); + bool IsUseUSBBackup(); + + int GetScreenSaverTime(); + + QString GetDICOM_CharacterSet(); + +protected: + QString m_strCharacterSet; + +private slots: + void on_comboBox_DICOM_CharacterSet_currentIndexChanged(const QString &arg1); + + void on_pushButton_Save_clicked(); + void on_pushButton_Cancel_clicked(); + +private: + Ui::DialogAdvancedSetting *ui; +}; + +#endif // DIALOGADVANCEDSETTING_H diff --git a/dialogadvancedsetting.ui b/dialogadvancedsetting.ui new file mode 100644 index 0000000..f62ce61 --- /dev/null +++ b/dialogadvancedsetting.ui @@ -0,0 +1,760 @@ + + + DialogAdvancedSetting + + + + 0 + 0 + 725 + 487 + + + + Dialog + + + + + 190 + 430 + 130 + 40 + + + + QPushButton +{ + background: #d0d0d0; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: #101010; +} + +QPushButton:pressed +{ + background: #c0c0c0; + color: #202020; +} + + + Save + + + + + true + + + + 390 + 430 + 130 + 40 + + + + QPushButton +{ + background: #153B44; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: white; +} + +QPushButton:pressed +{ + background: #1B4C54; +} + +QPushButton:disabled +{ + background: #b4b4b4; + color: white; +} + + + Cancel + + + + + + 30 + 30 + 181 + 31 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + color: #101010; + qproperty-alignment: 'AlignVCenter | AlignLeft'; +} + + + DICOM CharacterSet + + + + + + 210 + 30 + 131 + 41 + + + + QComboBox { + border: 1px solid gray; + border-radius: 3px; + padding: 1px 18px 1px 3px; + min-width: 6em; +} + +QComboBox:editable { + background: white; +} + +QComboBox:!editable, QComboBox::drop-down:editable { + background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, + stop: 0 #E1E1E1, stop: 0.4 #DDDDDD, + stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3); +} + +/* QComboBox gets the "on" state when the popup is open */ +QComboBox:!editable:on, QComboBox::drop-down:editable:on { + background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, + stop: 0 #D3D3D3, stop: 0.4 #D8D8D8, + stop: 0.5 #DDDDDD, stop: 1.0 #E1E1E1); +} + +QComboBox:on { /* shift the text when the popup opens */ + padding-top: 3px; + padding-left: 4px; +} + +QComboBox::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 30px; + + border-left-width: 1px; + border-left-color: darkgray; + border-left-style: solid; /* just a single line */ + border-top-right-radius: 3px; /* same radius as the QComboBox */ + border-bottom-right-radius: 3px; +} + +QComboBox::down-arrow { + border-image: url(://image/Arrow_under_3.png); +} + +QComboBox::down-arrow:on { /* shift the arrow when popup is open */ + top: 1px; + left: 1px; +} + + + +QComboBox QAbstractItemView { + border: 2px solid darkgray; + selection-background-color: red; +} + +QComboBox QListView::item +{ + border: 2px solid darkgray; +} + +QComboBox::item +{ + border: 2px solid darkgray; + height: 40px; + selection-background-color: red; +} + +QComboBox::item:selected +{ + background: red; +} + + + + + + 110 + 150 + 190 + 31 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + color: #101010; + qproperty-alignment: 'AlignVCenter | AlignLeft'; +} + + + Auto Send on Capture + + + + + + 60 + 150 + 30 + 30 + + + + QCheckBox::indicator +{ + width: 30px; + height: 30px; +} + + + + + + + 40 + 40 + + + + + + + 110 + 200 + 190 + 31 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + color: #101010; + qproperty-alignment: 'AlignVCenter | AlignLeft'; +} + + + Auto Send on Exit + + + + + + 60 + 200 + 30 + 30 + + + + QCheckBox::indicator +{ + width: 30px; + height: 30px; +} + + + + + + + 40 + 40 + + + + + + + 110 + 250 + 190 + 31 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + color: #101010; + qproperty-alignment: 'AlignVCenter | AlignLeft'; +} + + + Auto Video Capture + + + + + + 60 + 250 + 30 + 30 + + + + QCheckBox::indicator +{ + width: 30px; + height: 30px; +} + + + + + + + 40 + 40 + + + + + + + 110 + 300 + 190 + 31 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + color: #101010; + qproperty-alignment: 'AlignVCenter | AlignLeft'; +} + + + Auto Close Send Finish + + + + + + 60 + 300 + 30 + 30 + + + + QCheckBox::indicator +{ + width: 30px; + height: 30px; +} + + + + + + + 40 + 40 + + + + + + + 110 + 350 + 190 + 31 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + color: #101010; + qproperty-alignment: 'AlignVCenter | AlignLeft'; +} + + + Auto Login + + + + + + 60 + 350 + 30 + 30 + + + + QCheckBox::indicator +{ + width: 30px; + height: 30px; +} + + + + + + + 40 + 40 + + + + + + + 410 + 150 + 30 + 30 + + + + QCheckBox::indicator +{ + width: 30px; + height: 30px; +} + + + + + + + 40 + 40 + + + + + + + 460 + 150 + 190 + 31 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + color: #101010; + qproperty-alignment: 'AlignVCenter | AlignLeft'; +} + + + Crop + + + + + + 360 + 140 + 2 + 271 + + + + background: black; + + + + + + + + + 460 + 200 + 190 + 31 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + color: #101010; + qproperty-alignment: 'AlignVCenter | AlignLeft'; +} + + + Fix Width/Level + + + + + + 410 + 200 + 30 + 30 + + + + QCheckBox::indicator +{ + width: 30px; + height: 30px; +} + + + + + + + 40 + 40 + + + + + + + 410 + 250 + 30 + 30 + + + + QCheckBox::indicator +{ + width: 30px; + height: 30px; +} + + + + + + + 40 + 40 + + + + + + + 460 + 250 + 190 + 31 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + color: #101010; + qproperty-alignment: 'AlignVCenter | AlignLeft'; +} + + + Use Log + + + + + + 510 + 30 + 131 + 41 + + + + QComboBox { + border: 1px solid gray; + border-radius: 3px; + padding: 1px 18px 1px 3px; + min-width: 6em; +} + +QComboBox:editable { + background: white; +} + +QComboBox:!editable, QComboBox::drop-down:editable { + background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, + stop: 0 #E1E1E1, stop: 0.4 #DDDDDD, + stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3); +} + +/* QComboBox gets the "on" state when the popup is open */ +QComboBox:!editable:on, QComboBox::drop-down:editable:on { + background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, + stop: 0 #D3D3D3, stop: 0.4 #D8D8D8, + stop: 0.5 #DDDDDD, stop: 1.0 #E1E1E1); +} + +QComboBox:on { /* shift the text when the popup opens */ + padding-top: 3px; + padding-left: 4px; +} + +QComboBox::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 30px; + + border-left-width: 1px; + border-left-color: darkgray; + border-left-style: solid; /* just a single line */ + border-top-right-radius: 3px; /* same radius as the QComboBox */ + border-bottom-right-radius: 3px; +} + +QComboBox::down-arrow { + border-image: url(://image/Arrow_under_3.png); +} + +QComboBox::down-arrow:on { /* shift the arrow when popup is open */ + top: 1px; + left: 1px; +} + + + +QComboBox QAbstractItemView { + border: 2px solid darkgray; + selection-background-color: red; +} + +QComboBox QListView::item +{ + border: 2px solid darkgray; +} + +QComboBox::item +{ + border: 2px solid darkgray; + height: 40px; + selection-background-color: red; +} + +QComboBox::item:selected +{ + background: red; +} + + + + + + 390 + 30 + 111 + 31 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + color: #101010; + qproperty-alignment: 'AlignVCenter | AlignLeft'; +} + + + ScreenSaver + + + + + + 460 + 300 + 190 + 31 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + color: #101010; + qproperty-alignment: 'AlignVCenter | AlignLeft'; +} + + + USB Backup + + + + + + 410 + 300 + 30 + 30 + + + + QCheckBox::indicator +{ + width: 30px; + height: 30px; +} + + + + + + + 40 + 40 + + + + + + + diff --git a/dialogcalendar.cpp b/dialogcalendar.cpp new file mode 100644 index 0000000..e3b82fa --- /dev/null +++ b/dialogcalendar.cpp @@ -0,0 +1,446 @@ +#include "dialogcalendar.h" +#include "ui_dialogcalendar.h" + +#include + +#include "mainwindow.h" + +#include +#include +#include +#include + + +DialogCalendar::DialogCalendar(QWidget *parent) : + QDialog(parent), + ui(new Ui::DialogCalendar) +{ + setAttribute(Qt::WA_TranslucentBackground); + //setWindowFlags(Qt::CustomizeWindowHint); + setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog | Qt::Popup); + //setWindowFlags(Qt::FramelessWindowHint); + + ui->setupUi(this); + + connect(ui->widget, SIGNAL(SetSearchDateUpdate(int)), parent, SLOT(SetSearchDateUpdate(int))); + connect(ui->widget, SIGNAL(ExecuteClickDate()), this, SLOT(ExecuteClickDate())); + + ui->verticalLayout->setSpacing(1); + + QStringList strListText; + /* + strListText << "Today"; + strListText << "LAST 3 DAYS"; + strListText << "LAST WEEK"; + strListText << "LAST 2 WEEKS"; + strListText << "LAST MONTH"; + strListText << "LAST 6 MONTHS"; + strListText << "LAST YEAR"; + */ + strListText << "Today"; + strListText << "LAST 3 DAYS"; + strListText << "LAST WEEK"; + strListText << "LAST 2 WEEKS"; + strListText << "LAST 3 WEEKS"; + strListText << "LAST MONTH"; + strListText << "LAST 2 MONTH"; + + int i=0; + for(i=0 ; i<7 ; i++) + { + SCalendarMenuView* pItem = new SCalendarMenuView(this); + pItem->SetData(i, strListText[i]); + + ui->verticalLayout->addWidget(pItem); + connect(pItem, SIGNAL(ExecuteMenu(int)), this, SLOT(ExecuteMenu(int))); + + m_ListMenu.push_back(pItem); + } + + m_ListMonthName << "January" << "Februry" << "March" << "April" << "May" << "June" << "July" << "August" << "September" << "October" << "November" << "December"; + + move(0, 0); + +} + +DialogCalendar::~DialogCalendar() +{ + int i=0; + for(i=0 ; i<7 ; i++) + { + SCalendarMenuView* pItem = m_ListMenu[i]; + if(pItem!=NULL) + { + disconnect(pItem, SIGNAL(ExecuteMenu(int)), this, SLOT(ExecuteMenu(int))); + } + + pItem->deleteLater(); + + } + + m_ListMenu.clear(); + + delete ui; + + /* + if(m_pImageBackground!=NULL) + { + delete m_pImageBackground; + } + */ + +} + +void DialogCalendar::SetCalendarDate(int nYear, int nMonth, int nDay) +{ + m_nYear = nYear; + m_nMonth = nMonth; + + QString strYear = QString::number(nYear); + QString strMonth = QString("%1(%2)").arg(m_ListMonthName[nMonth-1]).arg(QString::number(nMonth)); + + strMonth = strMonth.left(3); + + ui->label_Year->setText(strYear); + ui->label_Month->setText(strMonth); + + ui->widget->SetCalendar(nYear, nMonth); + + +} + + +void DialogCalendar::ExecuteMenu(int nID) +{ + int i=0; + for(i=0 ; iIsSelected()==true) + { + pItem->Unselect(); + pItem->update(); + } + } + } + + QDate date = QDate::currentDate(); + int nYear = date.year(); + int nMonth = date.month(); + SetCalendarDate(nYear, nMonth, 1); + + m_nTypeSearchDuration = nID; + + + switch(nID) + { + case 0: + ui->widget->SetToday(); + break; + case 1: + ui->widget->SetLast3Days(); + break; + case 2: + ui->widget->SetLastWeek(); + break; + case 3: + ui->widget->SetLast2Weeks(); + break; + case 4: + //ui->widget->SetLastMonth(); + ui->widget->SetLast3Weeks(); + break; + case 5: + //ui->widget->SetLast6Months(); + ui->widget->SetLastMonth(); + break; + case 6: + //ui->widget->SetLastYear(); + ui->widget->SetLast2Month(); + break; + case 7: + default: + break; + + } + + + + SetSearchDateUpdate(m_nTypeSearchDuration); +} + +void DialogCalendar::on_pushButton_MonthPrev_clicked() +{ + m_nMonth = m_nMonth-1; + if(m_nMonth<=0) + { + m_nMonth = 12; + m_nYear = m_nYear-1; + } + ui->widget->ClearDayState(); + //ui->widget->SetCalendar(m_nYear, m_nMonth); + SetCalendarDate(m_nYear, m_nMonth, 1); + ui->widget->UpdateDayState(); +} + +void DialogCalendar::on_pushButton_MonthNext_clicked() +{ + m_nMonth = m_nMonth+1; + if(m_nMonth>12) + { + m_nMonth = 1; + m_nYear = m_nYear+1; + } + ui->widget->ClearDayState(); + //ui->widget->SetCalendar(m_nYear, m_nMonth); + SetCalendarDate(m_nYear, m_nMonth, 1); + ui->widget->UpdateDayState(); +} + + + + + +void DialogCalendar::on_pushButton_OK_clicked() +{ + QDialog::accept(); +} + +void DialogCalendar::on_pushButton_Cancel_clicked() +{ + QDialog::reject(); +} + +void DialogCalendar::showEvent(QShowEvent *pEvent) +{ + + if(pEvent->type()==QEvent::Show) + { + + } + else if(pEvent->type()==QEvent::Hide) + { + + } +} + +void DialogCalendar::SetModeChangeStart() +{ + m_nModeChange = CHANGE_DATE_START; + ui->widget->SetModeChangeStart(); + + SetSearchDateUpdate(SEARCH_USER_DEFINED); +} + +void DialogCalendar::SetModeChangeEnd() +{ + m_nModeChange = CHANGE_DATE_END; + ui->widget->SetModeChangeEnd(); + + SetSearchDateUpdate(SEARCH_USER_DEFINED); +} + + +void DialogCalendar::resizeEvent(QResizeEvent *pEvent) +{ + int nDisplayType = MainWindow::GetCommonData()->GetDisplayType(); + + int nFontSize = 22; + int nFontSizeCancel = 18; + int nFontMonth = 24; + int nFontMenu = 18; + int nFontYear = 20; + if(nDisplayType==SDISPLAY_1280X1024) + { + float fRatioX = 1280.0f / 1920.0f; + float fRatioY = 1024.0f / 1080.0f; + + nFontMonth = 16; + nFontSize = 16; + nFontSizeCancel = 18 * fRatioX; + nFontMenu = 14; + + ui->frame_background->setGeometry(0*fRatioX, 0*fRatioX, 1920*fRatioX, 1080*fRatioY); + ui->frame_calendar->setGeometry(300*fRatioX, 270*fRatioX, 1270*fRatioX, 712*fRatioX); + { + ui->frame_top->setGeometry(0, 0, 1270*fRatioX, 99*fRatioX); + { + ui->label_Month->setGeometry(582*fRatioX-30, 48*fRatioX, 60*fRatioX+60, 27*fRatioX); + ui->label_Year->setGeometry(592*fRatioX-30, 24*fRatioX, 46*fRatioX+60, 24*fRatioX); + ui->pushButton_Cancel->setGeometry(60*fRatioX, 30*fRatioX, 111*fRatioX, 33*fRatioX); + { + ui->frame_ImageCancel->setGeometry(0, 5, 17*fRatioX, 33*fRatioX-10); + ui->label_Cancel->setGeometry(17*fRatioX, 0, 71*fRatioX, 33*fRatioX); + } + ui->pushButton_MonthNext->setGeometry(660*fRatioX, 52*fRatioX, 10*fRatioX, 18*fRatioX); + { + ui->frame_next->setGeometry(0, 0, 10*fRatioX, 18*fRatioX); + } + ui->pushButton_MonthPrev->setGeometry(557*fRatioX, 52*fRatioX, 10*fRatioX, 18*fRatioX); + { + ui->frame_prev->setGeometry(0*fRatioX, 0, 10*fRatioX, 18*fRatioX); + } + ui->pushButton_OK->setGeometry(1087*fRatioX, 26*fRatioX+5, 162*fRatioX, 48*fRatioX-10); + } + + ui->verticalLayoutWidget->setGeometry(0*fRatioX, 99*fRatioX, 200*fRatioX, 612*fRatioX); + ui->widget->setGeometry(200*fRatioX, 99*fRatioX, 1084*fRatioX, 612*fRatioX); + + } + } + else if(nDisplayType==SDISPLAY_1920X1080) + { + ui->frame_background->setGeometry(0, 0, 1920, 1080); + ui->frame_calendar->setGeometry(300, 260, 1270, 712); + { + ui->frame_top->setGeometry(0, 0, 1270, 99); + { + ui->label_Month->setGeometry(582, 48, 60, 27); + ui->label_Year->setGeometry(592, 24, 46, 24); + ui->pushButton_Cancel->setGeometry(60, 30, 111, 33); + { + ui->frame_ImageCancel->setGeometry(0, 0, 17, 33); + ui->label_Cancel->setGeometry(17, 0, 71, 33); + } + ui->pushButton_MonthNext->setGeometry(660, 52, 10, 18); + { + ui->frame_next->setGeometry(0, 0, 10, 18); + } + ui->pushButton_MonthPrev->setGeometry(557, 52, 10, 18); + { + ui->frame_prev->setGeometry(0, 0, 10, 18); + } + ui->pushButton_OK->setGeometry(1087, 26, 162, 48); + } + + ui->verticalLayoutWidget->setGeometry(0, 99, 185, 612); + ui->widget->setGeometry(185, 99, 1084, 612); + + } + } + + QString strPushButton = QString( + "QLabel \n" + "{ \n" + " font-family: 'Roboto'; \n" + " font-size: %1px; \n" + " font-weight: bold; \n" + " color: #102528; \n" + "} \n").arg(nFontSizeCancel); + + ui->label_Cancel->setStyleSheet(strPushButton); + + + strPushButton = QString( + "QPushButton#pushButton_OK \n" + "{ \n" + " qproperty-autoDefault: false; \n" + " qproperty-flat: false; \n" + " background: #FFFFFF; \n" + " border: none; \n" + " border-radius: 9px; \n" + " font-family: 'Roboto'; \n" + " font-size: %1px; \n" + " font-weight: bold; \n" + "}").arg(nFontSizeCancel); + ui->pushButton_OK->setStyleSheet(strPushButton); + + strPushButton = QString( + "QLabel#label_Month \n" + "{ \n" + " font-family: 'Roboto'; \n" + " font-size: %1px; \n" + " font-weight: bold; \n" + " color: white; \n" + " qproperty-alignment: 'AlignHCenter | AlignVCenter'; \n" + "}").arg(nFontMonth); + ui->label_Month->setStyleSheet(strPushButton); + + strPushButton = QString( + "QLabel#label_Month \n" + "{ \n" + " font-family: 'Roboto'; \n" + " font-size: %1px; \n" + " font-weight: bold; \n" + " color: white; \n" + " qproperty-alignment: 'AlignHCenter | AlignVCenter'; \n" + "}").arg(nFontYear); + ui->label_Year->setStyleSheet(strPushButton); + + + int i=0; + for(i=0 ; i<7 ; i++) + { + SCalendarMenuView* pItemView = m_ListMenu[i]; + pItemView->SetFontSize(nFontMenu); + } +} + +/* +void DialogCalendar::paintEvent(QPaintEvent *event) +{ + QPainter painter(this); + QSize nSize = size(); + int nPaddingLeft = 0; + + QRect rectDisplay = QRect(nPaddingLeft, 0, nSize.width()-nPaddingLeft, nSize.height()); + + QColor colorBackground; + + painter.setRenderHint(QPainter::SmoothPixmapTransform); + + colorBackground = Qt::white; + if(m_pImageBackground!=NULL) + { + //painter.fillRect(QRect(0, 0, nSize.width(), nSize.height()), Qt::black); + + painter.drawImage(rectDisplay, *m_pImageBackground); + painter.fillRect(QRect(0, 0, nSize.width(), nSize.height()), QColor(0, 0, 0, 128)); + return; + } +} + +*/ + +void DialogCalendar::SetDateStart(QDate date) +{ + ui->widget->SetDateStart(date); +} + +void DialogCalendar::SetDateEnd(QDate date) +{ + ui->widget->SetDateEnd(date); +} + + +void DialogCalendar::keyReleaseEvent(QKeyEvent *event) +{ + int nKey = event->key(); + + SThreadImageSave* pThread = MainWindow::GetCommonData()->GetThreadCaptureImage(); + + if(nKey==Qt::Key_F10) + { + pThread->MissCapture(); + } + else if(nKey==Qt::Key_F11) + { + pThread->MissCapture(); + } + +} + + +int DialogCalendar::GetTypeSearchDuration() +{ + return m_nTypeSearchDuration; +} + +void DialogCalendar::ExecuteClickDate() +{ + m_nTypeSearchDuration = 7; + ExecuteMenu(m_nTypeSearchDuration); + +} diff --git a/dialogcalendar.h b/dialogcalendar.h new file mode 100644 index 0000000..0ccd5c6 --- /dev/null +++ b/dialogcalendar.h @@ -0,0 +1,78 @@ +#ifndef DIALOGCALENDAR_H +#define DIALOGCALENDAR_H + +#include + +#include "scalendarmenuview.h" + +#include +using namespace std; + +namespace Ui { +class DialogCalendar; +} + +enum _CALENDAR_CHANGE +{ + CHANGE_DATE_START, + CHANGE_DATE_END +}; + +class DialogCalendar : public QDialog +{ + Q_OBJECT + +public: + explicit DialogCalendar(QWidget *parent = nullptr); + ~DialogCalendar(); + + void SetCalendarDate(int nYear, int nMonth, int nDay); + + void showEvent(QShowEvent *) override; + + void SetModeChangeStart(); + void SetModeChangeEnd(); + + void SetDateStart(QDate date); + void SetDateEnd(QDate date); + + int GetTypeSearchDuration(); + +protected: + void resizeEvent(QResizeEvent *) override; + virtual void keyReleaseEvent(QKeyEvent *event); + //virtual void paintEvent(QPaintEvent *event); + +public slots: + void ExecuteMenu(int nID); + void ExecuteClickDate(); + +signals: + void SetSearchDateUpdate(int nTypeSearchDuration); + +protected: + int m_nModeChange; + int m_nTypeSearchDuration; + vector m_ListMenu; + int m_nYear; + int m_nMonth; + QStringList m_ListMonthName; + + //QImage* m_pImageBackground; + +private slots: + void on_pushButton_MonthPrev_clicked(); + + void on_pushButton_MonthNext_clicked(); + + void on_pushButton_OK_clicked(); + + void on_pushButton_Cancel_clicked(); + +private: + Ui::DialogCalendar *ui; + + +}; + +#endif // DIALOGCALENDAR_H diff --git a/dialogcalendar.ui b/dialogcalendar.ui new file mode 100644 index 0000000..37a5db2 --- /dev/null +++ b/dialogcalendar.ui @@ -0,0 +1,394 @@ + + + DialogCalendar + + + Qt::NonModal + + + + 0 + 0 + 1920 + 1080 + + + + Dialog + + + 1.000000000000000 + + + QDialog +{ + background: transparent; + border: none; +} + + + false + + + + + 0 + 0 + 1920 + 1080 + + + + QFrame#frame_background +{ + background: #40202020; + border: none; +} + + + + + + 300 + 260 + 1270 + 712 + + + + QFrame#frame_calendar +{ + background: #276678; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 185 + 99 + 1084 + 612 + + + + + + + 0 + 99 + 185 + 612 + + + + QWidget#verticalLayoutWidget + { + background: #276678; + border: 2px #276678; + } + + + + 1 + + + 0 + + + 2 + + + 0 + + + + + + + 0 + 0 + 1270 + 99 + + + + QFrame#frame_top + { + background: #276678; + border: none; + } + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 60 + 30 + 111 + 33 + + + + Qt::NoFocus + + + QPushButton + { + qproperty-autoDefault: false; + qproperty-flat: true; + background: none; + border: none; + } + + + + + + + + false + + + true + + + + + 0 + 0 + 17 + 33 + + + + QFrame#frame_ImageCancel + { + border-image: url("://image/cancel_arrow.png"); + } + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + 17 + 0 + 71 + 33 + + + + QLabel + { + font-family: 'Roboto'; + font-size: 18px; + font-weight: bold; + color: #102528; + } + + + CANCEL + + + + + + + 1087 + 26 + 162 + 48 + + + + QPushButton#pushButton_OK + { + qproperty-autoDefault: false; + qproperty-flat: false; + background: #FFFFFF; + border: none; + border-radius: 9px; + font-family: 'Roboto'; + font-size: 18px; + font-weight: bold; + } + + + OK + + + + + + 592 + 24 + 46 + 24 + + + + QLabel#label_Year + { + font-family: 'Roboto'; + font-size: 20px; + font-weight: bold; + color: white; + + qproperty-alignment: 'AlignHCenter | AlignVCenter'; + } + + + 2021 + + + + + + 582 + 48 + 60 + 27 + + + + QLabel#label_Month + { + font-family: 'Roboto'; + font-size: 24px; + font-weight: bold; + color: white; + + qproperty-alignment: 'AlignHCenter | AlignVCenter'; + } + + + JUNE + + + + + + 660 + 52 + 10 + 18 + + + + QPushButton#pushButton_MonthNext + { + qproperty-autoDefault: false; + qproperty-flat: true; + background: none; + border: none; + } + + + + + + + + + + 0 + 0 + 10 + 18 + + + + QFrame#frame_next + { + border-image: url("://image/month_next.png"); + background: none; + border: none; + } + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + 557 + 52 + 10 + 18 + + + + QPushButton#pushButton_MonthPrev + { + qproperty-autoDefault: false; + qproperty-flat: true; + background: none; + border: none; + } + + + + + + + + + + 0 + 0 + 10 + 18 + + + + QFrame#frame_prev + { + border-image: url("://image/month_prev.png"); + background: none; + border: none; + } + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + + + FormCalendarView + QWidget +
formcalendarview.h
+ 1 +
+
+ + +
diff --git a/dialogchecksumerror.cpp b/dialogchecksumerror.cpp new file mode 100644 index 0000000..4bb843c --- /dev/null +++ b/dialogchecksumerror.cpp @@ -0,0 +1,42 @@ +#include "dialogchecksumerror.h" +#include "ui_dialogchecksumerror.h" + +#include "mainwindow.h" + +DialogCheckSumError::DialogCheckSumError(QWidget *parent) : + QDialog(parent), + ui(new Ui::DialogCheckSumError) +{ + setAttribute(Qt::WA_TranslucentBackground); + //setWindowFlags(Qt::CustomizeWindowHint); + setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog | Qt::Popup | Qt::WindowStaysOnTopHint); + + ui->setupUi(this); +} + +DialogCheckSumError::~DialogCheckSumError() +{ + delete ui; +} + +void DialogCheckSumError::resizeEvent(QResizeEvent *event) +{ + int nDisplayType = MainWindow::GetCommonData()->GetDisplayType(); + if(nDisplayType==SDISPLAY_1280X1024) + { + ui->frame_info->setGeometry(100, 400, 1080, 200); + ui->label->setGeometry(0, 30, 1080, 80); + ui->pushButton->setGeometry(1080/2-250/2, 124, 250, 60); + } + else if(nDisplayType==SDISPLAY_1920X1080) + { + ui->frame_info->setGeometry(100, 400, 1720, 200); + ui->label->setGeometry(0, 30, 1720, 80); + ui->pushButton->setGeometry(728, 124, 271, 61); + } +} + +void DialogCheckSumError::on_pushButton_clicked() +{ + accept(); +} diff --git a/dialogchecksumerror.h b/dialogchecksumerror.h new file mode 100644 index 0000000..a7f4984 --- /dev/null +++ b/dialogchecksumerror.h @@ -0,0 +1,28 @@ +#ifndef DIALOGCHECKSUMERROR_H +#define DIALOGCHECKSUMERROR_H + +#include + +namespace Ui { +class DialogCheckSumError; +} + +class DialogCheckSumError : public QDialog +{ + Q_OBJECT + +public: + explicit DialogCheckSumError(QWidget *parent = 0); + ~DialogCheckSumError(); + +public: + virtual void resizeEvent(QResizeEvent *event); + +private slots: + void on_pushButton_clicked(); + +private: + Ui::DialogCheckSumError *ui; +}; + +#endif // DIALOGCHECKSUMERROR_H diff --git a/dialogchecksumerror.ui b/dialogchecksumerror.ui new file mode 100644 index 0000000..a6f2246 --- /dev/null +++ b/dialogchecksumerror.ui @@ -0,0 +1,115 @@ + + + DialogCheckSumError + + + + 0 + 0 + 1920 + 1080 + + + + Dialog + + + QDialog +{ + background: transparent; + border: none; +} + + + + + 0 + 0 + 1920 + 1080 + + + + QFrame#frame_background +{ + background: #40202020; + border: none; +} + + + + + + 100 + 400 + 1720 + 200 + + + + background: white; + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 0 + 30 + 1720 + 80 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 30px; + font-weight: bold; + color: #000000; + qproperty-alignment: 'AlignVCenter | AlignHCenter'; +} + + + Check-sum Miss Matched!!! +Program will be closed. + + + + + + 728 + 124 + 271 + 61 + + + + QPushButton +{ + background: #153B44; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: white; +} + +QPushButton:pressed +{ + background: #1B4C54; +} + + + OK + + + + + + + diff --git a/dialogemergengy.cpp b/dialogemergengy.cpp new file mode 100644 index 0000000..0920324 --- /dev/null +++ b/dialogemergengy.cpp @@ -0,0 +1,61 @@ +#include "dialogemergengy.h" +#include "ui_dialogemergengy.h" + +DialogEmergengy::DialogEmergengy(QWidget *parent) : + QDialog(parent), + ui(new Ui::DialogEmergengy) +{ + setAttribute(Qt::WA_TranslucentBackground); + //setWindowFlags(Qt::CustomizeWindowHint); + //setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog);// | Qt::Popup); + setWindowFlags(Qt::FramelessWindowHint | Qt::Popup); + + ui->setupUi(this); + + ui->comboBox_Sex->addItem("Male"); + ui->comboBox_Sex->addItem("Female"); + ui->comboBox_Sex->addItem("Other"); +} + +DialogEmergengy::~DialogEmergengy() +{ + delete ui; +} + + +QString DialogEmergengy::GetPatientID() +{ + return ui->plainTextEdit_PatientID->toPlainText(); +} + +QString DialogEmergengy::GetPatientName() +{ + return ui->plainTextEdit_PatientName->toPlainText(); +} + +QString DialogEmergengy::GetPatientBirthDate() +{ + return ui->plainTextEdit_PatientBirthDate->toPlainText(); +} + +QString DialogEmergengy::GetPatientSex() +{ + return ui->comboBox_Sex->currentText(); + +} + +void DialogEmergengy::on_pushButton_Add_clicked() +{ + done(QDialog::Accepted); +} + +void DialogEmergengy::on_pushButton_Cancel_clicked() +{ + done(QDialog::Rejected); +} + + +void DialogEmergengy::reject() +{ + return; +} diff --git a/dialogemergengy.h b/dialogemergengy.h new file mode 100644 index 0000000..ecd9b5b --- /dev/null +++ b/dialogemergengy.h @@ -0,0 +1,34 @@ +#ifndef DIALOGEMERGENGY_H +#define DIALOGEMERGENGY_H + +#include + +namespace Ui { +class DialogEmergengy; +} + +class DialogEmergengy : public QDialog +{ + Q_OBJECT + +public: + explicit DialogEmergengy(QWidget *parent = 0); + ~DialogEmergengy(); + + QString GetPatientID(); + QString GetPatientName(); + QString GetPatientBirthDate(); + QString GetPatientSex(); + + virtual void reject(); + +private slots: + void on_pushButton_Add_clicked(); + + void on_pushButton_Cancel_clicked(); + +private: + Ui::DialogEmergengy *ui; +}; + +#endif // DIALOGEMERGENGY_H diff --git a/dialogemergengy.ui b/dialogemergengy.ui new file mode 100644 index 0000000..1677032 --- /dev/null +++ b/dialogemergengy.ui @@ -0,0 +1,512 @@ + + + DialogEmergengy + + + + 0 + 0 + 530 + 397 + + + + Emergency Dialog with New Patient + + + QDialog +{ + background: #A6B1C2; +} + +QLabel +{ + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + color: #101010; +} + + + true + + + + + 0 + 0 + 530 + 391 + + + + QFrame#frame_background +{ + background: #A6B1C2; +} + + + QFrame::NoFrame + + + QFrame::Plain + + + + + 30 + 35 + 141 + 31 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + color: #101010; + qproperty-alignment: 'AlignVCenter | AlignRight'; +} + + + ID: + + + + + + 200 + 36 + 221 + 50 + + + + QPlainTextEdit +{ + qproperty-placeholderText: 'Patient ID'; + qproperty-lineWrapMode: 'NoWrap'; + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + padding-left: 0px; + padding-top: 0px; + qproperty-backgroundVisible: false; + border: none; + qproperty-verticalScrollBarPolicy: 'ScrollBarAlwaysOff'; + background: transparent; +} + + + Qt::ImhNone + + + true + + + false + + + + + + 190 + 30 + 241 + 40 + + + + QFrame#frame_PatientID +{ + background: white; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + 30 + 105 + 141 + 31 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + color: #101010; + qproperty-alignment: 'AlignVCenter | AlignRight'; +} + + + Name: + + + + + + 200 + 106 + 221 + 50 + + + + QPlainTextEdit +{ + qproperty-placeholderText: 'Patient Name'; + qproperty-lineWrapMode: 'NoWrap'; + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + padding-left: 0px; + padding-top: 0px; + qproperty-backgroundVisible: false; + border: none; + qproperty-verticalScrollBarPolicy: 'ScrollBarAlwaysOff'; + background: transparent; +} + + + Qt::ImhNone + + + true + + + false + + + Patient Name + + + + + + 190 + 100 + 241 + 40 + + + + QFrame#frame_PatientName +{ + background: white; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + 190 + 174 + 241 + 40 + + + + QFrame#frame_PatientBirthDate +{ + background: white; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + 30 + 179 + 141 + 31 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + color: #101010; + qproperty-alignment: 'AlignVCenter | AlignRight'; +} + + + BirthDate: + + + + + + 200 + 180 + 221 + 50 + + + + QPlainTextEdit +{ + qproperty-placeholderText: 'YYYY/MM/DD'; + qproperty-lineWrapMode: 'NoWrap'; + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + padding-left: 0px; + padding-top: 0px; + qproperty-backgroundVisible: false; + border: none; + qproperty-verticalScrollBarPolicy: 'ScrollBarAlwaysOff'; + background: transparent; +} + + + Qt::ImhNone + + + true + + + false + + + YYYY/MM/DD + + + + + + 30 + 250 + 141 + 31 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + color: #101010; + qproperty-alignment: 'AlignVCenter | AlignRight'; +} + + + Sex: + + + + + + 190 + 244 + 241 + 40 + + + + QComboBox { + border: 1px solid gray; + border-radius: 3px; + padding: 1px 18px 1px 3px; + min-width: 6em; +} + +QComboBox:editable { + background: white; +} + +QComboBox:!editable, QComboBox::drop-down:editable { + background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, + stop: 0 #E1E1E1, stop: 0.4 #DDDDDD, + stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3); +} + +/* QComboBox gets the "on" state when the popup is open */ +QComboBox:!editable:on, QComboBox::drop-down:editable:on { + background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, + stop: 0 #D3D3D3, stop: 0.4 #D8D8D8, + stop: 0.5 #DDDDDD, stop: 1.0 #E1E1E1); +} + +QComboBox:on { /* shift the text when the popup opens */ + padding-top: 3px; + padding-left: 4px; +} + +QComboBox::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 30px; + + border-left-width: 1px; + border-left-color: darkgray; + border-left-style: solid; /* just a single line */ + border-top-right-radius: 3px; /* same radius as the QComboBox */ + border-bottom-right-radius: 3px; +} + +QComboBox::down-arrow { + border-image: url(://image/Arrow_under_3.png); +} + +QComboBox::down-arrow:on { /* shift the arrow when popup is open */ + top: 1px; + left: 1px; +} + + + +QComboBox QAbstractItemView { + border: 2px solid darkgray; + selection-background-color: red; +} + +QComboBox QListView::item +{ + border: 2px solid darkgray; +} + +QComboBox::item +{ + border: 2px solid darkgray; + height: 40px; + selection-background-color: red; +} + +QComboBox::item:selected +{ + background: red; +} + + + + 24 + 24 + + + + true + + + + + true + + + + 320 + 330 + 130 + 40 + + + + QPushButton +{ + background: #153B44; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: white; +} + +QPushButton:pressed +{ + background: #1B4C54; +} + +QPushButton:disabled +{ + background: #b4b4b4; + color: white; +} + + + Cancel + + + + + + 150 + 330 + 130 + 40 + + + + QPushButton +{ + background: #f0f0f0; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: #101010; +} + +QPushButton:pressed +{ + background: #c0c0c0; + color: #202020; +} + + + Add + + + label_ID + frame_PatientID + label_Name + frame_PatientName + plainTextEdit_PatientName + plainTextEdit_PatientID + frame_PatientBirthDate + label_BirthDate + plainTextEdit_PatientBirthDate + label_Sex + comboBox_Sex + pushButton_Cancel + pushButton_Add + + + + + STextEdit + QPlainTextEdit +
stextedit.h
+
+
+ + +
diff --git a/dialogexportsamba.cpp b/dialogexportsamba.cpp new file mode 100644 index 0000000..623acef --- /dev/null +++ b/dialogexportsamba.cpp @@ -0,0 +1,501 @@ +#include "dialogexportsamba.h" +#include "ui_dialogexportsamba.h" + +#include + +#include + +#include + +#include + +#include "mainwindow.h" + +DialogExportSamba::DialogExportSamba(QWidget *parent) : + QDialog(parent), + ui(new Ui::DialogExportSamba) +{ + //setAttribute(Qt::WA_TranslucentBackground); + //setWindowFlags(Qt::CustomizeWindowHint); + setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog | Qt::Popup); + //setWindowFlags(Qt::FramelessWindowHint); + + + ui->setupUi(this); + + ui->label_InfoUSB->setGeometry(90, 60, 430, 190); + + ui->label_InfoFile->hide(); + ui->label_InfoProgress->hide(); + ui->progressBar_File->hide(); + ui->progressBar_Progress->hide(); + + + m_nSyncCheckCount = 0; + //done(QDialog::Accepted); + ui->progressBar_Progress->setRange(0, 100); + ui->progressBar_File->setRange(0, 100); + + ui->progressBar_File->setValue(0); + ui->progressBar_Progress->setValue(0); + + ui->progressBar_Progress->setTextVisible(true); + + ui->progressBar_File->setTextVisible(true); + + ui->progressBar_File->setFormat("%v / %m File Exports"); + + ui->pushButton_Retry->hide(); + + m_nTypeExport = 1; + + SThreadImageSave* pThread = MainWindow::GetCommonData()->GetThreadCaptureImage(); + connect(pThread, SIGNAL(SetProgressExportFile(int, int)), this, SLOT(SetProgressExportFile(int, int))); + connect(pThread, SIGNAL(SetProgressExportPercent(quint64, quint64)), this, SLOT(SetProgressExportPercent(quint64, quint64))); + connect(pThread, SIGNAL(SetProgressSync(bool)), this, SLOT(SetProgressSync(bool))); + connect(pThread, SIGNAL(SetExportInit()), this, SLOT(SetExportInit())); + connect(pThread, SIGNAL(SetExportComplete()), this, SLOT(SetExportComplete())); + + connect(this, SIGNAL(StartExport(int)), pThread, SLOT(StartExport(int))); + connect(this, SIGNAL(StopExport()), pThread, SLOT(StopExport())); + + connect(&m_TimerSync, SIGNAL(timeout()), this, SLOT(SyncUpdate())); + + connect(&m_TimerDeferred, SIGNAL(timeout()), this, SLOT(OnDeferredInit())); + + //connect(&m_Process1, SIGNAL(finished(int)), this, SLOT(Process1Finish(int))); + //connect(&m_Process1, SIGNAL(readyReadStandardOutput()), this, SLOT(Process1ReadyReadStandardOutput())); + //connect(&m_Process1, SIGNAL(readyReadStandardError()), this, SLOT(Process1ReadyReadStandardError())); + + //connect(&m_Process2, SIGNAL(finished(int)), this, SLOT(Process2Finish(int))); + //connect(&m_Process2, SIGNAL(readyReadStandardOutput()), this, SLOT(Process2ReadyReadStandardOutput())); + //connect(&m_Process2, SIGNAL(readyReadStandardError()), this, SLOT(Process2ReadyReadStandardError())); + + m_TimerDeferred.setSingleShot(true); + m_TimerDeferred.setInterval(100); + m_TimerDeferred.start(100); + + Umount(); +} + +DialogExportSamba::~DialogExportSamba() +{ + SThreadImageSave* pThread = MainWindow::GetCommonData()->GetThreadCaptureImage(); + disconnect(pThread, SIGNAL(SetProgressExportFile(int, int)), this, SLOT(SetProgressExportFile(int, int))); + disconnect(pThread, SIGNAL(SetProgressExportPercent(quint64, quint64)), this, SLOT(SetProgressExportPercent(quint64, quint64))); + disconnect(pThread, SIGNAL(SetProgressSync(bool)), this, SLOT(SetProgressSync(bool))); + + disconnect(this, SIGNAL(StartExport(int)), pThread, SLOT(StartExport(int))); + disconnect(this, SIGNAL(StopExport()), pThread, SLOT(StopExport())); + + disconnect(&m_TimerSync, SIGNAL(timeout()), this, SLOT(SyncUpdate())); + delete ui; +} + +void DialogExportSamba::on_pushButton_Cancel_clicked() +{ + StopExport(); + + if(m_TimerSync.isActive()==true) + { + m_TimerSync.stop(); + } + + Umount(); + + done(QDialog::Rejected); +} + +void DialogExportSamba::on_pushButton_Export_clicked() +{ + + m_nSyncCheckCount = 0; + //done(QDialog::Accepted); + + ui->label_InfoUSB->hide(); + + ui->label_InfoFile->show(); + ui->label_InfoProgress->show(); + ui->progressBar_File->show(); + ui->progressBar_Progress->show(); + + ui->progressBar_Progress->setRange(0, 100); + + ui->progressBar_Progress->setTextVisible(true); + + ui->progressBar_File->setTextVisible(true); + + ui->progressBar_File->setFormat("%v / %m File Exports"); + + update(); + + StartExport(m_nTypeExport); + + return; + + /* + int i=0; + for(i=1 ; i<101 ; i++) + { + ui->progressBar_Progress->setValue(i); + QThread::usleep(100*1000); + update(); + } + */ +} + + +void DialogExportSamba::SetProgressExportFile(int nProgress, int nTotal) +{ + ui->progressBar_File->setRange(1, nTotal); + ui->progressBar_File->setValue(nProgress); + + QString strInfo; + strInfo = QString("%1 / %2 File Exports").arg(nProgress).arg(nTotal); + ui->progressBar_File->setFormat(strInfo); +} + +void DialogExportSamba::SetProgressExportPercent(quint64 nProgress, quint64 nTotal) +{ + int nPercentage = (float)(100.0f*(float)nProgress/(float)nTotal); + + if(nPercentage>100) + { + nPercentage = 100; + } + + ui->progressBar_Progress->setRange(1, 100); + ui->progressBar_Progress->setValue(nPercentage); + + //ui->progressBar_Progress->setRange(1, nTotal); + //ui->progressBar_Progress->setValue(nProgress); + + ui->progressBar_Progress->resetFormat(); +} + +void DialogExportSamba::SetProgressSync(bool bComplete) +{ + if(bComplete==false) + { + m_TimerSync.setInterval(300); + m_TimerSync.start(); + + //ui->label_InfoProgress->hide(); + //ui->progressBar_Progress->hide(); + + //ui->label_InfoFile->setText("Export Sync"); + ui->label_InfoProgress->setText("Export Sync"); + + ui->pushButton_Export->setDisabled(true); + ui->pushButton_Export->hide(); + + //ui->pushButton_Cancel->setDisabled(true); + ui->pushButton_Cancel->setEnabled(true); + + ui->pushButton_Cancel->setGeometry(240, 310, 130, 40); + } + else + { + if(m_TimerSync.isActive()==true) + { + m_TimerSync.stop(); + + //ui->progressBar_File->setFormat("Export Complete"); + //ui->progressBar_Progress->setFormat("Export Complete"); + } + + + + } +} + +void DialogExportSamba::SyncUpdate() +{ + m_nSyncCheckCount++; + + m_nSyncCheckCount = m_nSyncCheckCount%10; + + QString strInfo; + + strInfo = " Export File Sync "; + int i=0; + for(i=0 ; iprogressBar_File->setFormat(strInfo); + ui->progressBar_Progress->setFormat(strInfo); +} + +void DialogExportSamba::Mount() +{ + SetExportEnable(true); + QString strInfo = "Ready to Export 'Shared Network'"; + + ui->pushButton_Export->click(); + + + SetInfoString(strInfo); + + return; + SambaClient* pSambaClient = MainWindow::GetCommonData()->GetSambaClient(); + //QString strInfo; + + bool bMount = pSambaClient->IsMount(); + + /* + if(bMount==false) + { + pSambaClient->Umount(); + pSambaClient->Mount(); + } + + + bMount = pSambaClient->IsMount(); + */ + if(bMount==false) + { + SetExportEnable(false); + //strInfo = m_strInfo; + strInfo = "Check Your Network Server!!"; + } + else + { + SetExportEnable(true); + strInfo = "Ready to Export 'Shared Network'"; + + ui->pushButton_Export->click(); + } + + SetInfoString(strInfo); + + +} + +void DialogExportSamba::Umount() +{ + return; + SambaClient* pSambaClient = MainWindow::GetCommonData()->GetSambaClient(); + + //pSambaClient->Umount(); + /* + if(m_bError==true) + { + return; + } + m_strInfo.clear(); + + QProcess process1; + + process1.setStandardOutputProcess(&m_Process2); + + process1.start("echo 1"); + m_Process2.start("sudo -S umount /home/birdhead/samba"); + m_Process2.setProcessChannelMode(QProcess::ForwardedChannels); + + // Wait for it to start + if(!process1.waitForStarted()) + return; + + bool retval = false; + QByteArray buffer; + // To be fair: you only need to wait here for a bit with shutdown, + // but I will still leave the rest here for a generic solution + while ((retval = m_Process2.waitForFinished())) + { + buffer.append(m_Process2.readAll()); + } + + + m_Process2.close(); + if(m_Process2.isOpen()==true) + { + m_Process2.terminate(); + } + + + + process1.close(); + if(process1.isOpen()==true) + { + process1.terminate(); + } + + + + buffer.clear(); + + if(m_bError==true) + { + SetInfoString(m_strInfo); + } + */ +} + + +void DialogExportSamba::SetExportComplete() +{ + ui->progressBar_File->setFormat("Export Complete"); + //ui->progressBar_Progress->setFormat("Export Complete"); + ui->label_InfoProgress->hide(); + ui->progressBar_Progress->hide(); + + Umount(); + + ui->pushButton_Cancel->setEnabled(true); + ui->pushButton_Cancel->click(); +} + +void DialogExportSamba::SetExportInit() +{ + ui->progressBar_File->setFormat(""); + //ui->progressBar_Progress->setFormat("Export Complete"); + ui->label_InfoProgress->show(); + ui->progressBar_Progress->show(); + + ui->pushButton_Cancel->setDisabled(false); +} + + +void DialogExportSamba::OnDeferredInit() +{ + Mount(); +} + + +void DialogExportSamba::SetInfoString(QString strInfo) +{ + ui->label_InfoUSB->setText(strInfo); +} + +void DialogExportSamba::SetExportEnable(bool bEnable) +{ + if(bEnable==true) + { + ui->pushButton_Export->setEnabled(true); + ui->pushButton_Cancel->setEnabled(true); + ui->pushButton_Retry->hide(); + ui->pushButton_Export->show(); + } + else + { + ui->pushButton_Retry->show(); + ui->pushButton_Export->hide(); + //ui->pushButton_Export->setDisabled(true); + //ui->pushButton_Export->hide(); + + //ui->pushButton_Cancel->setEnabled(true); + + //ui->pushButton_Cancel->setGeometry(240, 310, 130, 40); + } +} + +/* +void DialogExportSamba::Process1Finish(int nRet) +{ + QByteArray buffer; + buffer.append(m_Process1.readAll()); + +} + +void DialogExportSamba::Process1ReadyReadStandardOutput() +{ + QByteArray buffer; + buffer.append(m_Process1.readAllStandardOutput()); + + m_strInfo = buffer.toStdString().c_str(); +} + +void DialogExportSamba::Process1ReadyReadStandardError() +{ + QByteArray buffer; + buffer.append(m_Process1.readAllStandardError()); + + m_strInfo = buffer.toStdString().c_str(); + + m_bError = 1; +} + +void DialogExportSamba::Process2Finish(int nRet) +{ + QByteArray buffer; + buffer.append(m_Process2.readAll()); + +} + +void DialogExportSamba::Process2ReadyReadStandardOutput() +{ + QByteArray buffer; + buffer.append(m_Process2.readAllStandardOutput()); + + m_strInfo = buffer.toStdString().c_str(); +} + +void DialogExportSamba::Process2ReadyReadStandardError() +{ + QByteArray buffer; + buffer.append(m_Process2.readAllStandardError()); + + m_strInfo = buffer.toStdString().c_str(); + + if(m_strInfo.contains("not mounted")==false) + { + m_bError = 1; + } + else + { + + } + + +} + +*/ + +void DialogExportSamba::on_pushButton_Retry_clicked() +{ + SambaClient* pSambaClient = MainWindow::GetCommonData()->GetSambaClient(); + + if(pSambaClient->IsMount()==false) + { + Umount(); + Mount(); + } + + if(pSambaClient->IsMount()==true) + { + m_nSyncCheckCount = 0; + //done(QDialog::Accepted); + + ui->label_InfoUSB->hide(); + + ui->label_InfoFile->show(); + ui->label_InfoProgress->show(); + ui->progressBar_File->show(); + ui->progressBar_Progress->show(); + + ui->progressBar_Progress->setRange(0, 100); + + ui->progressBar_Progress->setTextVisible(true); + + ui->progressBar_File->setTextVisible(true); + + ui->progressBar_File->setFormat("%v / %m File Exports"); + + update(); + + StartExport(m_nTypeExport); + + } + + + + +} + + +void DialogExportSamba::reject() +{ + return; +} diff --git a/dialogexportsamba.h b/dialogexportsamba.h new file mode 100644 index 0000000..0710303 --- /dev/null +++ b/dialogexportsamba.h @@ -0,0 +1,82 @@ +#ifndef DIALOGEXPORTSAMBA_H +#define DIALOGEXPORTSAMBA_H + +#include + +#include + +#include + +namespace Ui { +class DialogExportSamba; +} + +class DialogExportSamba : public QDialog +{ + Q_OBJECT + +public: + explicit DialogExportSamba(QWidget *parent = 0); + ~DialogExportSamba(); + + int m_nTypeExport; + + int m_nStorageSize; + int m_nStorageFreeSize; + + int m_nSyncCheckCount; + + QTimer m_TimerSync; + QTimer m_TimerDeferred; + + //QProcess m_Process1; + //QProcess m_Process2; + + void SetInfoString(QString strInfo); + void SetExportEnable(bool bEnable); + + virtual void Mount(); + virtual void Umount(); + + virtual void reject(); + +protected: + QString m_strInfo; + int m_bError; + +public slots: + void SetProgressExportFile(int nProgress, int nTotal); + void SetProgressExportPercent(quint64 nProgress, quint64 nTotal); + void SetProgressSync(bool bSync); + + void SyncUpdate(); + + void SetExportComplete(); + void SetExportInit(); + + void OnDeferredInit(); + + //virtual void Process1Finish(int nRet); + //virtual void Process1ReadyReadStandardOutput(); + //virtual void Process1ReadyReadStandardError(); + + //virtual void Process2Finish(int nRet); + //virtual void Process2ReadyReadStandardOutput(); + //virtual void Process2ReadyReadStandardError(); + +signals: + void StartExport(int nType); + void StopExport(); + +private slots: + void on_pushButton_Cancel_clicked(); + + void on_pushButton_Export_clicked(); + + void on_pushButton_Retry_clicked(); + +private: + Ui::DialogExportSamba *ui; +}; + +#endif // DIALOGEXPORTSAMBA_H diff --git a/dialogexportsamba.ui b/dialogexportsamba.ui new file mode 100644 index 0000000..817e74b --- /dev/null +++ b/dialogexportsamba.ui @@ -0,0 +1,242 @@ + + + DialogExportSamba + + + + 0 + 0 + 603 + 388 + + + + Dialog + + + QDialog +{ + background: #f0f0f0; +} + + + + true + + + + 340 + 310 + 130 + 40 + + + + QPushButton +{ + background: #153B44; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: white; +} + +QPushButton:pressed +{ + background: #1B4C54; +} + +QPushButton:disabled +{ + background: #b4b4b4; + color: white; +} + + + Close + + + + + true + + + + 50 + 60 + 500 + 30 + + + + QProgressBar +{ + qproperty-alignment: 'AlignCenter'; +} + + + 24 + + + false + + + + + + 50 + 30 + 131 + 31 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + color: #101010; + qproperty-alignment: 'AlignVCenter | AlignLeft'; +} + + + Files + + + + + true + + + + 50 + 150 + 500 + 30 + + + + QProgressBar +{ + qproperty-alignment: 'AlignCenter'; +} + + + 24 + + + false + + + + + + 140 + 310 + 130 + 40 + + + + QPushButton +{ + background: #d0d0d0; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: #101010; +} + +QPushButton:pressed +{ + background: #c0c0c0; + color: #202020; +} + + + Export + + + + + + 0 + 260 + 430 + 31 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 24px; + font-weight: light; + color: #101010; + qproperty-alignment: 'AlignVCenter | AlignLeft'; +} + + + + + + + + + 50 + 120 + 131 + 31 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + color: #101010; + qproperty-alignment: 'AlignVCenter | AlignLeft'; +} + + + Progress + + + + + + 140 + 310 + 130 + 40 + + + + QPushButton +{ + background: #d0d0d0; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: #101010; +} + +QPushButton:pressed +{ + background: #c0c0c0; + color: #202020; +} + + + Retry + + + + + + diff --git a/dialogexportusb.cpp b/dialogexportusb.cpp new file mode 100644 index 0000000..d2684c0 --- /dev/null +++ b/dialogexportusb.cpp @@ -0,0 +1,572 @@ +#include "dialogexportusb.h" +#include "ui_dialogexportusb.h" + +#include + +#include + +#include + +#include + +#include "mainwindow.h" + +DialogExportUSB::DialogExportUSB(QWidget *parent) : + QDialog(parent), + ui(new Ui::DialogExportUSB) +{ + //setAttribute(Qt::WA_TranslucentBackground); + //setWindowFlags(Qt::CustomizeWindowHint); + setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog | Qt::Popup); + //setWindowFlags(Qt::FramelessWindowHint); + + + ui->setupUi(this); + + ui->label_InfoUSB->setGeometry(90, 60, 430, 190); + + ui->label_InfoFile->hide(); + ui->label_InfoProgress->hide(); + ui->progressBar_File->hide(); + ui->progressBar_Progress->hide(); + + + m_nSyncCheckCount = 0; + //done(QDialog::Accepted); + ui->progressBar_Progress->setRange(0, 100); + ui->progressBar_File->setRange(0, 100); + + ui->progressBar_File->setValue(0); + ui->progressBar_Progress->setValue(0); + + ui->progressBar_Progress->setTextVisible(true); + + ui->progressBar_File->setTextVisible(true); + + ui->progressBar_File->setFormat("%v / %m File Exports"); + + m_nTypeExport = 0; + + /* + QString strInfo; + + CommonData* pCommonData = MainWindow::GetCommonData(); + QString* pStrExternalDiskPath = pCommonData->GetExternalDiskPath(); + pStrExternalDiskPath->clear(); + + Mount(); + + foreach (const QStorageInfo &storage, QStorageInfo::mountedVolumes()) { + + qDebug() << storage.rootPath(); + if (storage.isReadOnly()) + qDebug() << "isReadOnly:" << storage.isReadOnly(); + + QString strName = storage.name(); + QString strDevice = storage.device(); + + + + if(strDevice.contains("/dev/sd")==true) + { + QStringList strList; + + + *pStrExternalDiskPath = storage.rootPath(); + + //strList << "name:" << storage.name(); + //strList << "fileSystemType:" << storage.fileSystemType(); + //strList << "size:" << storage.bytesTotal()/1000/1000 << "MB"; + //strList << "availableSize:" << storage.bytesAvailable()/1000/1000 << "MB"; + + strInfo = QString("name: %1\r\nFieSystemType: %2\r\nFull Size: %3 MBytes\r\nAvailable Size: %4 MBytes\r\nSystem Path: %5").arg(storage.name()).arg((QString)storage.fileSystemType()).arg(storage.bytesTotal()/1000/1000).arg(storage.bytesAvailable()/1000/1000).arg(storage.rootPath()); + + + + + + m_nStorageFreeSize = storage.bytesAvailable()/1000/1000; + m_nStorageSize = storage.bytesTotal()/1000/1000; + } + + + + + + } + + + ui->label_InfoUSB->setText(strInfo); + + if(m_nStorageFreeSize>100) + { + ui->pushButton_Export->setEnabled(true); + ui->pushButton_Cancel->setEnabled(true); + } + else + { + ui->pushButton_Export->setEnabled(false); + ui->pushButton_Cancel->setEnabled(true); + } + + */ + + + SThreadImageSave* pThread = MainWindow::GetCommonData()->GetThreadCaptureImage(); + connect(pThread, SIGNAL(SetProgressExportFile(int, int)), this, SLOT(SetProgressExportFile(int, int))); + connect(pThread, SIGNAL(SetProgressExportPercent(quint64, quint64)), this, SLOT(SetProgressExportPercent(quint64, quint64))); + connect(pThread, SIGNAL(SetProgressSync(bool)), this, SLOT(SetProgressSync(bool))); + connect(pThread, SIGNAL(SetExportInit()), this, SLOT(SetExportInit())); + connect(pThread, SIGNAL(SetExportComplete()), this, SLOT(SetExportComplete())); + + connect(this, SIGNAL(StartExport(int)), pThread, SLOT(StartExport(int))); + connect(this, SIGNAL(StopExport()), pThread, SLOT(StopExport())); + + connect(&m_TimerSync, SIGNAL(timeout()), this, SLOT(SyncUpdate())); + + connect(&m_TimerDeferred, SIGNAL(timeout()), this, SLOT(OnDeferredInit())); + + connect(&m_Process, SIGNAL(finished(int)), this, SLOT(ProcessFinish(int))); + connect(&m_Process, SIGNAL(readyReadStandardOutput()), this, SLOT(ProcessReadyReadStandardOutput())); + connect(&m_Process, SIGNAL(readyReadStandardError()), this, SLOT(ProcessReadyReadStandardError())); + + m_TimerDeferred.setSingleShot(true); + m_TimerDeferred.setInterval(100); + m_TimerDeferred.start(100); + +} + +DialogExportUSB::~DialogExportUSB() +{ + SThreadImageSave* pThread = MainWindow::GetCommonData()->GetThreadCaptureImage(); + disconnect(pThread, SIGNAL(SetProgressExportFile(int, int)), this, SLOT(SetProgressExportFile(int, int))); + disconnect(pThread, SIGNAL(SetProgressExportPercent(quint64, quint64)), this, SLOT(SetProgressExportPercent(quint64, quint64))); + disconnect(pThread, SIGNAL(SetProgressSync(bool)), this, SLOT(SetProgressSync(bool))); + + disconnect(this, SIGNAL(StartExport(int)), pThread, SLOT(StartExport(int))); + disconnect(this, SIGNAL(StopExport()), pThread, SLOT(StopExport())); + + disconnect(&m_TimerSync, SIGNAL(timeout()), this, SLOT(SyncUpdate())); + delete ui; +} + +void DialogExportUSB::on_pushButton_Cancel_clicked() +{ + StopExport(); + + if(m_TimerSync.isActive()==true) + { + m_TimerSync.stop(); + } + + Umount(); + + done(QDialog::Rejected); +} + +void DialogExportUSB::on_pushButton_Export_clicked() +{ + + m_nSyncCheckCount = 0; + //done(QDialog::Accepted); + + ui->label_InfoUSB->hide(); + + ui->label_InfoFile->show(); + ui->label_InfoProgress->show(); + ui->progressBar_File->show(); + ui->progressBar_Progress->show(); + + ui->progressBar_Progress->setRange(0, 100); + + ui->progressBar_Progress->setTextVisible(true); + + ui->progressBar_File->setTextVisible(true); + + ui->progressBar_File->setFormat("%v / %m File Exports"); + + update(); + + StartExport(m_nTypeExport); + + return; + + int i=0; + for(i=1 ; i<101 ; i++) + { + ui->progressBar_Progress->setValue(i); + QThread::usleep(100*1000); + + update(); + } +} + + +void DialogExportUSB::SetProgressExportFile(int nProgress, int nTotal) +{ + ui->progressBar_File->setRange(1, nTotal); + ui->progressBar_File->setValue(nProgress); + + QString strInfo; + strInfo = QString("%1 / %2 File Exports").arg(nProgress).arg(nTotal); + ui->progressBar_File->setFormat(strInfo); +} + +void DialogExportUSB::SetProgressExportPercent(quint64 nProgress, quint64 nTotal) +{ + int nPercentage = (float)(100.0f*(float)nProgress/(float)nTotal); + + if(nPercentage>100) + { + nPercentage = 100; + } + + ui->progressBar_Progress->setRange(1, 100); + ui->progressBar_Progress->setValue(nPercentage); + + //ui->progressBar_Progress->setRange(1, nTotal); + //ui->progressBar_Progress->setValue(nProgress); + + ui->progressBar_Progress->resetFormat(); +} + +void DialogExportUSB::SetProgressSync(bool bComplete) +{ + if(bComplete==false) + { + m_TimerSync.setInterval(300); + m_TimerSync.start(); + + //ui->label_InfoProgress->hide(); + //ui->progressBar_Progress->hide(); + + //ui->label_InfoFile->setText("Export Sync"); + ui->label_InfoProgress->setText("Export Sync"); + + ui->pushButton_Export->setDisabled(true); + ui->pushButton_Export->hide(); + + ui->pushButton_Cancel->setDisabled(true); + + ui->pushButton_Cancel->setGeometry(240, 310, 130, 40); + } + else + { + if(m_TimerSync.isActive()==true) + { + m_TimerSync.stop(); + + //ui->progressBar_File->setFormat("Export Complete"); + //ui->progressBar_Progress->setFormat("Export Complete"); + } + + + + } +} + +void DialogExportUSB::SyncUpdate() +{ + m_nSyncCheckCount++; + + m_nSyncCheckCount = m_nSyncCheckCount%10; + + QString strInfo; + + strInfo = " Export File Sync "; + int i=0; + for(i=0 ; iprogressBar_File->setFormat(strInfo); + ui->progressBar_Progress->setFormat(strInfo); +} + +void DialogExportUSB::Mount() +{ + QProcess process1; + QProcess process2; + + process1.setStandardOutputProcess(&process2); + + process1.start("echo 1"); +#ifdef _PC + process2.start("sudo -S mount -o uid=1000,gid=1000 /dev/sdb1 /home/birdhead/test"); +#else + process2.start("sudo -S mount -o uid=1000,gid=1000 /dev/sda1 /home/birdhead/test"); +#endif + process2.setProcessChannelMode(QProcess::ForwardedChannels); + + // Wait for it to start + if(!process1.waitForStarted()) + return; + + bool retval = false; + QByteArray buffer; + // To be fair: you only need to wait here for a bit with shutdown, + // but I will still leave the rest here for a generic solution + while ((retval = process2.waitForFinished())) + { + buffer.append(process2.readAll()); + } + + + process1.terminate(); + process2.terminate(); + + process1.waitForFinished(100); + process2.waitForFinished(100); + + process1.deleteLater(); + process2.deleteLater(); + + buffer.clear(); + + + + QString strInfo; + + CommonData* pCommonData = MainWindow::GetCommonData(); + QString* pStrExternalDiskPath = pCommonData->GetExternalDiskPath(); + pStrExternalDiskPath->clear(); + + foreach (const QStorageInfo &storage, QStorageInfo::mountedVolumes()) { + + qDebug() << storage.rootPath(); + if (storage.isReadOnly()) + qDebug() << "isReadOnly:" << storage.isReadOnly(); + + QString strName = storage.name(); + QString strDevice = storage.device(); + + + + if(strDevice.contains("/dev/sd")==true) + { + QStringList strList; + + + *pStrExternalDiskPath = storage.rootPath(); + + //strList << "name:" << storage.name(); + //strList << "fileSystemType:" << storage.fileSystemType(); + //strList << "size:" << storage.bytesTotal()/1000/1000 << "MB"; + //strList << "availableSize:" << storage.bytesAvailable()/1000/1000 << "MB"; + + strInfo = QString("name: %1\r\nFieSystemType: %2\r\nFull Size: %3 MBytes\r\nAvailable Size: %4 MBytes\r\nSystem Path: %5").arg(storage.name()).arg((QString)storage.fileSystemType()).arg(storage.bytesTotal()/1000/1000).arg(storage.bytesAvailable()/1000/1000).arg(storage.rootPath()); + + + + + + m_nStorageFreeSize = storage.bytesAvailable()/1000/1000; + m_nStorageSize = storage.bytesTotal()/1000/1000; + } + + + + + + } + + SetInfoString(strInfo); + + if(m_nStorageFreeSize>100) + { + SetExportEnable(true); + } + else + { + SetExportEnable(false); + } + + /* + ui->label_InfoUSB->setText(strInfo); + + if(m_nStorageFreeSize>100) + { + ui->pushButton_Export->setEnabled(true); + ui->pushButton_Cancel->setEnabled(true); + } + else + { + ui->pushButton_Export->setEnabled(false); + ui->pushButton_Cancel->setEnabled(true); + } + */ +} + +void DialogExportUSB::Umount() +{ + QProcess process1; + QProcess process2; + + process1.setStandardOutputProcess(&process2); + + process1.start("echo 1"); + process2.start("sudo -S umount /home/birdhead/test"); + process2.setProcessChannelMode(QProcess::ForwardedChannels); + + // Wait for it to start + if(!process1.waitForStarted()) + return; + + bool retval = false; + QByteArray buffer; + // To be fair: you only need to wait here for a bit with shutdown, + // but I will still leave the rest here for a generic solution + while ((retval = process2.waitForFinished())) + { + buffer.append(process2.readAll()); + } + + + process1.terminate(); + process2.terminate(); + + process1.waitForFinished(100); + process2.waitForFinished(100); + + process1.deleteLater(); + process2.deleteLater(); + + buffer.clear(); +} + + +void DialogExportUSB::SetExportComplete() +{ + ui->progressBar_File->setFormat("Export Complete"); + //ui->progressBar_Progress->setFormat("Export Complete"); + ui->label_InfoProgress->hide(); + ui->progressBar_Progress->hide(); + + ui->pushButton_Cancel->setDisabled(false); + + Umount(); +} + +void DialogExportUSB::SetExportInit() +{ + ui->progressBar_File->setFormat(""); + //ui->progressBar_Progress->setFormat("Export Complete"); + ui->label_InfoProgress->show(); + ui->progressBar_Progress->show(); + + ui->pushButton_Cancel->setDisabled(false); +} + + +void DialogExportUSB::OnDeferredInit() +{ + QString strInfo; + + CommonData* pCommonData = MainWindow::GetCommonData(); + QString* pStrExternalDiskPath = pCommonData->GetExternalDiskPath(); + pStrExternalDiskPath->clear(); + + Mount(); + + /* + foreach (const QStorageInfo &storage, QStorageInfo::mountedVolumes()) { + + qDebug() << storage.rootPath(); + if (storage.isReadOnly()) + qDebug() << "isReadOnly:" << storage.isReadOnly(); + + QString strName = storage.name(); + QString strDevice = storage.device(); + + + + if(strDevice.contains("/dev/sd")==true) + { + QStringList strList; + + + *pStrExternalDiskPath = storage.rootPath(); + + //strList << "name:" << storage.name(); + //strList << "fileSystemType:" << storage.fileSystemType(); + //strList << "size:" << storage.bytesTotal()/1000/1000 << "MB"; + //strList << "availableSize:" << storage.bytesAvailable()/1000/1000 << "MB"; + + strInfo = QString("name: %1\r\nFieSystemType: %2\r\nFull Size: %3 MBytes\r\nAvailable Size: %4 MBytes\r\nSystem Path: %5").arg(storage.name()).arg((QString)storage.fileSystemType()).arg(storage.bytesTotal()/1000/1000).arg(storage.bytesAvailable()/1000/1000).arg(storage.rootPath()); + + + + + + m_nStorageFreeSize = storage.bytesAvailable()/1000/1000; + m_nStorageSize = storage.bytesTotal()/1000/1000; + } + + + + + + } + + + SetInfoString(strInfo); + + if(m_nStorageFreeSize>100) + { + SetExportEnable(true); + } + else + { + SetExportEnable(false); + } + */ +} + + +void DialogExportUSB::ProcessFinish(int nRet) +{ + +} + +void DialogExportUSB::ProcessReadyReadStandardOutput() +{ + +} + +void DialogExportUSB::ProcessReadyReadStandardError() +{ + +} + +void DialogExportUSB::SetInfoString(QString strInfo) +{ + ui->label_InfoUSB->setText(strInfo); +} + +void DialogExportUSB::SetExportEnable(bool bEnable) +{ + if(bEnable==true) + { + ui->pushButton_Export->setEnabled(true); + ui->pushButton_Cancel->setEnabled(true); + } + else + { + //ui->pushButton_Export->setEnabled(false); + //ui->pushButton_Cancel->setEnabled(true); + + ui->pushButton_Export->setDisabled(true); + ui->pushButton_Export->hide(); + + ui->pushButton_Cancel->setEnabled(true); + + ui->pushButton_Cancel->setGeometry(240, 310, 130, 40); + } +} + + +void DialogExportUSB::reject() +{ + return; +} diff --git a/dialogexportusb.h b/dialogexportusb.h new file mode 100644 index 0000000..123bd00 --- /dev/null +++ b/dialogexportusb.h @@ -0,0 +1,70 @@ +#ifndef DIALOGEXPORTUSB_H +#define DIALOGEXPORTUSB_H + +#include +#include + +#include + +namespace Ui { +class DialogExportUSB; +} + +class DialogExportUSB : public QDialog +{ + Q_OBJECT + +public: + explicit DialogExportUSB(QWidget *parent = 0); + ~DialogExportUSB(); + + int m_nTypeExport; + + int m_nStorageSize; + int m_nStorageFreeSize; + + int m_nSyncCheckCount; + + QTimer m_TimerSync; + QTimer m_TimerDeferred; + + QProcess m_Process; + + void SetInfoString(QString strInfo); + void SetExportEnable(bool bEnable); + + virtual void Mount(); + virtual void Umount(); + + virtual void reject(); + +public slots: + void SetProgressExportFile(int nProgress, int nTotal); + void SetProgressExportPercent(quint64 nProgress, quint64 nTotal); + void SetProgressSync(bool bSync); + + void SyncUpdate(); + + void SetExportComplete(); + void SetExportInit(); + + void OnDeferredInit(); + + virtual void ProcessFinish(int nRet); + virtual void ProcessReadyReadStandardOutput(); + virtual void ProcessReadyReadStandardError(); + +signals: + void StartExport(int nType); + void StopExport(); + +private slots: + void on_pushButton_Cancel_clicked(); + + void on_pushButton_Export_clicked(); + +private: + Ui::DialogExportUSB *ui; +}; + +#endif // DIALOGEXPORTUSB_H diff --git a/dialogexportusb.ui b/dialogexportusb.ui new file mode 100644 index 0000000..05fbd5f --- /dev/null +++ b/dialogexportusb.ui @@ -0,0 +1,215 @@ + + + DialogExportUSB + + + Qt::ApplicationModal + + + + 0 + 0 + 603 + 388 + + + + Dialog + + + QDialog +{ + background: #f0f0f0; +} + + + + true + + + + 340 + 310 + 130 + 40 + + + + QPushButton +{ + background: #153B44; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: white; +} + +QPushButton:pressed +{ + background: #1B4C54; +} + +QPushButton:disabled +{ + background: #b4b4b4; + color: white; +} + + + Close + + + + + + 140 + 310 + 130 + 40 + + + + QPushButton +{ + background: #d0d0d0; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: #101010; +} + +QPushButton:pressed +{ + background: #c0c0c0; + color: #202020; +} + + + Export + + + + + + 0 + 300 + 430 + 190 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 24px; + font-weight: light; + color: #101010; + qproperty-alignment: 'AlignVCenter | AlignLeft'; +} + + + + + + + + + 50 + 30 + 131 + 31 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + color: #101010; + qproperty-alignment: 'AlignVCenter | AlignLeft'; +} + + + Files + + + + + + 50 + 120 + 131 + 31 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + color: #101010; + qproperty-alignment: 'AlignVCenter | AlignLeft'; +} + + + Progress + + + + + true + + + + 50 + 60 + 500 + 30 + + + + QProgressBar +{ + qproperty-alignment: 'AlignCenter'; +} + + + 24 + + + false + + + + + true + + + + 50 + 150 + 500 + 30 + + + + QProgressBar +{ + qproperty-alignment: 'AlignCenter'; +} + + + 24 + + + false + + + + + + diff --git a/dialoglogin.cpp b/dialoglogin.cpp new file mode 100644 index 0000000..8e0bae5 --- /dev/null +++ b/dialoglogin.cpp @@ -0,0 +1,131 @@ +#include "dialoglogin.h" +#include "ui_dialoglogin.h" +#include "mainwindow.h" + +#include + +DialogLogin::DialogLogin(QWidget *parent) : + QDialog(parent), + ui(new Ui::DialogLogin) +{ + setAttribute(Qt::WA_TranslucentBackground); + setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog | Qt::Popup); + ui->setupUi(this); + + setGeometry(0, 0, 1280, 1024); + + ui->lineEdit_Password->setEchoMode(QLineEdit::Password); + ui->lineEdit_ID->setFocus(); + + connect(ui->lineEdit_ID, SIGNAL(returnPressed()), this, SLOT(OnReturnPressed())); + connect(ui->lineEdit_Password, SIGNAL(returnPressed()), this, SLOT(OnReturnPressed())); + + +} + +DialogLogin::~DialogLogin() +{ + disconnect(ui->lineEdit_ID, SIGNAL(returnPressed()), this, SLOT(OnReturnPressed())); + disconnect(ui->lineEdit_Password, SIGNAL(returnPressed()), this, SLOT(OnReturnPressed())); + + delete ui; +} + +void DialogLogin::OnReturnPressed() +{ + ui->pushButton_OK->click(); +} + +void DialogLogin::resizeEvent(QResizeEvent *event) +{ + int nDisplayType = MainWindow::GetCommonData()->GetDisplayType(); + if(nDisplayType==SDISPLAY_1280X1024) + { + ui->frame->setGeometry((1280-600)/2, (1080-340)/2, 600, 340); + //ui->label->setGeometry(0, 30, 1080, 80); + //ui->pushButton->setGeometry(1080/2-250/2, 124, 250, 60); + } + else if(nDisplayType==SDISPLAY_1920X1080) + { + //ui->frame_info->setGeometry(100, 400, 1720, 200); + //ui->label->setGeometry(0, 30, 1720, 80); + //ui->pushButton->setGeometry(728, 124, 271, 61); + } +} + +void DialogLogin::on_pushButton_OK_clicked() +{ + + QString strID = ui->lineEdit_ID->text(); + QString strPassword = ui->lineEdit_Password->text(); + + bool bLoginSuccess = false; + + // 1. 이 로그인 확인 작업을 위한 지역 DB 인스턴스를 생성합니다. + SUTIL::SDatabase db(QString("LoginCheck_%1").arg(reinterpret_cast(this))); + if (db.OpenDatabase("/home/birdhead/test.db") == 0) // 0이 성공 + { + // 2. 보안과 효율을 위해 COUNT(*) 쿼리와 '?' 플레이스홀더를 사용합니다. + QString query = "SELECT COUNT(*) FROM LoginUser WHERE LoginID = ? AND LoginPassword = ?;"; + + // 3. 사용자 입력을 안전하게 파라미터로 전달합니다. + QVariantList params; + params << strID << strPassword; + + // 4. executeScalar 헬퍼를 사용해 일치하는 사용자의 '수'를 가져옵니다. + // 이 수가 0보다 크면, 로그인 정보가 일치하는 것입니다. + if (db.executeScalar(query, params).toInt() > 0) + { + bLoginSuccess = true; + } + } + else + { + qWarning() << "DB open failed for login check."; + // 필요에 따라 사용자에게 DB 오류 메시지 표시 + } + + // 5. 최종 결과에 따라 다이얼로그를 닫습니다. + if (bLoginSuccess) + { + done(QDialog::Accepted); + } + else + { + // 로그인 실패 시 사용자에게 알림 (예: QMessageBox) + QMessageBox::warning(this, "Login Failed", "Invalid ID or password."); + // 기존 코드처럼 실패 시 아무것도 안 하려면 이 else 블록을 비워두거나 제거합니다. + } + + /* + QString strID; + QString strPassword; + + strID = ui->lineEdit_ID->text(); + strPassword = ui->lineEdit_Password->text(); + + QString strQuery; + strQuery = QString("select * from LoginUser where LoginID='%1' and LoginPassword='%2';").arg(strID).arg(strPassword); + + + CommonData* pCommonData = MainWindow::GetCommonData(); + SDatabase* pDatabase = pCommonData->GetDatabase(); + pDatabase->ExecuteQuery(strQuery); + QList* pResult = pDatabase->GetResult(); + + if(pResult->size()>0) + { + pCommonData->ReleaseDatabase(); + done(QDialog::Accepted); + } + else + { + pCommonData->ReleaseDatabase(); + } + */ +} + +void DialogLogin::reject() +{ + +} diff --git a/dialoglogin.h b/dialoglogin.h new file mode 100644 index 0000000..3a0a7ed --- /dev/null +++ b/dialoglogin.h @@ -0,0 +1,33 @@ +#ifndef DIALOGLOGIN_H +#define DIALOGLOGIN_H + +#include + +namespace Ui { +class DialogLogin; +} + +class DialogLogin : public QDialog +{ + Q_OBJECT + +public: + explicit DialogLogin(QWidget *parent = 0); + ~DialogLogin(); + +public: + virtual void resizeEvent(QResizeEvent *event); + + virtual void reject(); + +public slots: + void OnReturnPressed(); + +private slots: + void on_pushButton_OK_clicked(); + +private: + Ui::DialogLogin *ui; +}; + +#endif // DIALOGLOGIN_H diff --git a/dialoglogin.ui b/dialoglogin.ui new file mode 100644 index 0000000..43210cb --- /dev/null +++ b/dialoglogin.ui @@ -0,0 +1,248 @@ + + + DialogLogin + + + Qt::ApplicationModal + + + + 0 + 0 + 1920 + 1080 + + + + Dialog + + + + + 0 + 0 + 1920 + 1080 + + + + QFrame#frame_background +{ + background: #40202020; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 550 + 390 + 600 + 340 + + + + background: white; + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 250 + 200 + 311 + 41 + + + + QLineEdit +{ +font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; + qproperty-alignment: 'AlignVCenter | AlignLeft'; +} + + + + + + + QLineEdit::PasswordEchoOnEdit + + + User Password + + + + + + 330 + 270 + 171 + 51 + + + + QPushButton +{ + background: gray; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: white; +} + +QPushButton:pressed +{ + background: #c0c0c0; +} + + + Cancel + + + + + + 240 + 20 + 131 + 61 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 30px; + font-weight: bold; + color: #000000; + qproperty-alignment: 'AlignVCenter | AlignHCenter'; +} + + + Login + + + + + + 120 + 270 + 171 + 51 + + + + QPushButton +{ + background: #153B44; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: white; +} + +QPushButton:pressed +{ + background: #1B4C54; +} + + + OK + + + + + + 250 + 140 + 311 + 41 + + + + QLineEdit +{ +font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; + qproperty-alignment: 'AlignVCenter | AlignLeft'; +} + + + + + + + User ID + + + + + + 70 + 140 + 151 + 41 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; + qproperty-alignment: 'AlignVCenter | AlignRight'; +} + + + ID: + + + + + + 70 + 200 + 151 + 41 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; + qproperty-alignment: 'AlignVCenter | AlignRight'; +} + + + Password: + + + + + + + + diff --git a/dialogloginuseradd.cpp b/dialogloginuseradd.cpp new file mode 100644 index 0000000..172f375 --- /dev/null +++ b/dialogloginuseradd.cpp @@ -0,0 +1,78 @@ +#include "dialogloginuseradd.h" +#include "ui_dialogloginuseradd.h" + +#include + +#include "mainwindow.h" + +DialogLoginUserAdd::DialogLoginUserAdd(QWidget *parent) : + QDialog(parent), + ui(new Ui::DialogLoginUserAdd) +{ + setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog | Qt::Popup); + + ui->setupUi(this); + + ui->lineEdit_Password->setEchoMode(QLineEdit::Password); + ui->lineEdit_Password_Confirm->setEchoMode(QLineEdit::Password); + + ui->label_Password_Check->setVisible(false); + + ui->lineEdit_ID->setFocus(); +} + +DialogLoginUserAdd::~DialogLoginUserAdd() +{ + delete ui; +} + +void DialogLoginUserAdd::on_pushButton_OK_clicked() +{ + QString strID = ui->lineEdit_ID->text(); + QString strPassword = ui->lineEdit_Password->text(); + QString strPasswordConfirm = ui->lineEdit_Password_Confirm->text(); + + if(strPassword!=strPasswordConfirm) + { + ui->label_Password_Check->setVisible(true); + } + else + { + ui->label_Password_Check->setVisible(false); + + bool bSuccess = false; + // 1. 이 작업을 위한 지역 DB 인스턴스를 생성합니다. + SUTIL::SDatabase db(QString("AddUser_%1").arg(reinterpret_cast(this))); + if (db.OpenDatabase("/home/birdhead/test.db") == 0) // 0이 성공 + { + // 2. 파라미터 바인딩을 사용하여 SQL Injection을 완벽하게 방어합니다. + QString query = "INSERT INTO LoginUser (LoginID, LoginPassword) VALUES (?, ?);"; + + QVariantList params; + params << strID << strPassword; + + // 3. ExecuteNonQuery의 반환 값(bool)을 확인하여 작업 성공 여부를 판단합니다. + if (db.ExecuteNonQuery(query, params)) { + bSuccess = true; + } else { + // INSERT 실패 시 (예: 동일한 ID가 이미 존재할 경우) 사용자에게 오류를 알립니다. + QMessageBox::warning(this, "Creation Failed", "Failed to add new user.\nThe ID might already exist."); + } + } + else + { + QMessageBox::critical(this, "Database Error", "Could not connect to the database."); + } + + // 4. 데이터베이스 작업이 성공했을 때만 다이얼로그를 닫습니다. + if (bSuccess) + { + done(QDialog::Accepted); + } + } +} + +void DialogLoginUserAdd::on_pushButton_Cancel_clicked() +{ + done(QDialog::Rejected); +} diff --git a/dialogloginuseradd.h b/dialogloginuseradd.h new file mode 100644 index 0000000..d14974b --- /dev/null +++ b/dialogloginuseradd.h @@ -0,0 +1,27 @@ +#ifndef DIALOGLOGINUSERADD_H +#define DIALOGLOGINUSERADD_H + +#include + +namespace Ui { +class DialogLoginUserAdd; +} + +class DialogLoginUserAdd : public QDialog +{ + Q_OBJECT + +public: + explicit DialogLoginUserAdd(QWidget *parent = 0); + ~DialogLoginUserAdd(); + +private slots: + void on_pushButton_OK_clicked(); + + void on_pushButton_Cancel_clicked(); + +private: + Ui::DialogLoginUserAdd *ui; +}; + +#endif // DIALOGLOGINUSERADD_H diff --git a/dialogloginuseradd.ui b/dialogloginuseradd.ui new file mode 100644 index 0000000..67a023d --- /dev/null +++ b/dialogloginuseradd.ui @@ -0,0 +1,305 @@ + + + DialogLoginUserAdd + + + + 0 + 0 + 598 + 468 + + + + Dialog + + + + + 0 + 0 + 600 + 471 + + + + background: white; + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 250 + 180 + 311 + 41 + + + + QLineEdit +{ +font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; + qproperty-alignment: 'AlignVCenter | AlignLeft'; +} + + + + + + + QLineEdit::PasswordEchoOnEdit + + + User Password + + + + + + 330 + 370 + 171 + 51 + + + + QPushButton +{ + background: gray; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: white; +} + +QPushButton:pressed +{ + background: #c0c0c0; +} + + + Cancel + + + + + + 90 + 20 + 441 + 61 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 30px; + font-weight: bold; + color: #000000; + qproperty-alignment: 'AlignVCenter | AlignHCenter'; +} + + + Add User + + + + + + 110 + 370 + 171 + 51 + + + + QPushButton +{ + background: #153B44; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: white; +} + +QPushButton:pressed +{ + background: #1B4C54; +} + + + OK + + + + + + 250 + 120 + 311 + 41 + + + + QLineEdit +{ +font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; + qproperty-alignment: 'AlignVCenter | AlignLeft'; +} + + + + + + + User ID + + + + + + 70 + 120 + 151 + 41 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; + qproperty-alignment: 'AlignVCenter | AlignRight'; +} + + + ID: + + + + + + 70 + 180 + 151 + 41 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; + qproperty-alignment: 'AlignVCenter | AlignRight'; +} + + + Password: + + + + + + 70 + 240 + 151 + 41 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; + qproperty-alignment: 'AlignVCenter | AlignRight'; +} + + + Confirm: + + + + + + 250 + 240 + 311 + 41 + + + + QLineEdit +{ +font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; + qproperty-alignment: 'AlignVCenter | AlignLeft'; +} + + + + + + + QLineEdit::PasswordEchoOnEdit + + + User Password + + + + + + 250 + 300 + 301 + 31 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 18px; + font-weight: bold; + color: #000000; + qproperty-alignment: 'AlignVCenter | AlignLeft'; +} + + + Check Password Again + + + + + + lineEdit_ID + lineEdit_Password + lineEdit_Password_Confirm + pushButton_OK + pushButton_Cancel + + + + diff --git a/dialogmisscapture.cpp b/dialogmisscapture.cpp new file mode 100644 index 0000000..0b8afbe --- /dev/null +++ b/dialogmisscapture.cpp @@ -0,0 +1,89 @@ +#include "dialogmisscapture.h" +#include "ui_dialogmisscapture.h" + +#include "mainwindow.h" + +DialogMissCapture::DialogMissCapture(QWidget *parent) : + QDialog(parent), + ui(new Ui::DialogMissCapture) +{ + setAttribute(Qt::WA_TranslucentBackground); + //setWindowFlags(Qt::CustomizeWindowHint); + setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog | Qt::Popup | Qt::WindowStaysOnTopHint); + + //setWindowFlags(Qt::FramelessWindowHint); + + + ui->setupUi(this); +} + +DialogMissCapture::~DialogMissCapture() +{ + delete ui; +} + +void DialogMissCapture::resizeEvent(QResizeEvent *event) +{ + int nDisplayType = MainWindow::GetCommonData()->GetDisplayType(); + if(nDisplayType==SDISPLAY_1280X1024) + { + ui->frame_info->setGeometry(100, 400, 1080, 200); + ui->label->setGeometry(0, 30, 1080, 80); + ui->pushButton->setGeometry(1080/2-250/2, 124, 250, 60); + } + else if(nDisplayType==SDISPLAY_1920X1080) + { + ui->frame_info->setGeometry(100, 400, 1720, 200); + ui->label->setGeometry(0, 30, 1720, 80); + ui->pushButton->setGeometry(728, 124, 271, 61); + } +} + +void DialogMissCapture::Show() +{ + show(); +} + +void DialogMissCapture::on_pushButton_clicked() +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + //pCommonData->ClearCaptureImage(); + pCommonData->GetThreadCaptureImage()->ClearMissCapture(); + + hide(); +} + + +void DialogMissCapture::SetErrorType(int nType) +{ + QString strErrorMessage; + + if(nType==0) + { + strErrorMessage = "Check Patient Selection!!"; + } + else if(nType==0x01) + { + strErrorMessage = "Error: Database Check!"; + } + else if(nType==0x02) + { + strErrorMessage = "Error: Lock Check!"; + } + else if(nType==0x04) + { + strErrorMessage = "Error: Image File Write!"; + } + else if(nType==0x08) + { + strErrorMessage = "Error: Create Study!"; + } + + SetErrorString(strErrorMessage); +} + +void DialogMissCapture::SetErrorString(const QString strErrorMessage) +{ + ui->label->setText(strErrorMessage); + ui->pushButton->setEnabled(true); +} diff --git a/dialogmisscapture.h b/dialogmisscapture.h new file mode 100644 index 0000000..c201580 --- /dev/null +++ b/dialogmisscapture.h @@ -0,0 +1,33 @@ +#ifndef DIALOGMISSCAPTURE_H +#define DIALOGMISSCAPTURE_H + +#include + +namespace Ui { +class DialogMissCapture; +} + +class DialogMissCapture : public QDialog +{ + Q_OBJECT + +public: + explicit DialogMissCapture(QWidget *parent = 0); + ~DialogMissCapture(); + + void SetErrorType(int nType); + void SetErrorString(const QString strErrorMessage); + + void Show(); + +public: + virtual void resizeEvent(QResizeEvent *event); + +private slots: + void on_pushButton_clicked(); + +private: + Ui::DialogMissCapture *ui; +}; + +#endif // DIALOGMISSCAPTURE_H diff --git a/dialogmisscapture.ui b/dialogmisscapture.ui new file mode 100644 index 0000000..403510c --- /dev/null +++ b/dialogmisscapture.ui @@ -0,0 +1,114 @@ + + + DialogMissCapture + + + + 0 + 0 + 1920 + 1080 + + + + Dialog + + + QDialog +{ + background: transparent; + border: none; +} + + + + + 0 + 0 + 1920 + 1080 + + + + QFrame#frame_background +{ + background: #40202020; + border: none; +} + + + + + + 100 + 400 + 1720 + 200 + + + + background: white; + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 0 + 30 + 1720 + 80 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 30px; + font-weight: bold; + color: #000000; + qproperty-alignment: 'AlignVCenter | AlignHCenter'; +} + + + Check Patient Selection!! + + + + + + 728 + 124 + 271 + 61 + + + + QPushButton +{ + background: #153B44; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: white; +} + +QPushButton:pressed +{ + background: #1B4C54; +} + + + OK + + + + + + + diff --git a/dialogpowerbutton.cpp b/dialogpowerbutton.cpp new file mode 100644 index 0000000..420bf1a --- /dev/null +++ b/dialogpowerbutton.cpp @@ -0,0 +1,96 @@ +#include "dialogpowerbutton.h" +#include "ui_dialogpowerbutton.h" + +#include "mainwindow.h" + +#include +#include + +DialogPowerButton::DialogPowerButton(QWidget *parent) : + QDialog(parent), + ui(new Ui::DialogPowerButton) +{ + setAttribute(Qt::WA_TranslucentBackground); + //setWindowFlags(Qt::CustomizeWindowHint); + setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog | Qt::Popup); + + ui->setupUi(this); + + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + + connect(this, SIGNAL(SendCaptureFootSwitch()), pMainWindow, SLOT(CaptureFootSwitch())); + + + ui->pushButton_shutdown->setVisible(false); + + + +} + +DialogPowerButton::~DialogPowerButton() +{ + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + + disconnect(this, SIGNAL(SendCaptureFootSwitch()), pMainWindow, SLOT(CaptureFootSwitch())); + + delete ui; +} + +void DialogPowerButton::on_pushButton_cancel_clicked() +{ + done(QDialog::Rejected); +} + +void DialogPowerButton::on_pushButton_shutdown_clicked() +{ + //QProcess::execute("shutdown -P now"); + QProcess process; + + process.start("shutdown -P now"); + process.waitForFinished(); +} + +void DialogPowerButton::on_pushButton_restart_clicked() +{ + QProcess::execute("shutdown -r now"); +} + +void DialogPowerButton::paintEvent(QPaintEvent *event) +{ + /* + QPainter painter(this); + QSize nSize = size(); + int nPaddingLeft = 0; + + QRect rectDisplay = QRect(nPaddingLeft, 0, nSize.width()-nPaddingLeft, nSize.height()); + + QColor colorBackground; + + painter.setRenderHint(QPainter::SmoothPixmapTransform); + + colorBackground = Qt::white; + if(m_pImageBackground!=NULL) + { + //painter.fillRect(QRect(0, 0, nSize.width(), nSize.height()), Qt::black); + + painter.drawImage(rectDisplay, *m_pImageBackground); + painter.fillRect(QRect(0, 0, nSize.width(), nSize.height()), QColor(0, 0, 0, 128)); + return; + } + */ +} + + +void DialogPowerButton::keyReleaseEvent(QKeyEvent *event) +{ + int nKey = event->key(); + + if(nKey==Qt::Key_F10) + { + SendCaptureFootSwitch(); + } + else if(nKey==Qt::Key_F11) + { + SendCaptureFootSwitch(); + } +} diff --git a/dialogpowerbutton.h b/dialogpowerbutton.h new file mode 100644 index 0000000..63249b5 --- /dev/null +++ b/dialogpowerbutton.h @@ -0,0 +1,38 @@ +#ifndef DIALOGPOWERBUTTON_H +#define DIALOGPOWERBUTTON_H + +#include + +namespace Ui { +class DialogPowerButton; +} + +class DialogPowerButton : public QDialog +{ + Q_OBJECT + +public: + explicit DialogPowerButton(QWidget *parent = 0); + ~DialogPowerButton(); + + virtual void keyReleaseEvent(QKeyEvent *event); + +private slots: + void on_pushButton_cancel_clicked(); + + void on_pushButton_shutdown_clicked(); + + void on_pushButton_restart_clicked(); + +signals: + void SendCaptureFootSwitch(); + + +protected: + virtual void paintEvent(QPaintEvent *event); + +private: + Ui::DialogPowerButton *ui; +}; + +#endif // DIALOGPOWERBUTTON_H diff --git a/dialogpowerbutton.ui b/dialogpowerbutton.ui new file mode 100644 index 0000000..6fd9fd4 --- /dev/null +++ b/dialogpowerbutton.ui @@ -0,0 +1,118 @@ + + + DialogPowerButton + + + Qt::ApplicationModal + + + + 0 + 0 + 500 + 300 + + + + Dialog + + + QDialog +{ + background: transparent; + border: 2px white; +} + + + + + 0 + 0 + 500 + 300 + + + + QFrame#frame_background +{ + background: none; + background-color: white; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 200 + 220 + 89 + 25 + + + + + + + Shutdown + + + + + + 110 + 160 + 89 + 25 + + + + Cancel + + + + + + 280 + 160 + 89 + 25 + + + + Restart + + + + + + 0 + 40 + 501 + 71 + + + + QLabel + { + font-family: 'Roboto'; + font-size: 20px; + font-weight: bold; + color: black; + + qproperty-alignment: 'AlignHCenter | AlignVCenter'; + } + + + Restart ? + + + + + + + diff --git a/dialogprogress.cpp b/dialogprogress.cpp new file mode 100644 index 0000000..f043ab8 --- /dev/null +++ b/dialogprogress.cpp @@ -0,0 +1,437 @@ +#include "dialogprogress.h" +#include "ui_dialogprogress.h" + +#include "mainwindow.h" + +DialogProgress::DialogProgress(QWidget *parent) : + QDialog(parent), + ui(new Ui::DialogProgress) +{ + ui->setupUi(this); + + m_bAutoRetryDICOMSend = false; + + //setWindowFlags(Qt::Window | Qt::FramelessWindowHint); + //setAttribute(Qt::WA_TranslucentBackground); + //setWindowFlags(Qt::CustomizeWindowHint); + setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog | Qt::Popup); + + ui->pushButton_Cancel->hide(); + ui->pushButton_Send->hide(); + + m_bError = false; + + connect(&m_TimerDisplay, SIGNAL(timeout()), this, SLOT(OnTimerCalled())); +} + +DialogProgress::~DialogProgress() +{ + disconnect(&m_TimerDisplay, SIGNAL(timeout()), this, SLOT(OnTimerCalled())); + delete ui; +} + + +int DialogProgress::exec() +{ + int nRet = 0; + + //MainWindow* pMainWindow = MainWindow::GetMainWindow(); + + //int nCheck = pMainWindow->CheckAliveWorklist(); + + QString strText; + + //if(nCheck<1) + { + strText = ui->progressBar->text(); + //ui->label_Info->hide(); + + //ChangeProgress(0); + } + + //ui->pushButton_Cancel->hide(); + + nRet = QDialog::exec(); + + + + + return nRet; +} + + + + +void DialogProgress::ChangeProgress(int nProgress) +{ + ui->progressBar->hide(); + ui->label_Info->show(); + ui->label_Info->setText("4 Images Send Complete!"); + //ui->label_Info->setText("4 Images Delete!"); + ui->pushButton_Cancel->setText("OK"); +} + +void DialogProgress::on_pushButton_Cancel_clicked() +{ + if(m_nType&0x10) + { + CommonData* pCommonData = MainWindow::GetCommonData(); + SThreadSendDICOM* pThreadSendDICOM = pCommonData->GetThreadSendDICOM(); + + if(pThreadSendDICOM->GetCurrentState()&0x40) + { + pThreadSendDICOM->SetExitSendImageList(); + + while(pThreadSendDICOM->IsExitSendImageList()==true) + { + usleep(10*1000); + } + + } + + } + if(m_TimerDisplay.isActive()==true) + { + m_TimerDisplay.stop(); + } + done(QDialog::Rejected); +} + + +void DialogProgress::OnWorklistComplete() +{ + if(m_TimerDisplay.isActive()==true) + { + m_TimerDisplay.stop(); + } + + done(QDialog::Accepted); +} + +void DialogProgress::OnWorklistError() +{ + DisplayInfo(-1); + //if(m_TimerDisplay.isActive()==true) + { + //m_TimerDisplay.stop(); + } + + //done(QDialog::Accepted); +} + +void DialogProgress::SendComplete() +{ + m_strSendInfo = QString("Send Complete!!"); + ui->pushButton_Cancel->show(); + ui->pushButton_Cancel->setText("OK"); + update(); + + //QThread::msleep(1000); + m_bSendComplete = true; +} + +void DialogProgress::DisplayInfo(int nValue) +{ + if(nValue<0) + { + + //m_TimerDisplay.stop(); + + QString strError = ""; + + if(nValue==-11) + { + strError = QString("Error: Patient Info"); + if(m_TimerDisplay.isActive()==true) + { + m_TimerDisplay.stop(); + } + } + else if(nValue==-12) + { + strError = QString("Error: Network Connection"); + if(m_TimerDisplay.isActive()==true) + { + m_TimerDisplay.stop(); + } + } + else + { + strError = QString("Check Server Info!! (%1)").arg(nValue); + } + + ui->label_Info->setText(strError); + ui->label_Info->show(); + ui->progressBar->setTextVisible(false); + ui->pushButton_Cancel->setText("OK"); + ui->progressBar->setValue(0); + + ui->pushButton_Cancel->show(); + ui->pushButton_Cancel->update(); + + QString strStyle = QString("QLabel \n" + "{ \n" + " color: black; \n" + " font-family: 'Roboto'; \n" + " font-size: 18px; \n" + " font-weight: light; \n" + " padding-left: 0px; \n" + " padding-top: 0px; \n" + //" qproperty-backgroundVisible: false; \n" + " border: none; \n" + //" qproperty-verticalScrollBarPolicy: 'ScrollBarAlwaysOff'; \n" + " background: transparent; \n" + " qproperty-alignment: 'AlignCenter'; \n" + "} \n"); + + ui->label_Info->setStyleSheet(strStyle); + + + m_bError = true; + } + else + { + QString strInfo = QString("Search..."); + ui->label_Info->setText(strInfo); + } + +} + +void DialogProgress::DisplayInfo(QString strInfo) +{ + m_strSendInfo = strInfo; +} + +void DialogProgress::DisplayInfo(int nValue, int nTotal) +{ + m_nSendCount = nValue; + m_nSendTotal = nTotal; +} + + +void DialogProgress::Init(int nType) +{ + m_nSendCount = 0; + m_nSendTotal = 0; + m_bSendComplete = false; + m_nType = nType; + m_nCount = 0; + //ui->label_Info->hide(); + ui->label_Info->setText("Connect to Server"); + + ui->progressBar->show(); + ui->pushButton_Cancel->setText("Cancel"); + + ui->progressBar->setTextVisible(false); + + QString strStyle = QString("QLabel \n" + "{ \n" + " font-family: 'Roboto'; \n" + " font-size: 18px; \n" + " font-weight: light; \n" + " padding-left: 0px; \n" + " padding-top: 0px; \n" + //" qproperty-backgroundVisible: false; \n" + " border: none; \n" + //" qproperty-verticalScrollBarPolicy: 'ScrollBarAlwaysOff'; \n" + " background: transparent; \n" + " qproperty-alignment: 'AlignCenter'; \n" + "} \n"); + + ui->label_Info->setStyleSheet(strStyle); + + //if(nType==0) + { + m_TimerDisplay.setInterval(30); + if(m_TimerDisplay.isActive()==false) + { + m_TimerDisplay.start(30); + } + + if(nType&0x01) + { + ui->progressBar->setRange(0, 1); + ui->progressBar->setValue(-1); + } + else + { + ui->progressBar->setRange(0, 100); + ui->progressBar->setValue(100); + } + + if(nType&0x02) + { + ui->label_Info->setText("Storage Clean"); + } + + if(nType&0x10) + { + //m_nType = 1; + ui->pushButton_Cancel->show(); + } + else + { + ui->pushButton_Cancel->hide(); + } + + if(nType&0x40) + { + ui->pushButton_Cancel->show(); + ui->pushButton_Cancel->setText("OK"); + + if(nType&0x01) + { + ui->label_Info->setText("Error: Database"); + } + else if(nType&0x02) + { + ui->label_Info->setText("Error: Database Lock"); + } + else if(nType&0x04) + { + ui->label_Info->setText("Error: Image File"); + } + } + } + +} + +void DialogProgress::SetAutoRetryDICOMSend(bool bSet) +{ + m_bAutoRetryDICOMSend = bSet; +} + + +void DialogProgress::OnTimerCalled() +{ + if(m_nType==0) + { + m_nCount++; + ui->progressBar->setValue(m_nCount%100); + } + else if(m_nType&0x01) + { + //DICOM Worklist, Storage + if(m_nSendTotal>0) + { + ui->progressBar->setRange(0, m_nSendTotal); + } + + if(m_nSendCount>0) + { + ui->progressBar->setValue(m_nSendCount); + ui->label_Info->setText(m_strSendInfo); + } + else if(m_nSendCount<0) + { + int nValue = ui->progressBar->value(); + ui->progressBar->setValue(0); + ui->label_Info->setText("Send Complete"); + m_bSendComplete = true; + } + + if(m_bError==true) + { + ui->label_Info->setText("Failed: Send DICOM"); + m_TimerDisplay.stop(); + + ui->pushButton_Cancel->setText("Close"); + + if(m_bAutoRetryDICOMSend==true) + { + done(QDialog::Accepted); + } + else + { + ui->pushButton_Send->show(); + + ui->pushButton_Cancel->setGeometry(360, 70, 130, 40); + ui->pushButton_Send->setGeometry(180, 70, 130, 40); + } + + } + else + { + if(m_bSendComplete==true) + { + m_TimerDisplay.stop(); + + CommonData* pCommonData = MainWindow::GetCommonData(); + if(pCommonData->IsAutoCloseSendFinish()==true) + { + done(QDialog::Accepted); + } + else + { + ui->pushButton_Cancel->setText("Close"); + ui->pushButton_Cancel->setVisible(true); + } + } + } + } + else if(m_nType&0x02) + { + ui->label_Info->setText("Storage Clean"); + m_nCount++; + ui->progressBar->setValue(m_nCount%100); + } + + /* + else if(m_nType==3) + { + m_TimerDisplay.stop(); + + ui->label_Info->setText("Error: Check Network Share Folder Setting!!!!"); + m_nCount++; + ui->progressBar->setValue(0); + ui->pushButton_Cancel->setText("Done"); + ui->pushButton_Cancel->show(); + } + */ + +} + + +void DialogProgress::SetTypeMakeDICOM() +{ + m_nDICOMProgressType = 1; +} + +void DialogProgress::SetTypeSendDICOM() +{ + m_nDICOMProgressType = 2; +} + +void DialogProgress::keyReleaseEvent(QKeyEvent *event) +{ + int nKey = event->key(); + + SThreadImageSave* pThread = MainWindow::GetCommonData()->GetThreadCaptureImage(); + + if(nKey==Qt::Key_F10) + { + pThread->MissCapture(); + } + else if(nKey==Qt::Key_F11) + { + pThread->MissCapture(); + } + +} + + +void DialogProgress::reject() +{ + +} + +void DialogProgress::on_pushButton_Send_clicked() +{ + done(QDialog::Accepted); +} + + +bool DialogProgress::IsError() +{ + return m_bError; +} diff --git a/dialogprogress.h b/dialogprogress.h new file mode 100644 index 0000000..9c53750 --- /dev/null +++ b/dialogprogress.h @@ -0,0 +1,81 @@ +#ifndef DIALOGPROGRESS_H +#define DIALOGPROGRESS_H + +#include + +#include + +namespace Ui { +class DialogProgress; +} + +class DialogProgress : public QDialog +{ + Q_OBJECT + +public: + explicit DialogProgress(QWidget *parent = 0); + ~DialogProgress(); + + virtual void reject(); + + + void ChangeProgress(int nProgress); + + void Init(int nType=0); + + virtual int exec(); + + void DisplayInfo(int nValue); + + void DisplayInfo(QString strInfo); + + void DisplayInfo(int nValue, int nTotal); + + void SendComplete(); + + void SetTypeMakeDICOM(); + void SetTypeSendDICOM(); + + virtual void keyReleaseEvent(QKeyEvent *event); + + + bool IsError(); + + void SetAutoRetryDICOMSend(bool bSet); + + + + +protected: + bool m_bAutoRetryDICOMSend; + bool m_bError; + int m_nDICOMProgressType; + QTimer m_TimerDisplay; + int m_nCount; + int m_nType; + + int m_nSendCount; + int m_nSendTotal; + QString m_strSendInfo; + bool m_bSendComplete; + + QString m_strErrorInfo; + +public slots: + void OnWorklistComplete(); + + void OnWorklistError(); + + void OnTimerCalled(); + +private slots: + void on_pushButton_Cancel_clicked(); + + void on_pushButton_Send_clicked(); + +private: + Ui::DialogProgress *ui; +}; + +#endif // DIALOGPROGRESS_H diff --git a/dialogprogress.ui b/dialogprogress.ui new file mode 100644 index 0000000..aabe1e5 --- /dev/null +++ b/dialogprogress.ui @@ -0,0 +1,139 @@ + + + DialogProgress + + + Qt::NonModal + + + + 0 + 0 + 671 + 122 + + + + Qt::DefaultContextMenu + + + Progress Status + + + 1.000000000000000 + + + + + 270 + 70 + 130 + 40 + + + + QPushButton +{ + background: gray; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: white; +} + +QPushButton:pressed +{ + background: #c0c0c0; +} + + + Cancel + + + + + true + + + + 30 + 22 + 621 + 31 + + + + QProgressBar +{ + qproperty-alignment: 'AlignCenter'; +} + + + 24 + + + false + + + + + + 30 + 22 + 621 + 31 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + padding-left: 0px; + padding-top: 0px; + border: none; + background: transparent; + qproperty-alignment: 'AlignCenter'; +} + + + + + 4 Image Send Complete + + + + + + 520 + 70 + 130 + 40 + + + + QPushButton +{ + background: #153B44; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: white; +} + +QPushButton:pressed +{ + background: #1B4C54; +} + + + Send + + + + + + diff --git a/dialogsettingnetworkshare.cpp b/dialogsettingnetworkshare.cpp new file mode 100644 index 0000000..f126ae1 --- /dev/null +++ b/dialogsettingnetworkshare.cpp @@ -0,0 +1,152 @@ +#include "dialogsettingnetworkshare.h" +#include "ui_dialogsettingnetworkshare.h" + +#include "mainwindow.h" + +DialogSettingNetworkShare::DialogSettingNetworkShare(QWidget *parent) : + QDialog(parent), + ui(new Ui::DialogSettingNetworkShare) +{ + ui->setupUi(this); + + CommonData* pCommonData = MainWindow::GetCommonData(); + NetworkShareInfo* pNetworkShareInfo = pCommonData->GetNetworkShareInfo(); + + QString strIP = pNetworkShareInfo->m_strIP; + QString strID = pNetworkShareInfo->m_strID; + QString strPassword = pNetworkShareInfo->m_strPassword; + QString strShareFolder = pNetworkShareInfo->m_strShareFolder; + QString strVersion = pNetworkShareInfo->m_strVersion; + + if(strIP=="127.0.0.1") + { + strIP.clear(); + } + + if(strID=="Share ID") + { + strID.clear(); + } + + if(strPassword=="Share Password") + { + strPassword.clear(); + } + + if(strShareFolder=="Share Folder") + { + strShareFolder.clear(); + } + + if(strVersion=="SMB Version") + { + strVersion.clear(); + } + + + + ui->plainTextEdit_IP->insertPlainText(strIP); + ui->plainTextEdit_ID->insertPlainText(strID); + ui->plainTextEdit_Password->insertPlainText(strPassword); + ui->plainTextEdit_Share_Folder->insertPlainText(strShareFolder); + ui->plainTextEdit_SMB_Version->insertPlainText(strVersion); + ui->checkBox_Enable->setChecked(pNetworkShareInfo->m_bEnable); + ui->checkBox_AutoSend->setChecked(pNetworkShareInfo->m_bAutoSend); + + SetEnable(pNetworkShareInfo->m_bEnable); + + ui->checkBox_Enable->setFocus(); +} + +DialogSettingNetworkShare::~DialogSettingNetworkShare() +{ + delete ui; +} + +void DialogSettingNetworkShare::on_pushButton_Save_clicked() +{ + QString strIP = ui->plainTextEdit_IP->toPlainText(); + QString strID = ui->plainTextEdit_ID->toPlainText(); + QString strPassword = ui->plainTextEdit_Password->toPlainText(); + QString strShareFolder = ui->plainTextEdit_Share_Folder->toPlainText(); + + bool bEnable = ui->checkBox_Enable->isChecked(); + + + done(QDialog::Accepted); +} + +void DialogSettingNetworkShare::on_pushButton_Cancel_clicked() +{ + done(QDialog::Rejected); +} + +void DialogSettingNetworkShare::on_checkBox_Enable_stateChanged(int arg1) +{ + bool bEnable = ui->checkBox_Enable->isChecked(); + + SetEnable(bEnable); +} + +void DialogSettingNetworkShare::SetEnable(bool bEnable) +{ + if(bEnable==true) + { + ui->plainTextEdit_IP->setEnabled(true); + ui->plainTextEdit_Share_Folder->setEnabled(true); + ui->plainTextEdit_ID->setEnabled(true); + ui->plainTextEdit_Password->setEnabled(true); + ui->plainTextEdit_SMB_Version->setEnabled(true); + } + else + { + ui->plainTextEdit_IP->setDisabled(true); + ui->plainTextEdit_Share_Folder->setDisabled(true); + ui->plainTextEdit_ID->setDisabled(true); + ui->plainTextEdit_Password->setDisabled(true); + ui->plainTextEdit_SMB_Version->setDisabled(true); + } +} + +QString DialogSettingNetworkShare::GetIP() +{ + return ui->plainTextEdit_IP->toPlainText(); +} +QString DialogSettingNetworkShare::GetID() +{ + return ui->plainTextEdit_ID->toPlainText(); +} +QString DialogSettingNetworkShare::GetPassword() +{ + return ui->plainTextEdit_Password->toPlainText(); +} +QString DialogSettingNetworkShare::GetShareFolder() +{ + return ui->plainTextEdit_Share_Folder->toPlainText(); +} + +QString DialogSettingNetworkShare::GetSMBVersion() +{ + return ui->plainTextEdit_SMB_Version->toPlainText(); +} + +bool DialogSettingNetworkShare::IsEnabledNetworkShare() +{ + bool bEnable = ui->checkBox_Enable->isChecked(); + + return bEnable; +} + +void DialogSettingNetworkShare::on_checkBox_AutoSend_clicked() +{ + bool bEnable = ui->checkBox_Enable->isChecked(); + + SetEnable(bEnable); +} + +bool DialogSettingNetworkShare::IsNetworkAutoSend() +{ + bool bAutoSend = ui->checkBox_AutoSend->isChecked(); + + return bAutoSend; +} diff --git a/dialogsettingnetworkshare.h b/dialogsettingnetworkshare.h new file mode 100644 index 0000000..fbd3f25 --- /dev/null +++ b/dialogsettingnetworkshare.h @@ -0,0 +1,41 @@ +#ifndef DIALOGSETTINGNETWORKSHARE_H +#define DIALOGSETTINGNETWORKSHARE_H + +#include + +namespace Ui { +class DialogSettingNetworkShare; +} + +class DialogSettingNetworkShare : public QDialog +{ + Q_OBJECT + +public: + explicit DialogSettingNetworkShare(QWidget *parent = 0); + ~DialogSettingNetworkShare(); + + void SetEnable(bool bEnable); + + QString GetIP(); + QString GetID(); + QString GetPassword(); + QString GetShareFolder(); + QString GetSMBVersion(); + bool IsEnabledNetworkShare(); + bool IsNetworkAutoSend(); + +private slots: + void on_pushButton_Save_clicked(); + + void on_pushButton_Cancel_clicked(); + + void on_checkBox_Enable_stateChanged(int arg1); + + void on_checkBox_AutoSend_clicked(); + +private: + Ui::DialogSettingNetworkShare *ui; +}; + +#endif // DIALOGSETTINGNETWORKSHARE_H diff --git a/dialogsettingnetworkshare.ui b/dialogsettingnetworkshare.ui new file mode 100644 index 0000000..b796966 --- /dev/null +++ b/dialogsettingnetworkshare.ui @@ -0,0 +1,582 @@ + + + DialogSettingNetworkShare + + + + 0 + 0 + 720 + 440 + + + + Dialog + + + + + 0 + 0 + 720 + 441 + + + + QFrame#frame_background +{ + background: #A6B1C2; + border: 3px solid #80000000; +} + +QWidget +{ + background: none; + border: none; +} + +QPlainTextEdit +{ + qproperty-lineWrapMode: 'NoWrap'; + font-family: 'Roboto'; + font-size: 20px; + font-weight: light; + padding-left: 0px; + padding-top: 0px; + qproperty-backgroundVisible: false; + border: none; + qproperty-verticalScrollBarPolicy: 'ScrollBarAlwaysOff'; + background: transparent; + qproperty-tabChangesFocus: true; + color: black; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 20 + 150 + 161 + 32 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: none; +} + + + Port + + + + + + 220 + 150 + 471 + 32 + + + + QFrame +{ + background: white; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 5 + 0 + 461 + 32 + + + + STextEdit +{ + border: none; +} + + + 127.0.0.1 + + + + + + + 220 + 90 + 471 + 41 + + + + QFrame +{ + background: white; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 5 + 0 + 461 + 41 + + + + STextEdit +{ + border: none; +} + + + Share Folder + + + + + + + 20 + 90 + 161 + 41 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: none; +} + + + Folder + + + + + + 20 + 200 + 161 + 32 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: none; +} + + + User ID + + + + + + 220 + 200 + 471 + 32 + + + + QFrame +{ + background: white; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 5 + 0 + 461 + 32 + + + + STextEdit +{ + border: none; +} + + + User ID + + + + + + + 20 + 250 + 161 + 32 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: none; +} + + + User Password + + + + + + 220 + 250 + 471 + 32 + + + + QFrame +{ + background: white; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 5 + 0 + 461 + 32 + + + + STextEdit +{ + border: none; +} + + + User Password + + + + + + + 220 + 30 + 131 + 40 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 40 + 5 + 120 + 30 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; +} + + + Enable + + + + + + 0 + 5 + 30 + 30 + + + + QCheckBox::indicator +{ + width: 30px; + height: 30px; +} + + + + + + + 40 + 40 + + + + + + + + 180 + 360 + 153 + 63 + + + + QPushButton +{ + background: #FFFFFF; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: black; +} + +QPushButton:pressed +{ + background: #D8D8D8; +} + + + Save + + + + + + 400 + 360 + 153 + 63 + + + + QPushButton +{ + background: #d0d0d0; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: black; +} + +QPushButton:pressed +{ + background: #808080; +} + + + Cancel + + + + + + 20 + 300 + 161 + 32 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: none; +} + + + Enable SSL + + + + + + 220 + 300 + 471 + 32 + + + + QFrame +{ + background: white; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 5 + 0 + 461 + 32 + + + + STextEdit +{ + border: none; +} + + + SMB Version + + + + + + + 390 + 30 + 221 + 40 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 40 + 5 + 171 + 30 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; +} + + + Auto Send + + + + + + 0 + 5 + 30 + 30 + + + + QCheckBox::indicator +{ + width: 30px; + height: 30px; +} + + + + + + + 40 + 40 + + + + + + + + + STextEdit + QPlainTextEdit +
stextedit.h
+
+
+ + +
diff --git a/dialogsettingtable.cpp b/dialogsettingtable.cpp new file mode 100644 index 0000000..1b34474 --- /dev/null +++ b/dialogsettingtable.cpp @@ -0,0 +1,439 @@ +#include "dialogsettingtable.h" +#include "ui_dialogsettingtable.h" + +#include "mainwindow.h" + +DialogSettingTable::DialogSettingTable(QWidget *parent) : + QDialog(parent), + ui(new Ui::DialogSettingTable) +{ + //setAttribute(Qt::WA_TranslucentBackground); + //setWindowFlags(Qt::CustomizeWindowHint); + //setWindowFlags(Qt::FramelessWindowHint); + + //setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog | Qt::Popup); + setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog); + + ui->setupUi(this); + + CommonData* pCommonData = MainWindow::GetCommonData(); + + + { + ui->listWidget_choose->SetActivate(false); + ui->verticalScrollBar_Choose->setRange(0, 299); + ui->verticalScrollBar_Choose->SetSlideType(SSlideBar::SLIDE_VERTICAL); + + connect(ui->verticalScrollBar_Choose, SIGNAL(valueChanged(int)), ui->listWidget_choose, SLOT(valueChangedScrollBarHorizontal(int))); + + QScrollBar* pScrollBarChoose = ui->listWidget_choose->verticalScrollBar(); + connect(pScrollBarChoose, SIGNAL(valueChanged(int)), this, SLOT(ScrollChangeChoose(int))); + } + + { + ui->listWidget_Selection->SetActivate(true); + ui->verticalScrollBar_Selection->setRange(0, 299); + ui->verticalScrollBar_Selection->SetSlideType(SSlideBar::SLIDE_VERTICAL); + + connect(ui->verticalScrollBar_Selection, SIGNAL(valueChanged(int)), ui->listWidget_Selection, SLOT(valueChangedScrollBarHorizontal(int))); + + QScrollBar* pScrollBarChoose = ui->listWidget_Selection->verticalScrollBar(); + connect(pScrollBarChoose, SIGNAL(valueChanged(int)), this, SLOT(ScrollChangeSelection(int))); + } + + int nDisplayType = pCommonData->GetDisplayType(); + + if(nDisplayType==SDISPLAY_1280X1024) + { + int nGabX = (1280-1000)/2; + int nGabY = (1024-600)/2; + setGeometry(nGabX, nGabY, 1000, 600); + ui->frame_choose->setGeometry(30, 52, 380, 520); + ui->label_choose->setGeometry(0, 0, 380, 50); + ui->listWidget_choose->setGeometry(20, 60, 380-60, 520-80); + ui->frame_verticalScrollBar_Choose->setGeometry(380-30, 50, 25, 520-60); + ui->verticalScrollBar_Choose->setGeometry(0, 0, 25, 520-60); + + ui->pushButton_Active->setGeometry(430, 220, 60, 31); + ui->pushButton_Inactive->setGeometry(430, 320, 60, 31); + + ui->frame_selection->setGeometry(520, 52, 380, 520); + ui->label_selection->setGeometry(0, 0, 380, 50); + ui->listWidget_Selection->setGeometry(20, 60, 380-60, 520-80); + ui->frame_verticalScrollBar_Selection->setGeometry(380-30, 50, 25, 520-60); + ui->verticalScrollBar_Selection->setGeometry(0, 0, 25, 520-60); + + ui->pushButton_Up->setGeometry(920, 60, 60, 36); + ui->pushButton_Down->setGeometry(920, 100, 60, 36); + ui->pushButton_Save->setGeometry(920, 540, 60, 36); + } + else if(nDisplayType==SDISPLAY_1920X1080) + { + setGeometry(0, 0, 1583, 818); + ui->frame_choose->setGeometry(52, 52, 616, 724); + ui->label_choose->setGeometry(0, 0, 616, 50); + ui->listWidget_choose->setGeometry(50, 60, 501, 651); + ui->frame_verticalScrollBar_Choose->setGeometry(570, 20, 25, 671); + ui->verticalScrollBar_Choose->setGeometry(0, 0, 25, 671); + + ui->pushButton_Active->setGeometry(700, 290, 89, 51); + ui->pushButton_Inactive->setGeometry(700, 390, 89, 51); + + ui->frame_selection->setGeometry(814, 52, 616, 724); + ui->label_selection->setGeometry(0, 0, 616, 50); + ui->listWidget_Selection->setGeometry(50, 60, 501, 651); + ui->frame_verticalScrollBar_Selection->setGeometry(570, 20, 25, 671); + ui->verticalScrollBar_Selection->setGeometry(0, 0, 25, 671); + + ui->pushButton_Up->setGeometry(1470, 60, 89, 51); + ui->pushButton_Down->setGeometry(1470, 120, 89, 51); + ui->pushButton_Save->setGeometry(1470, 720, 89, 51); + } +} + +DialogSettingTable::~DialogSettingTable() +{ + delete ui; +} + +void DialogSettingTable::SetListType(int nType) +{ + m_nListType = nType; + + CommonData* pCommonData = MainWindow::GetCommonData(); + STableHeader* pTableHeader = NULL; + + if(m_nListType==SWIDGET_WORKLIST) + { + pTableHeader = pCommonData->GetWorklistTableHeader(); + m_TableHeader.CopyWorklistFrom(pTableHeader); + } + else if(m_nListType==SWIDGET_HISTORY) + { + pTableHeader = pCommonData->GetHistoryTableHeader(); + m_TableHeader.CopyHistoryFrom(pTableHeader); + } + + ui->listWidget_choose->SetListType(nType); + ui->listWidget_Selection->SetListType(nType); + + ui->listWidget_choose->SetData(&m_TableHeader); + ui->listWidget_Selection->SetData(&m_TableHeader); + + CheckVerticalScrollBar(); + +} + +void DialogSettingTable::CheckVerticalScrollBar() +{ + int nMaxShowItem = 8; + int nDisplayType = MainWindow::GetCommonData()->GetDisplayType(); + if(nDisplayType==SDISPLAY_1280X1024) + { + nMaxShowItem = 11; + } + if(ui->listWidget_choose->count() > nMaxShowItem) + { + ui->verticalScrollBar_Choose->show(); + } + else + { + ui->verticalScrollBar_Choose->hide(); + } + + if(ui->listWidget_Selection->count() > nMaxShowItem) + { + ui->verticalScrollBar_Selection->show(); + } + else + { + ui->verticalScrollBar_Selection->hide(); + } +} + +void DialogSettingTable::on_pushButton_Save_clicked() +{ + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + CommonData* pCommonData = MainWindow::GetCommonData(); + + STableHeader* pTableHeader = NULL; + if(m_nListType==SWIDGET_WORKLIST) + { + pTableHeader = pCommonData->GetWorklistTableHeader(); + pTableHeader->CopyWorklistFrom(&m_TableHeader); + pCommonData->UpdateWorklistIndex(); + } + else if(m_nListType==SWIDGET_HISTORY) + { + pMainWindow->ClearHistoryView(); + pTableHeader = pCommonData->GetHistoryTableHeader(); + pTableHeader->CopyHistoryFrom(&m_TableHeader); + pCommonData->UpdateHistoryIndex(); + } + + + done(QDialog::Accepted); +} + + + +void DialogSettingTable::ScrollChangeChoose(int nValue) +{ + QScrollBar* pScrollBar = ui->listWidget_choose->verticalScrollBar(); + int nMax = pScrollBar->maximum(); + float fRatio = (float)nValue / (float)nMax; + + int nPos = fRatio * 299.0f + 0.5f; + if(nPos>299) + { + nPos = 299; + } + + ui->verticalScrollBar_Choose->setValue(nPos); +} + +void DialogSettingTable::ScrollChangeSelection(int nValue) +{ + QScrollBar* pScrollBar = ui->listWidget_Selection->verticalScrollBar(); + int nMax = pScrollBar->maximum(); + float fRatio = (float)nValue / (float)nMax; + + int nPos = fRatio * 299.0f + 0.5f; + if(nPos>299) + { + nPos = 299; + } + + ui->verticalScrollBar_Selection->setValue(nPos); +} + +void DialogSettingTable::on_pushButton_Active_clicked() +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + STableHeader* pTableHeader = &m_TableHeader; + vector listMove; + + vector* pListHeader = NULL; + { + pListHeader = pTableHeader->GetListInactive(); + vector::iterator it; + for(it=pListHeader->begin() ; it!=pListHeader->end() ; ) + { + TableHeader* pHeader = *it; + if(pHeader->m_bSelect==true) + { + listMove.push_back(pHeader); + pListHeader->erase(it); + } + else + { + ++it; + } + } + + if(listMove.size()>0) + { + ui->listWidget_choose->SetData(&m_TableHeader); + } + } + + if(listMove.size()>0) + { + pListHeader = pTableHeader->GetListActive(); + vector::iterator it; + for(it=listMove.begin() ; it!=listMove.end() ; ++it) + { + TableHeader* pHeader = *it; + pHeader->m_bSelect = false; + + pListHeader->push_back(pHeader); + } + + if(listMove.size()>0) + { + listMove.clear(); + } + + ui->listWidget_Selection->SetData(&m_TableHeader); + } + + CheckVerticalScrollBar(); + +} + +void DialogSettingTable::on_pushButton_Inactive_clicked() +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + STableHeader* pTableHeader = &m_TableHeader; + vector listMove; + + vector* pListHeader = NULL; + { + pListHeader = pTableHeader->GetListActive(); + vector::iterator it; + for(it=pListHeader->begin() ; it!=pListHeader->end() ; ) + { + TableHeader* pHeader = *it; + if(pHeader->m_bSelect==true) + { + listMove.push_back(pHeader); + pListHeader->erase(it); + } + else + { + ++it; + } + } + + if(listMove.size()>0) + { + ui->listWidget_Selection->SetData(&m_TableHeader); + } + } + + if(listMove.size()>0) + { + pListHeader = pTableHeader->GetListInactive(); + vector::iterator it; + for(it=listMove.begin() ; it!=listMove.end() ; ++it) + { + TableHeader* pHeader = *it; + pHeader->m_bSelect = false; + + pListHeader->push_back(pHeader); + } + + if(listMove.size()>0) + { + listMove.clear(); + } + + ui->listWidget_choose->SetData(&m_TableHeader); + } + + CheckVerticalScrollBar(); +} + +void DialogSettingTable::on_pushButton_Up_clicked() +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + STableHeader* pTableHeader = &m_TableHeader; + vector listMove; + + vector* pListHeader = NULL; + { + pListHeader = pTableHeader->GetListActive(); + int nCheckCount = 0; + int nSwapCount = 0; + int i=0; + for(i=0 ; isize() ; i++) + { + TableHeader* pHeader = (*pListHeader)[i]; + if(pHeader->m_bSelect==true) + { + nCheckCount++; + } + } + + //for(i=0 ; i::iterator it; + vector::iterator itNext; + int nIndex = 0; + for(it=pListHeader->begin() ; it!=pListHeader->end() ; ++it, nIndex++) + { + TableHeader* pHeader = *it; + if(pHeader->m_bSelect==true) + { + if(nIndex==0) + { + break; + } + itNext = it; + --itNext; + TableHeader* pHeaderNext = *itNext; + + if(pHeaderNext!=NULL && itNext!=pListHeader->end()) + { + + TableHeader* pHeaderTmp = pHeaderNext; + + *itNext = pHeader; + *it = pHeaderTmp; + nSwapCount++; + //break; + } + } + } + } + + if(nSwapCount>0) + { + ui->listWidget_Selection->SetData(&m_TableHeader); + } + + + } +} + +void DialogSettingTable::on_pushButton_Down_clicked() +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + STableHeader* pTableHeader = &m_TableHeader; + vector listMove; + + vector* pListHeader = NULL; + { + pListHeader = pTableHeader->GetListActive(); + int nCheckCount = 0; + int nSwapCount = 0; + int i=0; + for(i=0 ; isize() ; i++) + { + TableHeader* pHeader = (*pListHeader)[i]; + if(pHeader->m_bSelect==true) + { + nCheckCount++; + } + } + + //for(i=0 ; i::reverse_iterator it; + vector::reverse_iterator itNext; + int nIndex = 0; + for(it=pListHeader->rbegin() ; it!=pListHeader->rend() ; ++it, nIndex++) + { + TableHeader* pHeader = *it; + if(pHeader->m_bSelect==true) + { + if(nIndex==0) + { + break; + } + itNext = it; + --itNext; + TableHeader* pHeaderNext = *itNext; + + if(pHeaderNext!=NULL) + { + + TableHeader* pHeaderTmp = pHeaderNext; + + *itNext = pHeader; + *it = pHeaderTmp; + nSwapCount++; + //break; + } + } + } + } + + if(nSwapCount>0) + { + ui->listWidget_Selection->SetData(&m_TableHeader); + } + + + } +} diff --git a/dialogsettingtable.h b/dialogsettingtable.h new file mode 100644 index 0000000..f3ba150 --- /dev/null +++ b/dialogsettingtable.h @@ -0,0 +1,49 @@ +#ifndef DIALOGSETTINGTABLE_H +#define DIALOGSETTINGTABLE_H + +#include + +#include "common.h" +#include "commondata.h" + + +namespace Ui { +class DialogSettingTable; +} + +class DialogSettingTable : public QDialog +{ + Q_OBJECT + +public: + explicit DialogSettingTable(QWidget *parent = nullptr); + ~DialogSettingTable(); + + void CheckVerticalScrollBar(); + + void SetListType(int nType); + +protected: + int m_nListType; + STableHeader m_TableHeader; + +private slots: + void on_pushButton_Save_clicked(); + + + void ScrollChangeChoose(int nValue); + void ScrollChangeSelection(int nValue); + + void on_pushButton_Active_clicked(); + + void on_pushButton_Inactive_clicked(); + + void on_pushButton_Up_clicked(); + + void on_pushButton_Down_clicked(); + +private: + Ui::DialogSettingTable *ui; +}; + +#endif // DIALOGSETTINGTABLE_H diff --git a/dialogsettingtable.ui b/dialogsettingtable.ui new file mode 100644 index 0000000..ce813bd --- /dev/null +++ b/dialogsettingtable.ui @@ -0,0 +1,448 @@ + + + DialogSettingTable + + + + 0 + 0 + 1583 + 818 + + + + Dialog + + + QDialog +{ + background: #A6B1C2; +} + + + + + 52 + 52 + 616 + 724 + + + + QFrame +{ + background: white; + border-radius: 10px; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 0 + 50 + 616 + 2 + + + + QFrame +{ + background: gray; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + 0 + 0 + 616 + 50 + + + + QLabel +{ + background: none; + font-family: 'Roboto'; + font-size: 24px; + font-weight: bold; + qproperty-alignment: 'AlignCenter'; +} + + + CHOOSE + + + + + + 570 + 50 + 25 + 671 + + + + QFrame +{ + background: none; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 0 + 0 + 25 + 671 + + + + Qt::WheelFocus + + + QScrollBar +{ + background: none; + border: none; + +} + +QScrollBar:vertical { + background: white; + width: 26px; + margin: 26px 0px 26px 0px; +} +QScrollBar::handle:vertical { + background: none; + margin: 4px; + width: 18px; + min-height: 36px; + max-height: 36px; + height: 36px; + border-image: url(://image/ScrollBar_Vertical_Icon.png); +} +QScrollBar::add-line:vertical { + border: none; + background: none; + height: 0px; +} + +QScrollBar::sub-line:vertical { + border: none; + background: none; + height: 0px; +} + + + 99 + + + Qt::Vertical + + + true + + + + + + + 50 + 60 + 501 + 651 + + + + QListWidget::item +{ + background: none; +} + +QListWidget::item:selected +{ + background: none; +} + + + Qt::ScrollBarAlwaysOff + + + + + + + 814 + 52 + 616 + 724 + + + + QFrame +{ + background: white; + border-radius: 10px; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 0 + 50 + 616 + 2 + + + + QFrame +{ + background: gray; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + 0 + 0 + 616 + 50 + + + + QLabel +{ + background: none; + font-family: 'Roboto'; + font-size: 24px; + font-weight: bold; + qproperty-alignment: 'AlignCenter'; +} + + + SELECT + + + + + + 50 + 60 + 501 + 651 + + + + QListWidget::item +{ + background: none; +} + +QListWidget::item:selected +{ + background: none; +} + + + Qt::ScrollBarAlwaysOff + + + + + + 570 + 50 + 25 + 671 + + + + QFrame +{ + background: none; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 0 + 0 + 25 + 671 + + + + Qt::WheelFocus + + + QScrollBar +{ + background: none; + border: none; + +} + +QScrollBar:vertical { + background: white; + width: 26px; + margin: 26px 0px 26px 0px; +} +QScrollBar::handle:vertical { + background: none; + margin: 4px; + width: 18px; + min-height: 36px; + max-height: 36px; + height: 36px; + border-image: url(://image/ScrollBar_Vertical_Icon.png); +} +QScrollBar::add-line:vertical { + border: none; + background: none; + height: 0px; +} + +QScrollBar::sub-line:vertical { + border: none; + background: none; + height: 0px; +} + + + 99 + + + Qt::Vertical + + + true + + + + + + + + 1470 + 720 + 89 + 51 + + + + SAVE + + + + + + 700 + 290 + 89 + 51 + + + + --> + + + + + + 700 + 390 + 89 + 51 + + + + <-- + + + + + + 1470 + 60 + 89 + 51 + + + + UP + + + + + + 1470 + 120 + 89 + 51 + + + + Down + + + + + + SSlideBar + QScrollBar +
sslidebar.h
+
+ + SListWidgetSetting + QListWidget +
slistwidgetsetting.h
+
+
+ + +
diff --git a/formcalendarview.cpp b/formcalendarview.cpp new file mode 100644 index 0000000..e2424b6 --- /dev/null +++ b/formcalendarview.cpp @@ -0,0 +1,408 @@ +#include "formcalendarview.h" +#include "ui_formcalendarview.h" + + + +#include + +#include + +#include "dialogcalendar.h" + +#include "commondata.h" + +QDate FormCalendarView::m_DateStart; +QDate FormCalendarView::m_DateEnd; + +FormCalendarView::FormCalendarView(QWidget *parent) : + QWidget(parent), + ui(new Ui::FormCalendarView) +{ + ui->setupUi(this); + + m_nMode = CHANGE_DATE_START; + + m_DateStart = QDate::currentDate(); + m_DateEnd = QDate::currentDate(); + + ui->gridLayout->setSpacing(0); + ui->horizontalLayout->setSpacing(0); + + int i=0; + int j=0; + + m_pViewDays = new SDayView**[7]; + for(i=0 ; i<6 ; i++) + { + m_pViewDays[i] = new SDayView*[6]; + + for(j=0 ; j<7 ; j++) + { + m_pViewDays[i][j] = new SDayView(this); + m_pViewDays[i][j]->SetRowColumn(i, j); + //m_pViewDays[i][j]->setGeometry(0, 0, 100, 30); + + m_pViewDays[i][j]->setStyleSheet("QWidget{ background: none; border: none;} "); + + connect(m_pViewDays[i][j], SIGNAL(Clicked(int, int)), this, SLOT(Clicked(int, int))); + } + + } + + for(i=0 ; i<6 ; i++) + { + for(j=0 ; j<7 ; j++) + { + ui->gridLayout->addWidget(m_pViewDays[i][j], i, j); + } + } + + + QStringList strListDayName; + strListDayName << "SUN"; + strListDayName << "MON"; + strListDayName << "TUE"; + strListDayName << "WED"; + strListDayName << "THU"; + strListDayName << "FRI"; + strListDayName << "SAT"; + + ui->horizontalLayout->addSpacing(50); + + for(i=0 ; i<7 ; i++) + { + QLabel* pLabel = new QLabel(this); + QString strDayName = strListDayName[i]; + pLabel->setText(strDayName); + + if(i==0) + { + pLabel->setStyleSheet("QLabel{ background: #D6E0E5; qproperty-alignment: AlignCenter; color: #FF0000;}"); + } + else if(i==6) + { + pLabel->setStyleSheet("QLabel{ background: #D6E0E5; qproperty-alignment: AlignCenter; color: #0019FF;}"); + } + else + { + pLabel->setStyleSheet("QLabel{ background: #D6E0E5; qproperty-alignment: AlignCenter;}"); + } + + + ui->horizontalLayout->addWidget(pLabel); + } + + ui->horizontalLayout->addSpacing(50); + + +} + +FormCalendarView::~FormCalendarView() +{ + delete ui; +} + + +void FormCalendarView::resizeEvent(QResizeEvent *event) +{ + QSize nSize = event->size(); + int nHeightTitle = 66; + + ui->verticalLayoutWidget->setGeometry(0, 0, nSize.width(), nSize.height()); + + QSize nSizeDayOfWeek(nSize.width(), nHeightTitle); + ui->frame_DayOfWeek->setMaximumSize(nSizeDayOfWeek); + + + ui->gridLayoutWidget->setGeometry(50, 0, nSize.width()-100, nSize.height()-nHeightTitle); + + + ui->horizontalLayoutWidget->setGeometry(0, 0, nSize.width(), nHeightTitle); + + +} + + +void FormCalendarView::SetCalendar(int nYear, int nMonth) +{ + int nStartDay = 0; + int nMonthDay = 0; + int nPrevMonthDay = 0; + int nPrevMonth = nMonth-1; + int nPrevYear = nYear; + int nNextMonth = nMonth+1; + int nNextYear = nYear; + + + QDate date(nYear, nMonth, 1); + + nMonthDay = date.daysInMonth(); + nStartDay = date.dayOfWeek(); + + + if(nPrevMonth<=0) + { + nPrevYear = nYear - 1; + nPrevMonth = 12; + } + + if(nNextMonth>12) + { + nNextYear = nYear+1; + nNextMonth = 1; + } + + + QDate datePrevMonth(nPrevYear, nPrevMonth, 1); + nPrevMonthDay = datePrevMonth.daysInMonth(); + + + int i=0; + int j=0; + + int nIndexDisplay = 0; + int nDay = 1; + int nIndexNextMonthDay = 1; + for(i=0 ; i<6 ; i++) + { + for(j=0 ; j<7 ; j++) + { + if(nIndexDisplay>=nStartDay && nDay<=nMonthDay) + { + m_pViewDays[i][j]->SetDate(QDate(nYear, nMonth, nDay), true); + nDay++; + } + else + { + if(i==0) + { + int nPrevDay = nPrevMonthDay - nStartDay + (j+1); + m_pViewDays[i][j]->SetDate(QDate(nPrevYear, nPrevMonth, nPrevDay), false); + } + else + { + m_pViewDays[i][j]->SetDate(QDate(nNextYear, nNextMonth, nIndexNextMonthDay), false); + nIndexNextMonthDay++; + } + //m_pViewDays[i][j]->ClearDate(); + } + nIndexDisplay++; + } + } + + ui->gridLayout->update(); + update(); + + +} + +void FormCalendarView::SetToday() +{ + ClearDayState(); + + m_DateEnd = QDate::currentDate(); + + m_DateStart = m_DateEnd; + + UpdateDayState(); +} + + +void FormCalendarView::SetLast3Days() +{ + ClearDayState(); + + m_DateEnd = QDate::currentDate(); + + m_DateStart = m_DateEnd.addDays(-2); + + UpdateDayState(); +} + +void FormCalendarView::SetLastWeek() +{ + ClearDayState(); + + m_DateEnd = QDate::currentDate(); + + m_DateStart = m_DateEnd.addDays(-6); + + UpdateDayState(); +} + +void FormCalendarView::SetLast2Weeks() +{ + ClearDayState(); + + m_DateEnd = QDate::currentDate(); + + m_DateStart = m_DateEnd.addDays(-13); + + UpdateDayState(); +} + +void FormCalendarView::SetLast3Weeks() +{ + ClearDayState(); + + m_DateEnd = QDate::currentDate(); + + m_DateStart = m_DateEnd.addDays(-20); + + UpdateDayState(); +} + +void FormCalendarView::SetLastMonth() +{ + ClearDayState(); + + m_DateEnd = QDate::currentDate(); + + m_DateStart = m_DateEnd.addMonths(-1); + m_DateStart = m_DateStart.addDays(1); + + UpdateDayState(); +} + +void FormCalendarView::SetLast2Month() +{ + ClearDayState(); + + m_DateEnd = QDate::currentDate(); + + m_DateStart = m_DateEnd.addMonths(-2); + m_DateStart = m_DateStart.addDays(1); + + UpdateDayState(); +} + +void FormCalendarView::SetLast6Months() +{ + ClearDayState(); + + m_DateEnd = QDate::currentDate(); + + m_DateStart = m_DateEnd.addMonths(-6); + m_DateStart = m_DateStart.addDays(1); + + UpdateDayState(); +} + +void FormCalendarView::SetLastYear() +{ + ClearDayState(); + + m_DateEnd = QDate::currentDate(); + + m_DateStart = m_DateEnd.addYears(-1); + m_DateStart = m_DateStart.addDays(1); + + UpdateDayState(); +} + + +void FormCalendarView::UpdateDayState() +{ + int i=0; + int j=0; + + for(i=0 ; i<6 ; i++) + { + for(j=0 ; j<7 ; j++) + { + if(m_pViewDays[i][j]->GetDate()==m_DateStart) + { + m_pViewDays[i][j]->Select(); + //m_pViewDays[i][j]->update(); + } + if(m_pViewDays[i][j]->GetDate()==m_DateEnd) + { + m_pViewDays[i][j]->Select(); + //m_pViewDays[i][j]->update(); + } + } + } + + update(); +} + +void FormCalendarView::ClearDayState() +{ + int i=0; + int j=0; + + for(i=0 ; i<6 ; i++) + { + for(j=0 ; j<7 ; j++) + { + if(m_pViewDays[i][j]->IsSelected()==true) + { + m_pViewDays[i][j]->Unselect(); + m_pViewDays[i][j]->update(); + } + } + } + update(); +} + +QDate FormCalendarView::GetDateStart() +{ + return m_DateStart; +} + +QDate FormCalendarView::GetDateEnd() +{ + return m_DateEnd; +} + +void FormCalendarView::SetDateStart(QDate date) +{ + m_DateStart = date; +} + +void FormCalendarView::SetDateEnd(QDate date) +{ + m_DateEnd = date; +} + +void FormCalendarView::Clicked(int nIndexRow, int nIndexColumn) +{ + if(m_nMode==CHANGE_DATE_START) + { + QDate date = m_pViewDays[nIndexRow][nIndexColumn]->GetDate(); + m_DateStart = date; + m_DateEnd = date; + m_nMode = CHANGE_DATE_END; + } + else if(m_nMode==CHANGE_DATE_END) + { + QDate date = m_pViewDays[nIndexRow][nIndexColumn]->GetDate(); + m_DateEnd = date; + m_nMode = CHANGE_DATE_START; + } + + if(m_DateStart>m_DateEnd) + { + QDate dateTmp; + dateTmp = m_DateStart; + m_DateStart = m_DateEnd; + m_DateEnd = dateTmp; + } + + UpdateDayState(); + + SetSearchDateUpdate(SEARCH_USER_DEFINED); + ExecuteClickDate(); +} + +void FormCalendarView::SetModeChangeStart() +{ + m_nMode = CHANGE_DATE_START; +} + +void FormCalendarView::SetModeChangeEnd() +{ + m_nMode = CHANGE_DATE_END; +} + + diff --git a/formcalendarview.h b/formcalendarview.h new file mode 100644 index 0000000..a2046be --- /dev/null +++ b/formcalendarview.h @@ -0,0 +1,71 @@ +#ifndef FORMCALENDARVIEW_H +#define FORMCALENDARVIEW_H + +#include + +#include "sdayview.h" + +namespace Ui { +class FormCalendarView; +} + +class FormCalendarView : public QWidget +{ + Q_OBJECT + +public: + explicit FormCalendarView(QWidget *parent = nullptr); + ~FormCalendarView(); + + virtual void resizeEvent(QResizeEvent *event); + + void SetCalendar(int nYear, int nMonth); + + void SetToday(); + void SetLast3Days(); + void SetLastWeek(); + void SetLast2Weeks(); + void SetLast3Weeks(); + void SetLastMonth(); + void SetLast2Month(); + void SetLast6Months(); + void SetLastYear(); + + void UpdateDayState(); + + void ClearDayState(); + + void SetModeChangeStart(); + void SetModeChangeEnd(); + + + +public slots: + void Clicked(int nIndexRow, int nIndexColumn); + +signals: + void SetSearchDateUpdate(int nTypeSearchDuration); + void ExecuteClickDate(); + +protected: + int m_nMode; + SDayView*** m_pViewDays; + +public: + static QDate m_DateStart; + static QDate m_DateEnd; + + static QDate GetDateStart(); + static QDate GetDateEnd(); + + static void SetDateStart(QDate date); + static void SetDateEnd(QDate date); + + static int GetTypeSearchDuration(); + + +private: + Ui::FormCalendarView *ui; +}; + +#endif // FORMCALENDARVIEW_H diff --git a/formcalendarview.ui b/formcalendarview.ui new file mode 100644 index 0000000..5e6867b --- /dev/null +++ b/formcalendarview.ui @@ -0,0 +1,114 @@ + + + FormCalendarView + + + + 0 + 0 + 660 + 440 + + + + Form + + + + + 110 + 60 + 461 + 291 + + + + + 0 + + + QLayout::SetDefaultConstraint + + + + + + 0 + 0 + + + + + 0 + 20 + + + + + 16777215 + 30 + + + + QWidget +{ + border: none; + background: #D6E0E5; + + font-family: 'Roboto'; + font-size: 20px; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 60 + 10 + 160 + 80 + + + + + + + + + + QFrame +{ + border: none; + background: #FFFFFF; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 180 + 100 + 160 + 80 + + + + + + + + + + + + diff --git a/formcapture.cpp b/formcapture.cpp new file mode 100644 index 0000000..f737272 --- /dev/null +++ b/formcapture.cpp @@ -0,0 +1,2916 @@ +#include "formcapture.h" +#include "ui_formcapture.h" +#include "mainwindow.h" +#include "qgstreamerplayer.h" + +#include +#include +#include + +#include +#include +#include + +extern SThreadWatchVideoLink v; + +FormCapture::FormCapture(QWidget *parent) : + QWidget(parent), + ui(new Ui::FormCapture) +{ + ui->setupUi(this); + + m_pThreadWatchVideoLink = &v; + + m_pDialogSendProgress = NULL; + + m_bExecStopRTSP = false; + + + //MainWindow* pMainWindow = MainWindow::GetMainWindow(); + //connect(this, SIGNAL(ExitCapture()), pMainWindow, SLOT(ExitCapture())); + +#ifdef _SYOLOV5 +#else + ui->frame_Detection->setVisible(false); +#endif + + + + ui->verticalScrollBar->SetSlideType(SSlideBar::SLIDE_VERTICAL); + ui->verticalScrollBar->setRange(0, 299); + + connect(ui->verticalScrollBar, SIGNAL(valueChanged(int)), this, SLOT(valueChangedScrollBarVertical(int))); + //connect(this, SIGNAL(SetSlideValue(int)), ui->verticalScrollBar, SLOT(setValue(int))); + //connect(ui->verticalScrollBar, SIGNAL(actionTriggered(int)), this, SLOT(actionTriggered(int))); + connect(ui->verticalScrollBar, SIGNAL(SingleDown()), this, SLOT(SingleDown())); + connect(ui->verticalScrollBar, SIGNAL(SingleUp()), this, SLOT(SingleUp())); + + + ui->horizontalScrollBar->SetSlideType(SSlideBar::SLIDE_HORIZONTAL); + ui->horizontalScrollBar->setRange(0, 299); + + connect(ui->horizontalScrollBar, SIGNAL(valueChanged(int)), this, SLOT(valueChangedScrollBarHorizontal(int))); + //connect(this, SIGNAL(SetSlideValue(int)), ui->horizontalScrollBar, SLOT(setValue(int))); + //connect(ui->horizontalScrollBar, SIGNAL(actionTriggered(int)), this, SLOT(actionTriggered(int))); + connect(ui->horizontalScrollBar, SIGNAL(SingleDown()), this, SLOT(SingleDown())); + connect(ui->horizontalScrollBar, SIGNAL(SingleUp()), this, SLOT(SingleUp())); + + + + connect(&m_Timer, SIGNAL(timeout()), this, SLOT(CheckVideoDevice())); + m_Timer.setInterval(100); + + connect(&m_TimerCaptureInfo, SIGNAL(timeout()), this, SLOT(CheckCaptureTimeInfo())); + m_TimerCaptureInfo.setInterval(1000); + + connect(&m_TimerCaptureBeepSound, SIGNAL(timeout()), this, SLOT(FinishBeep())); + m_TimerCaptureBeepSound.setSingleShot(true); + //m_TimerCaptureBeepSound.setInterval(500); + m_TimerCaptureBeepSound.setInterval(0); + + + connect(&m_TimerCaptureVideo, SIGNAL(timeout()), this, SLOT(VideoStopEnable())); + m_TimerCaptureVideo.setSingleShot(true); + //m_TimerCaptureVideo.setInterval(500); + m_TimerCaptureVideo.setInterval(0); + + connect(&m_TimerCaptureImage, SIGNAL(timeout()), this, SLOT(ImageCaptureEnable())); + m_TimerCaptureImage.setSingleShot(true); + //m_TimerCaptureVideo.setInterval(500); + m_TimerCaptureImage.setInterval(0); + + connect(&m_TimerCaptureSingleShot, SIGNAL(timeout()), this, SLOT(CaptureSingleShot())); + m_TimerCaptureSingleShot.setInterval(10); + m_TimerCaptureSingleShot.setSingleShot(true); + + + int i=0; + for(i=0 ; i<3 ; i++) + { + FormCaptureImageSelect* pCaptureImageSelect = new FormCaptureImageSelect(this); + //connect(pCaptureImageSelect, SIGNAL(SingleDown()), this, SLOT(SingleDown())); + //connect(pCaptureImageSelect, SIGNAL(SingleUp()), this, SLOT(SingleUp())); + ui->verticalLayout->addWidget(pCaptureImageSelect); + + m_ListFormVerticalImageSelect.push_back(pCaptureImageSelect); + } + + for(i=0 ; i<5 ; i++) + { + FormCaptureImageSelect* pCaptureImageSelect = new FormCaptureImageSelect(this); + //connect(pCaptureImageSelect, SIGNAL(SingleDown()), this, SLOT(SingleDown())); + //connect(pCaptureImageSelect, SIGNAL(SingleUp()), this, SLOT(SingleUp())); + ui->horizontalLayout->addWidget(pCaptureImageSelect); + + m_ListFormHorizontalImageSelect.push_back(pCaptureImageSelect); + } + + m_nCurrentPos = 0; + m_nIndexCurrent = 0; + + m_nHandSwitchValue = 0; + m_nPrevHandSwitchValue = 0; + + + +} + +FormCapture::~FormCapture() +{ + //MainWindow* pMainWindow = MainWindow::GetMainWindow(); + //disconnect(this, SIGNAL(ExitCapture()), pMainWindow, SLOT(ExitCapture())); + + int i=0; + for(i=0 ; i<3 ; i++) + { + FormCaptureImageSelect* pCaptureImageSelect = m_ListFormVerticalImageSelect[i]; + SAFE_DELETE(pCaptureImageSelect); + } + m_ListFormVerticalImageSelect.clear(); + + for(i=0 ; i<5 ; i++) + { + FormCaptureImageSelect* pCaptureImageSelect = m_ListFormHorizontalImageSelect[i]; + SAFE_DELETE(pCaptureImageSelect); + } + m_ListFormHorizontalImageSelect.clear(); + + SAFE_DELETE(ui->widget_SelectImage); + + delete ui; +} + +void FormCapture::SingleDown() +{ + WRITE_FUNCTION_LOG(); + int nItem = 20; + int nIndexCurrent = m_nIndexCurrent; + + //nItem = pListHistoryImage->size(); + int nTotalImage = 0; + int i=0; + + CommonData* pCommonData = MainWindow::GetCommonData(); + vector* pListCaptureImage = pCommonData->GetListCaptureImage(); + { + for(i=0 ; isize() ; i++) + { + CAPTURE_IMAGE* pCaptureImage = (*pListCaptureImage)[i]; + if(pCaptureImage->m_bDelete==false) + { + nTotalImage++; + } + } + nItem = nTotalImage; + } + pCommonData->ReleaseListCaptureImage(); + + float fMaxRange = 299; + + int nPageDisplay = 0; + int nPageTotal = 0; + int nItemPerPage = m_nItemPerPage; + + SSlideBar* pSlideBar = NULL; + + int nDisplayType = MainWindow::GetCommonData()->GetDisplayType(); + if(nDisplayType==SDISPLAY_1280X1024) + { + pSlideBar = ui->horizontalScrollBar; + } + else if(nDisplayType==SDISPLAY_1920X1080) + { + pSlideBar = ui->verticalScrollBar; + } + + nIndexCurrent += nItemPerPage; + nPageTotal = ((nItem-1) / nItemPerPage) + 1; + nPageDisplay = nIndexCurrent / nItemPerPage; + + if(nPageTotal<=1) + { + pCommonData->ReleaseListCaptureImage(); + return; + } + + if(nPageDisplay >= nPageTotal) + { + nPageDisplay = nPageTotal - 1; + } + nIndexCurrent = nPageDisplay * nItemPerPage; + + if(nIndexCurrent!=m_nIndexCurrent) + { + int nCurrentPos; + nCurrentPos = (int)( (((float)nPageDisplay / (float)(nPageTotal-1)) * fMaxRange) + 0.5f); + //qDebug() << "PageDisplay: " << nPageDisplay << " PageTotal: " << nPageTotal << " nCurrentPos: " << nCurrentPos; + + pSlideBar->setValue(nCurrentPos); + } +} + +void FormCapture::SingleUp() +{ + WRITE_FUNCTION_LOG(); + int nItem = 20; + int nIndexCurrent = m_nIndexCurrent; + + int nTotalImage = 0; + int i=0; + CommonData* pCommonData = MainWindow::GetCommonData(); + vector* pListCaptureImage = pCommonData->GetListCaptureImage(); + { + for(i=0 ; isize() ; i++) + { + CAPTURE_IMAGE* pCaptureImage = (*pListCaptureImage)[i]; + if(pCaptureImage->m_bDelete==false) + { + nTotalImage++; + } + } + nItem = nTotalImage; + } + pCommonData->ReleaseListCaptureImage(); + + float fMaxRange = 299; + + int nPageDisplay = 0; + int nPageTotal = 0; + int nItemPerPage = m_nItemPerPage; + + SSlideBar* pSlideBar = NULL; + + int nDisplayType = MainWindow::GetCommonData()->GetDisplayType(); + if(nDisplayType==SDISPLAY_1280X1024) + { + pSlideBar = ui->horizontalScrollBar; + } + else if(nDisplayType==SDISPLAY_1920X1080) + { + pSlideBar = ui->verticalScrollBar; + } + + nIndexCurrent -= nItemPerPage; + nPageTotal = ((nItem-1) / nItemPerPage) + 1; + nPageDisplay = nIndexCurrent / nItemPerPage; + + if(nPageTotal<=1) + { + pCommonData->ReleaseListCaptureImage(); + return; + } + + if(nPageDisplay < 0) + { + nPageDisplay = 0; + } + nIndexCurrent = nPageDisplay * nItemPerPage; + + if(nIndexCurrent!=m_nIndexCurrent) + { + int nCurrentPos; + nCurrentPos = (int)( (((float)nPageDisplay / (float)(nPageTotal-1)) * fMaxRange) + 0.5f); + //qDebug() << "PageDisplay: " << nPageDisplay << " PageTotal: " << nPageTotal << " nCurrentPos: " << nCurrentPos; + pSlideBar->setValue(nCurrentPos); + } +} + +void FormCapture::on_pushButton_EXIT_clicked() +{ + WRITE_FUNCTION_LOG(); + m_Timer.stop(); + + usleep(100*1000); + + CommonData* pCommonData = MainWindow::GetCommonData(); + QRTSPThread* pThreadRTSP = pCommonData->GetThreadRTSP(); + + int nCaptureMode = 0; + + nCaptureMode = pThreadRTSP->GetCaptureMode(); + if(nCaptureMode==1) // Capture Video + { + if(ui->pushButton_VID->isEnabled()==true && ui->pushButton_VID->isChecked()==true) + { + VideoSaveEnd(); + } + else + { + int a=0; + } + + + ui->pushButton_VID->setChecked(false); + ui->pushButton_VID->setEnabled(true); + ui->pushButton_VID->update(); + + } + + pThreadRTSP->SetCaptureMode(2); // Background Streaming + + pThreadRTSP->ChangeState(11); + + if(pThreadRTSP->IsWorkingRTSP()==true) + { + pThreadRTSP->StopRTSP(); + } + + MainWindow::GetMainWindow()->ExitCapture(); +} + +QVideoWidget* FormCapture::GetVideoWidget() +{ + return ui->widget_Video; +} + +void FormCapture::on_pushButton_ACQ_clicked() +{ + ui->pushButton_ACQ->setDisabled(true); + + CommonData* pCommonData = MainWindow::GetCommonData(); + CAPTURE_IMAGE* pCaptureImage = NULL; + bool bIsCropMode = (bool)pCommonData->GetCropMode(); + + int nWidth = pCommonData->GetVideoWidth(); + int nHeight = pCommonData->GetVideoHeight(); + int nSaveWidth = pCommonData->GetVideoWidth(); + int nSaveHeight = pCommonData->GetVideoHeight(); + + + + QVideoWidget* pVideoWidget = ui->widget_Video; + pVideoWidget->Lock(); + { + uint8_t* pData = pVideoWidget->GetCaptureImage(); + + //SThreadImageSave* pThread = MainWindow::GetCommonData()->GetThreadCaptureImage(); + //pThread->SetImageCapture(pData, 1920, 1080); + + pCaptureImage = pCommonData->AddCaptureImage(pData, nWidth, nHeight, DISPLAY_IMAGE); + } + pVideoWidget->Unlock(); + + pCommonData->Beep(true); + m_TimerCaptureBeepSound.start(250); + m_TimerCaptureImage.start(10); + + + bool bCreateImageFile = false; + bCreateImageFile = pCommonData->ConvertCaptureImage(pCaptureImage, nSaveWidth, nSaveHeight); + if(bCreateImageFile==false) + { + SAFE_DELETE(pCaptureImage->m_pImage); + SAFE_DELETE(pCaptureImage->m_pImageCaptureRaw); + SAFE_ARRAY_DELETE(pCaptureImage->m_pImageCaptureColor); + + vector::iterator it; + vector* pListCaptureImage = pCommonData->GetListCaptureImage(); + { + for(it=pListCaptureImage->begin() ; it!=pListCaptureImage->end() ; ++it) + { + CAPTURE_IMAGE* pImageDisplay = *it; + if(pImageDisplay==pCaptureImage) + { + pListCaptureImage->erase(it); + break; + } + } + } + pCommonData->ReleaseListCaptureImage(); + + SAFE_DELETE(pCaptureImage); + return; + } + + m_nCaptureImageCount++; + m_TimeCapture.restart(); + + + /* + if(bIsCropMode==true) + { + *pCaptureImage->m_pImage = pCaptureImage->m_pImage->copy(QRect(242, 5, 1376, 992)); + //SAFE_DELETE(pCaptureImage->m_pImageSmall); + //pCaptureImage->m_pImageSmall = new QImage; + *pCaptureImage->m_pImageSmall = pCaptureImage->m_pImage->scaled(pCaptureImage->m_pImage->width()/4, pCaptureImage->m_pImage->height()/4, Qt::IgnoreAspectRatio, Qt::SmoothTransformation).copy(); + + } + */ + SAFE_DELETE(pCaptureImage->m_pImage); + SAFE_DELETE(pCaptureImage->m_pImageCaptureRaw); + SAFE_ARRAY_DELETE(pCaptureImage->m_pImageCaptureColor); + + + if(pCaptureImage!=NULL) + { + captureImage(pCaptureImage); + } + +} + +void FormCapture::captureImage(CAPTURE_IMAGE* pCaptureImage) +{ + WRITE_FUNCTION_LOG(); + ui->horizontalScrollBar->setValue(0); + CommonData* pCommonData = MainWindow::GetCommonData(); + bool bIsCropMode = (bool)pCommonData->GetCropMode(); + + vector* pListCaptureImage = pCommonData->GetListCaptureImage(); + { + int i=0; + int nIndex = 0; + + + for(i=0 ; isize() ; i++) + { + CAPTURE_IMAGE* pImageDisplay = (*pListCaptureImage)[i]; + if(pImageDisplay->m_nIndex==-1) + { + pImageDisplay->m_DateTime = QDateTime::currentDateTime(); + + if(pImageDisplay->m_strImageFilename.size()>0 && pImageDisplay->m_bSaveFile==false) + { + if(bIsCropMode==true) + { + *pImageDisplay->m_pImage = pImageDisplay->m_pImage->copy(QRect(242, 5, 1376, 992)); + } + SAFE_DELETE(pImageDisplay->m_pImage); + SAFE_DELETE(pImageDisplay->m_pImageCaptureRaw); + SAFE_ARRAY_DELETE(pImageDisplay->m_pImageCaptureColor); + } + } + pImageDisplay->m_nIndex = i+1; + } + } + pCommonData->ReleaseListCaptureImage(); + + UpdateViewer(); + +} + +void FormCapture::captureVideo(CAPTURE_IMAGE* pCaptureImage) +{ + WRITE_FUNCTION_LOG(); + ui->horizontalScrollBar->setValue(0); + + CommonData* pCommonData = MainWindow::GetCommonData(); + QRTSPThread* pThreadRTSP = pCommonData->GetThreadRTSP(); + + if(ui->pushButton_VID->isChecked()==true) + { + //Start Video Encoding + + bool bStartVideoCapture = true; + + if(pCommonData->IsAutoVideoCapture()==true) + { + if(m_nCaptureImageCount==1) + { + bStartVideoCapture = false; + } + } + + if(bStartVideoCapture==true) + { + pCaptureImage->m_nType = DISPLAY_VIDEO; + pCommonData->SetEncodingVideo(true); + + /* + pThreadRTSP->StopRTSP(); + while(pThreadRTSP->IsWorkingRTSP()==true) + { + usleep(10); + } + usleep(100*1000); + */ + + //pThreadRTSP->SaveFile(pCaptureImage->m_strVideoFilename); + + + if(pCaptureImage->m_pImage!=NULL && pCaptureImage->m_strImageFilename.size()>0) + { + SAFE_DELETE(pCaptureImage->m_pImage); + SAFE_DELETE(pCaptureImage->m_pImageCaptureRaw); + SAFE_ARRAY_DELETE(pCaptureImage->m_pImageCaptureColor); + } + } + + } + else + { + //Stop Video Encoding + + VideoSaveEnd(); + } + + vector* pListCaptureImage = pCommonData->GetListCaptureImage(); + { + int i=0; + for(i=0 ; isize() ; i++) + { + CAPTURE_IMAGE* pImageDisplay = (*pListCaptureImage)[i]; + pImageDisplay->m_nIndex = i+1; + } + } + pCommonData->ReleaseListCaptureImage(); + + + UpdateViewer(); +} + +void FormCapture::Init() +{ + WRITE_FUNCTION_LOG(); + CommonData* pCommonData = MainWindow::GetCommonData(); + SThreadImageSave* pThreadImageSave = pCommonData->GetThreadCaptureImage(); + //QRTSPThread* pThreadRTSP = pCommonData->GetThreadRTSP(); + + m_bExecStopRTSP = false; + m_bPrevConnectHDMI = false; + SetHDMICalbeConnect(m_bPrevConnectHDMI); + + m_bEncodingVideo = false; + m_nCaptureImageCount = 0; + m_bSendBackground = false; + m_bAutoVideoCapture = false; + + ui->horizontalSlider_Hue->hide(); + ui->horizontalSlider_Saturation->hide(); + + ui->horizontalSlider_Hue->setRange(0, 100); + ui->horizontalSlider_Saturation->setRange(0, 100); + + ui->horizontalSlider_Hue->setValue(50); + ui->horizontalSlider_Saturation->setValue(50); + + m_bDisconnectCheck = false; + + ui->pushButton_ACQ->setEnabled(true); + + /* + if(pCommonData->IsAutoVideoCapture()==true) + { + ui->pushButton_VID->setChecked(true); + ui->pushButton_VID->setDisabled(true); + } + else + { + */ + ui->pushButton_VID->setChecked(false); + ui->pushButton_VID->setEnabled(true); + //} + + + + int i=0; + for(i=0 ; i<3 ; i++) + { + FormCaptureImageSelect* pWidget = m_ListFormVerticalImageSelect[i]; + pWidget->SetCaptureImage(NULL); + } + + for(i=0 ; i<5 ; i++) + { + FormCaptureImageSelect* pWidget = m_ListFormHorizontalImageSelect[i]; + pWidget->SetCaptureImage(NULL); + } + + + //pCommonData->ClearCaptureImage(); + pThreadImageSave->ClearCaptureSaveToFile(); + pThreadImageSave->ClearMissCapture(); + pThreadImageSave->ChangeState(0x0); + if(pCommonData->IsActiveDetect()==true) + { + pThreadImageSave->SetExecuteDetect(true); + } + if(pCommonData->IsUseUSBBackup()==true) + { + pThreadImageSave->SetExecuteBackup(true); + } + + pCommonData->SetEncodingVideo(false); + + ui->frame_horizontalScrollBar->hide(); + + ui->frame_verticalScrollBar->hide(); + + ui->widget_Video->Init(); + + ui->label_LastCapture->hide(); + + ui->horizontalScrollBar->setRange(0, 299); + ui->horizontalScrollBar->setValue(0); + + + ui->checkBox_Detection->setChecked(false); + pCommonData->SetActiveDetect(false); + + ui->widget_SelectImage->Init(); + + + m_Timer.start(); + m_TimerCaptureInfo.start(); + + ACQUISITION_INFO* pAcquisitionInfo = pCommonData->GetAcquisitionInfo(); + SDATA_PATIENT* pInfoPatient = pAcquisitionInfo->GetPatientInfo(); + + if(pInfoPatient!=NULL) + { + ui->info_ID->setText(pInfoPatient->strPatientID); + ui->info_Name->setText(pInfoPatient->strPatientName); + QString strStudyInfo; + strStudyInfo = pAcquisitionInfo->GetStudyInfo()->strStudyDescription; + strStudyInfo += " "; + strStudyInfo += pAcquisitionInfo->GetPatientInfo()->strPatientAge; + strStudyInfo += " "; + strStudyInfo += pAcquisitionInfo->GetPatientInfo()->strPatientSex; + ui->label_StudyDescription->setText(strStudyInfo); + QString strPatientBirthDate = pInfoPatient->strPatientBirthDate; + if(strPatientBirthDate.size()==8) + { + strPatientBirthDate.insert(6, '/'); + strPatientBirthDate.insert(4, '/'); + } + ui->info_Birth->setText(strPatientBirthDate); + } + pCommonData->ReleaseAcquisitionInfo(); + + int nDisplayType = MainWindow::GetCommonData()->GetDisplayType(); + if(nDisplayType==SDISPLAY_1280X1024) + { + m_nItemPerPage = 5; + } + else + { + m_nItemPerPage = 3; + } + + + + int nCountCaptureImage = 0; + vector* pListCaptureImage = pCommonData->GetListCaptureImage(); + { + nCountCaptureImage = pListCaptureImage->size(); + } + pCommonData->ReleaseListCaptureImage(); + + if(nCountCaptureImage>0) + { + UpdateViewer(); + } + + m_nHandSwitchValue = 0; + m_nPrevHandSwitchValue = 0; + + qDebug() << "271 Port Timer Start"; + //m_TimeHandSwitchOn.start(); + + m_TimeCapture = QElapsedTimer(); + + + + m_nIndexCurrent = 0; + + if(pCommonData->IsAutoCaptureSendDICOM()==true) + { + SThreadSendDICOM* pThreadSendDICOM = pCommonData->GetThreadSendDICOM(); + + if(pThreadSendDICOM!=NULL) + { + pThreadSendDICOM->Init(); + pThreadSendDICOM->SetAutoSendImage(); + m_bSendBackground = true; + } + else + { + m_bSendBackground = false; + } + + + + /* + pThreadSendDICOM->SetAutoSendImage(); + + if(m_pDialogSendProgress!=NULL) + { + + delete m_pDialogSendProgress; + m_pDialogSendProgress = NULL; + } + */ + } + + + + //bool bIsConnectHDMI = pCommonData->IsConnectHDMI(); + //SetHDMICalbeConnect(bIsConnectHDMI); + + + + + m_pThreadWatchVideoLink->ChangeState(1); + + + usleep(500*1000); + m_TimerStartPipeLine.restart(); + + m_bDisconnectCheck = false; + m_bAutoVideoCapture = false; + m_bEncodingVideo = false; + m_bPrevConnectHDMI = false; + + if(pCommonData->IsAutoVideoCapture()==true) + { + m_bEncodingVideo = true; + } + + //qDebug() << "FormCapture: ChangeState(0)"; + //pThreadRTSP->ChangeState(0); + qDebug() << "FormCapture: INIT Finished!"; + +} + +void FormCapture::ExitCapture() +{ + WRITE_FUNCTION_LOG(); + + m_pThreadWatchVideoLink->ChangeState(0); + + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + CommonData* pCommonData = MainWindow::GetCommonData(); + SDatabase* pDatabase = NULL; + + int i=0; + SThreadSendDICOM* pThreadSendDICOM = pCommonData->GetThreadSendDICOM(); + + QRTSPThread* pThreadRTSP = pCommonData->GetThreadRTSP(); + + if(pCommonData->IsAutoCaptureSendDICOM()==true) + { + m_bSendBackground = false; + int nTestCount = 0; + if(pThreadSendDICOM->GetCurrentState()&0x20) + { + pThreadSendDICOM->SetExitAutoSend(); + } + + while(pThreadSendDICOM->GetCurrentState()&0x20 && nTestCount<500) + { + usleep(1000*2); + nTestCount++; + } + + if(nTestCount>=500) + { + int a=0; + } + + vector listAutoSendCompleteFile = pThreadSendDICOM->GetListAutoSendCompleteFile(); + if (!listAutoSendCompleteFile.empty()) + { + // 1. 이 작업을 위한 지역 DB 인스턴스를 생성하고 연결합니다. + SUTIL::SDatabase db(QString("AutoSendUpdate_%1").arg(reinterpret_cast(this))); + if (db.OpenDatabase("/home/birdhead/test.db") == 0) // 0이 성공 + { + // 2. 지역 인스턴스 'db'를 사용하여 트랜잭션을 관리합니다. + db.BeginTransaction(); + for (const QString& strAutoSendCompleteFile : listAutoSendCompleteFile) + { + // 3. 이미 안전하게 리팩토링된 SendUpdateAcquisitionTemp 함수를 호출합니다. + db.SendUpdateAcquisitionTemp(strAutoSendCompleteFile); + } + db.Commit(); + } + else + { + qWarning() << "DB open failed for auto send update."; + } + // 'db' 객체는 스코프가 끝나면 자동으로 소멸됩니다. + } + } + + SThreadImageSave* pThreadImageSave = pCommonData->GetThreadCaptureImage(); + if(pCommonData->IsActiveDetect()==true) + { + pThreadImageSave->SetExecuteDetect(false); + } + if(pCommonData->IsUseUSBBackup()==true) + { + pThreadImageSave->SetExecuteBackup(false); + while(pThreadImageSave->IsExecuteBackup()==true) + { + usleep(100*1000); + } + } + + WriteDatabaseListCapture(); + usleep(100*1000); + + // 1. 이 작업을 위한 지역 DB 인스턴스를 생성하고 연결합니다. + SUTIL::SDatabase db(QString("MergeTempData_%1").arg(reinterpret_cast(this))); + if (db.OpenDatabase("/home/birdhead/test.db") == 0) // 0이 성공 + { + // 2. 단일 함수 호출로 '병합'과 '정리' 작업을 모두 수행합니다. + // 리팩토링된 AddAcquisitionTempToImage 함수는 내부에 트랜잭션과 + // AcquisitionTemp 테이블 정리 로직을 이미 포함하고 있습니다. + db.AddAcquisitionTempToImage(); + } + else + { + qWarning() << "DB open failed for merging temp data."; + // 필요에 따라 오류 처리 + } + + usleep(10*1000); + //QProcess::execute("sync"); + + if(pCommonData->IsAutoExitCaptureSendDICOM()==true) + { + vector listFile; + ACQUISITION_INFO* pAcquisitionInfo = pCommonData->GetAcquisitionInfo(); + int nStudyIndex = pAcquisitionInfo->GetSeriesInfo()->nStudyIndex; + pCommonData->ReleaseAcquisitionInfo(); + + + if(pThreadSendDICOM!=NULL) + { + bool bExecuteSend = true; + + bool bAutoRetry = true; + + int nTryCount = 0; + + bool bCacheWriteSuccess = false; + + { + // 1. 재시도 루프에 진입하기 전에 지역 DB 인스턴스를 생성하고 연결합니다. + // 이렇게 하면 루프 안에서 불필요하게 연결을 반복하지 않아 효율적입니다. + SUTIL::SDatabase db(QString("CacheWriteTask_%1").arg(reinterpret_cast(this))); + if (db.OpenDatabase("/home/birdhead/test.db") == 0) // 0이 성공 + { + // 2. 최대 3번까지, 그리고 성공하지 못했을 경우에만 루프를 실행합니다. + for (int i = 0; i < 3 && !bCacheWriteSuccess; i++) + { + // 3. 새로운 CacheWrite API를 호출합니다. 이제 bool 값을 반환합니다. + bCacheWriteSuccess = db.CacheWrite(); + + // 4. 실패했을 경우에만 대기 후 재시도합니다. + if (!bCacheWriteSuccess) + { + qWarning() << "CacheWrite failed. Retrying... (" << i + 1 << "/3)"; + QThread::msleep(100); // 100ms 대기 후 재시도 + } + } + } + else + { + qWarning() << "DB open failed for CacheWrite task."; + } + + // 최종 성공 여부에 따라 후속 처리 + if (bCacheWriteSuccess) + { + qDebug() << "Cache was successfully written to disk."; + } + else + { + qCritical() << "Failed to write cache to disk after 3 attempts."; + } + } + + + + + QThread::usleep(100*1000); + + { + // 1. 이 작업을 위한 지역 DB 인스턴스를 생성하고 연결합니다. + SUTIL::SDatabase db(QString("GetSendListTask_%1").arg(reinterpret_cast(this))); + if (db.OpenDatabase("/home/birdhead/test.db") == 0) // 0이 성공 + { + // 2. 지역 인스턴스 'db'를 사용하여 안전하게 함수를 호출합니다. + // GetSendList 함수는 vector을 직접 반환합니다. + listFile = db.GetSendList(nStudyIndex); + } + else + { + qWarning() << "DB open failed for GetSendList task."; + // 필요에 따라 오류 처리 + } + } + + + if(listFile.size()==0) + { + bExecuteSend = false; + } + + while(bExecuteSend==true) + { + while(pThreadSendDICOM->GetCurrentState()&0x40) + { + usleep(100*1000); + } + + if(nTryCount>1) + { + bAutoRetry = false; + } + + int nSendCount = 0; + { + // 포인터가 아닌 값 타입의 리스트. 이 변수는 함수로부터 결과를 직접 받습니다. + QList listResponse; + + // 1. 이 작업을 위한 지역 DB 인스턴스를 생성하고 연결합니다. + SUTIL::SDatabase db(QString("GetExitSendListInfo_Task_%1").arg(reinterpret_cast(this))); + if (db.OpenDatabase("/home/birdhead/test.db") == 0) // 0이 성공 + { + // 2. 새로운 API를 호출합니다. 함수가 직접 결과 리스트 "값"을 반환합니다. + listResponse = db.GetExitSendListInfo(nStudyIndex); + + // 3. count는 반환된 리스트의 .size()를 통해 얻습니다. + nSendCount = listResponse.size(); + } + else + { + qWarning() << "DB open failed for GetExitSendListInfo task."; + // 필요에 따라 오류 처리 + } + + pThreadSendDICOM->SetSendImageList(listResponse); + } + + + if(m_pDialogSendProgress!=NULL) + { + delete m_pDialogSendProgress; + } + m_pDialogSendProgress = new DialogProgress(this); + + m_pDialogSendProgress->Init(1); + m_pDialogSendProgress->SetAutoRetryDICOMSend(bAutoRetry); + m_pDialogSendProgress->exec(); + + { + vector listImageSendCompleteFile = pThreadSendDICOM->GetListImageSendCompleteFile(); + + if (!listImageSendCompleteFile.empty()) + { + // 1. 이 작업을 위한 지역 DB 인스턴스를 생성하고 연결합니다. + SUTIL::SDatabase db(QString("ImageSendUpdate_%1").arg(reinterpret_cast(this))); + if (db.OpenDatabase("/home/birdhead/test.db") == 0) // 0이 성공 + { + // 2. 새로운 이름의 트랜잭션 함수를 사용합니다. + db.BeginTransaction(); + for (const QString& strImageSendCompleteFile : listImageSendCompleteFile) + { + // 3. 지역 인스턴스 'db'를 통해 안전하게 함수를 호출합니다. + db.SendUpdate(strImageSendCompleteFile); + } + db.Commit(); + } + else + { + qWarning() << "DB open failed for image send update."; + } + } + } + + + int nRet = m_pDialogSendProgress->result(); + + if(m_pDialogSendProgress->IsError()==false) + { + bExecuteSend = false; + } + else + { + if(nRet==QDialog::Rejected) + { + bExecuteSend = false; + } + } + + if(m_pDialogSendProgress!=NULL) + { + delete m_pDialogSendProgress; + m_pDialogSendProgress = NULL; + } + + //SDatabase::DeleteListReponse(listResponse); + + nTryCount++; + } + } + } + + if(pCommonData->IsUseNetworkBackupVideo()==true) + { + vector* pListExport = pCommonData->GetExportList(); + + vector* pListCaptureImage = pCommonData->GetListCaptureImage(); + { + + for(i=pListCaptureImage->size()-1 ; i>=0 ; i--) + { + CAPTURE_IMAGE* pCaptureImage = (*pListCaptureImage)[i]; + if(pCaptureImage->m_nType==DISPLAY_VIDEO) + { + QString strImageFilename = pCaptureImage->m_strImageFilename; + QFileInfo fileCheck(strImageFilename); + if(fileCheck.exists()==true) + { + QString strPath = fileCheck.path(); + QString strFilename = fileCheck.fileName(); + + QStringList filter; + if(strFilename.size()>0) + { + strFilename = strFilename.left(strFilename.size()-4); + filter << strFilename + QString("*") + MOVIE_FILE_EXTENSION; + } + + QDirIterator it(strPath, filter, QDir::AllEntries | QDir::NoSymLinks | QDir::NoDotAndDotDot, QDirIterator::NoIteratorFlags); + QStringList listMovieFile; + while(it.hasNext()==true) + { + QString strVideoFilename = it.next(); + listMovieFile << strVideoFilename; + pListExport->push_back(strVideoFilename); + } + } + + + } + } + } + pCommonData->ReleaseListCaptureImage(); + + + if(pListExport->size()>0) + { + /* + SambaClient* pSambaClient = MainWindow::GetCommonData()->GetSambaClient(); + + bool bMount = pSambaClient->IsMount(); + if(bMount==true) + { + BackupNetworkShareFolder(""); + } + */ + BackupNetworkShareFolder(""); + + pListExport->clear(); + } + } + + m_TimerCaptureInfo.stop(); + ui->widget_Video->Exit(); + + m_nHandSwitchValue = 0; + m_nPrevHandSwitchValue = 0; + + + + + //QProcess::execute("sync"); + + //pCommonData->GetThreadCaptureImage()->ChangeState(0); + pCommonData->ClearCaptureImage(); + + if(pThreadRTSP->IsWorkingRTSP()==true) + { + pThreadRTSP->ChangeState(11); + pThreadRTSP->StopRTSP(); + usleep(10*1000); + } + + QElapsedTimer nCheckTime; + nCheckTime.restart(); + while(pThreadRTSP->IsWorkingRTSP()==true) + { + usleep(100); + if(nCheckTime.elapsed() > 7*1000) + { + pMainWindow->SetDisplayError("Cannot Disconnect VideoLink!"); + break; + } + } +} + +void FormCapture::on_pushButton_VID_clicked() +{ + WRITE_FUNCTION_LOG(); + + CommonData* pCommonData = MainWindow::GetCommonData(); + QRTSPThread* pThreadRTSP = pCommonData->GetThreadRTSP(); + + if(pThreadRTSP->IsVideoLink()==false || pThreadRTSP->IsWorkingRTSP()==false) + { + ui->pushButton_VID->setChecked(false); + return; + } + + if(pCommonData->IsEncodingVideo()==false) + { + if(pThreadRTSP->IsVideoLink()==true && pThreadRTSP->IsWorkingRTSP()==true) + { + m_nCaptureImageCount++; + QString strVideoFilename = pCommonData->GetNewFilename(DISPLAY_VIDEO); + pThreadRTSP->SetCaptureMode(1); + pThreadRTSP->SaveFile(strVideoFilename); + + VideoButtonChange(true); + m_TimeCaptureVideo.restart(); + m_bEncodingVideo = true; + } + else + { + ui->pushButton_VID->setChecked(false); + m_bEncodingVideo = false; + } + } + else + { + //m_Timer.stop(); + + VideoSaveEnd(); + + VideoButtonChange(false); + m_bEncodingVideo = false; + } + m_bDisconnectCheck = false; + + +} + +void FormCapture::VideoSaveEnd() +{ + // --- 1. 기본 준비 (기존 코드와 동일) --- + CommonData* pCommonData = MainWindow::GetCommonData(); + QRTSPThread* pThreadRTSP = pCommonData->GetThreadRTSP(); + + pThreadRTSP->SaveEnd(); + pThreadRTSP->SetCaptureMode(0); + pCommonData->SetEncodingVideo(false); + + QString strVideoFile = pThreadRTSP->GetVideoFilename(); // 예: /path/to/video_12345.mp4 + + // --- 2. DB 인스턴스 생성 및 트랜잭션 시작 --- + SUTIL::SDatabase db(QString("VideoSaveEnd_%1").arg(reinterpret_cast(this))); + if (db.OpenDatabase("/home/birdhead/test.db") != 0) { + qWarning() << "DB open failed in VideoSaveEnd."; + return; + } + + if (!db.BeginTransaction()) { + qWarning() << "Failed to begin transaction in VideoSaveEnd."; + return; + } + + // --- 3. 파일 시스템에서 분할된 비디오 파일 목록 가져오기 (기존 코드와 동일) --- + QFileInfo fi(strVideoFile); + QString strPath = fi.path(); + QList listFileLocation; + + QString strBaseFilename = fi.fileName(); + if (strBaseFilename.contains(MOVIE_FILE_EXTENSION)) { + strBaseFilename.replace(MOVIE_FILE_EXTENSION, ""); + // RTSP 스레드가 저장하는 파일 이름 패턴에 맞게 와일드카드 적용 + // 예: "video_12345_*" + QString strFilenamePattern = strBaseFilename + "*" + MOVIE_FILE_EXTENSION; + + QDirIterator itDir(strPath, {strFilenamePattern}, QDir::Files); + while(itDir.hasNext()) { + listFileLocation.push_back(itDir.next()); + } + + // 파일 이름을 숫자로 인식하여 올바르게 정렬 + QCollator collator; + collator.setNumericMode(true); + std::sort(listFileLocation.begin(), listFileLocation.end(), collator); + } + + // --- 4. 데이터베이스 작업 --- + bool bSuccess = true; + QList listResult; + + // LIKE 절에 사용할 검색용 파일 경로 (확장자 제거) + QString searchFileLocation = strVideoFile; + searchFileLocation.replace(MOVIE_FILE_EXTENSION, ""); + + QString selectQuery = "SELECT `SeriesIndex`, `ImageNumber`, `ImageInstanceUID`, `StudyIndex`, `AcquisitionDate`, `AcquisitionTime`, " + "`ContentDate`, `ContentTime`, `AcquisitionNumber`, `InstanceNumber`, `PatientOrientation`, `ImageLaterality`, " + "`ImageComments` FROM AcquisitionTemp WHERE FileLocation LIKE ? AND FileType=1;"; + + db.ExecuteQuery(selectQuery, { QString("%%1%").arg(searchFileLocation) }, listResult); + + if (!listResult.isEmpty()) + { + // 4-1. 원본 비디오 레코드 정보 파싱 + const QStringList* pListData = listResult.at(0); + QString strSeriesIndex = pListData->at(0); + QString strImageNumber = pListData->at(1); + QString strImageInstanceUID = pListData->at(2); + QString strStudyIndex = pListData->at(3); + QString strAcquisitionDate = pListData->at(4); + QString strAcquisitionTime = pListData->at(5); + QString strContentDate = pListData->at(6); + QString strContentTime = pListData->at(7); + QString strAcquisitionNumber = pListData->at(8); + QString strInstanceNumber = pListData->at(9); + QString strPatientOrientation = pListData->at(10); + QString strImageLaterality = pListData->at(11); + QString strImageComments = pListData->at(12); + + QSqlDatabase qdb = QSqlDatabase::database(db.connectionName()); + + // 4-2. 루프 밖에서 쿼리 미리 준비 (성능 향상) + QSqlQuery updateQuery(qdb); + updateQuery.prepare("UPDATE AcquisitionTemp SET FileLocation = ? WHERE FileLocation = ?;"); + + QSqlQuery insertQuery(qdb); + insertQuery.prepare("INSERT INTO AcquisitionTemp(`SeriesIndex`, `ImageNumber`, `ImageInstanceUID`, `FileLocation`, `StudyIndex`, " + "`AcquisitionDate`, `AcquisitionTime`, `ContentDate`, `ContentTime`, `AcquisitionNumber`, `InstanceNumber`, " + "`PatientOrientation`, `ImageLaterality`, `ImageComments`, `FileType`) " + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 1);"); + + // 4-3. 파일 목록을 순회하며 DB 업데이트 또는 삽입 + for (int i = 0; i < listFileLocation.size(); ++i) + { + QString strTmpFileLocation = listFileLocation.at(i); + if (i == 0) { + // 첫 번째 파일은 기존 레코드의 파일 경로를 업데이트 + updateQuery.addBindValue(strTmpFileLocation); + updateQuery.addBindValue(strVideoFile); // 원본 임시 파일 경로 + if (!updateQuery.exec()) { + qWarning() << "VideoSaveEnd UPDATE failed:" << updateQuery.lastError().text(); + bSuccess = false; + break; + } + } else { + // 두 번째 이후 파일들은 새로운 레코드로 삽입 + QString strNewImageInstanceUID = QString("%1.%2").arg(strImageInstanceUID).arg(i + 1); + + insertQuery.addBindValue(strSeriesIndex.toInt()); + insertQuery.addBindValue(strImageNumber.toInt()); + insertQuery.addBindValue(strNewImageInstanceUID); + insertQuery.addBindValue(strTmpFileLocation); + insertQuery.addBindValue(strStudyIndex.toInt()); + insertQuery.addBindValue(strAcquisitionDate); + insertQuery.addBindValue(strAcquisitionTime); + insertQuery.addBindValue(strContentDate); + insertQuery.addBindValue(strContentTime); + insertQuery.addBindValue(strAcquisitionNumber.toInt()); + insertQuery.addBindValue(strInstanceNumber.toInt()); + insertQuery.addBindValue(strPatientOrientation); + insertQuery.addBindValue(strImageLaterality); + insertQuery.addBindValue(strImageComments); + + if (!insertQuery.exec()) { + qWarning() << "VideoSaveEnd INSERT failed:" << insertQuery.lastError().text(); + bSuccess = false; + break; + } + } + } + } + + SUTIL::SDatabase::DeleteListReponse(listResult); + + // --- 5. 트랜잭션 완료 --- + if (bSuccess) { + db.Commit(); + qDebug() << "VideoSaveEnd: Successfully processed" << listFileLocation.size() << "video files."; + } else { + db.Rollback(); + qWarning() << "VideoSaveEnd: An error occurred. Transaction rolled back."; + } + // 이 함수의 끝에서 'db' 객체는 자동으로 소멸됩니다. +} + +void FormCapture::VideoButtonChange(bool bEncodingVideo) +{ + if(bEncodingVideo==true) + { + ui->pushButton_VID->setDisabled(true); + ui->pushButton_VID->setChecked(true); + ui->pushButton_VID->update(); + + m_TimeCapture.restart(); + m_TimerStartPipeLine.restart(); + + m_bAutoVideoCapture = false; + + m_TimerCaptureVideo.start(3000); + } + else + { + ui->pushButton_VID->setChecked(false); + ui->pushButton_VID->update(); + update(); + + ui->pushButton_VID->setDisabled(true); + m_TimerCaptureVideo.start(3000); + + //m_Timer.start(); + m_TimerStartPipeLine.restart(); + } +} + + +void FormCapture::valueChangedScrollBarVertical(int value) +{ + WRITE_FUNCTION_LOG_PARAM(QString::number(value)); + int nTotalImage = 0; + int i=0; + + CommonData* pCommonData = MainWindow::GetCommonData(); + vector* pListCaptureImage = pCommonData->GetListCaptureImage(); + { + for(i=0 ; isize() ; i++) + { + CAPTURE_IMAGE* pCaptureImage = (*pListCaptureImage)[i]; + if(pCaptureImage->m_bDelete==false) + { + nTotalImage++; + } + } + } + pCommonData->ReleaseListCaptureImage(); + + + int nItem = nTotalImage; + + float fMaxItem = nItem; + float fMaxRange = 299; + int nItemIndex = (((float)value/fMaxRange) * fMaxItem + 0.5f); + + int nPageDisplay = 0; + int nPageTotal = 0; + int nItemPerPage = m_nItemPerPage; + + int nDisplayType = MainWindow::GetCommonData()->GetDisplayType(); + if(nDisplayType==SDISPLAY_1280X1024) + { + + } + else if(nDisplayType==SDISPLAY_1920X1080) + { + + } + + nPageTotal = ((nItem-1) / nItemPerPage) + 1; + nPageDisplay = ( ((float)value / fMaxRange) * (nPageTotal-1) + 0.5f ); + + if(nPageTotal<=1) + { + return; + } + + if(nPageDisplay >= nPageTotal) + { + nPageDisplay = nPageTotal-1; + } + + nItemIndex = nPageDisplay * nItemPerPage; + + m_nCurrentPos = value; + + if(m_nIndexCurrent!=nItemIndex) + { + m_nIndexCurrent = nItemIndex; + UpdateViewer(); + } +} + +void FormCapture::valueChangedScrollBarHorizontal(int value) +{ + WRITE_FUNCTION_LOG_PARAM(QString::number(value)); + int nTotalImage = 0; + int i=0; + //qDebug() << value; + CommonData* pCommonData = MainWindow::GetCommonData(); + vector* pListCaptureImage = pCommonData->GetListCaptureImage(); + { + for(i=0 ; isize() ; i++) + { + CAPTURE_IMAGE* pCaptureImage = (*pListCaptureImage)[i]; + if(pCaptureImage->m_bDelete==false) + { + nTotalImage++; + } + } + } + pCommonData->ReleaseListCaptureImage(); + + int nItem = nTotalImage; + + float fMaxItem = nItem; + float fMaxRange = 299; + int nItemIndex = (((float)value/fMaxRange) * fMaxItem + 0.5f); + + int nPageDisplay = 0; + int nPageTotal = 0; + int nItemPerPage = m_nItemPerPage; + + int nDisplayType = MainWindow::GetCommonData()->GetDisplayType(); + if(nDisplayType==SDISPLAY_1280X1024) + { + + } + else if(nDisplayType==SDISPLAY_1920X1080) + { + + } + + nPageTotal = ((nItem-1) / nItemPerPage) + 1; + nPageDisplay = ( ((float)value / fMaxRange) * (nPageTotal-1) + 0.5f ); + + if(nPageTotal<=1) + { + return; + } + + if(nPageDisplay >= nPageTotal) + { + nPageDisplay = nPageTotal-1; + } + + nItemIndex = nPageDisplay * nItemPerPage; + + m_nCurrentPos = value; + + if(m_nIndexCurrent!=nItemIndex) + { + m_nIndexCurrent = nItemIndex; + UpdateViewer(); + } +} + +void FormCapture::UpdateViewer() +{ + WRITE_FUNCTION_LOG(); + int nIndex = 0; + int nDisplayNumber = m_nItemPerPage; + int i=0; + + int nTotalImage = 0; + + CommonData* pCommonData = MainWindow::GetCommonData(); + + vector* pListCaptureImage = pCommonData->GetListCaptureImage(); + { + for(i=0 ; isize() ; i++) + { + CAPTURE_IMAGE* pCaptureImage = (*pListCaptureImage)[i]; + if(pCaptureImage->m_bDelete==false) + { + nTotalImage++; + } + } + + int nDisplayType = MainWindow::GetCommonData()->GetDisplayType(); + if(nDisplayType==SDISPLAY_1280X1024) + { + for(i=0 ; isize() && nDisplayIndex>=0) + { + CAPTURE_IMAGE* pImageSelect = NULL; + if(pListCaptureImage->size() > nDisplayIndex) + { + int j=0; + int nIndexTest = 0; + for(j=0 ; jsize() ; j++) + { + CAPTURE_IMAGE* pCaptureImage = (*pListCaptureImage)[j]; + if(pCaptureImage->m_bDelete==false) + { + if(nDisplayIndex==nIndexTest) + { + pImageSelect = pCaptureImage; + pImageSelect->m_nIndex = nIndexTest + 1; + break; + } + nIndexTest++; + } + } + //pImageSelect = (*pListCaptureImage)[nDisplayIndex]; + } + + pForm->SetCaptureImage(pImageSelect); + } + else + { + pForm->SetCaptureImage(NULL); + } + + pForm->update(); + nIndex++; + } + + ui->verticalLayoutWidget->show(); + ui->verticalLayout->update(); + if(pListCaptureImage->size()>m_nItemPerPage) + { + ui->frame_horizontalScrollBar->show(); + } + else + { + ui->frame_horizontalScrollBar->hide(); + } + } + else if(nDisplayType==SDISPLAY_1920X1080) + { + for(i=0 ; isize() && nDisplayIndex>=0) + { + CAPTURE_IMAGE* pImageSelect = NULL; + if(pListCaptureImage->size() > nDisplayIndex) + { + pImageSelect = (*pListCaptureImage)[nDisplayIndex]; + } + + pForm->SetCaptureImage(pImageSelect); + } + else + { + pForm->SetCaptureImage(NULL); + } + + pForm->update(); + nIndex++; + } + + ui->verticalLayoutWidget->show(); + ui->verticalLayout->update(); + if(pListCaptureImage->size()>m_nItemPerPage) + { + ui->frame_verticalScrollBar->show(); + } + else + { + ui->frame_verticalScrollBar->hide(); + } + } + } + pCommonData->ReleaseListCaptureImage(); + + + + +} + +void FormCapture::wheelEvent(QWheelEvent *event) +{ + WRITE_FUNCTION_LOG(); + int nDelta = event->delta(); + if(nDelta<0) + { + SingleDown(); + } + else if(nDelta>0) + { + SingleUp(); + } +} + +void FormCapture::CheckVideoDevice() +{ + QGstreamerPlayer* pPlayer = NULL; + CommonData* pCommonData = MainWindow::GetCommonData(); + QRTSPThread* pRTSPThread = pCommonData->GetThreadRTSP(); + QVideoWidget* pVideoWidget = ui->widget_Video; + bool bHDMI = true; + QElapsedTimer nCheckTime; + + pPlayer = pRTSPThread->GetGstreamerPlayer(); + nCheckTime.start(); + + if(pPlayer==NULL) + { + usleep(100); + return; + } + + bool bPlayerCleanQueue = false; + + //Existing Thread of Video Watching Link + if(m_pThreadWatchVideoLink!=NULL) + { + bHDMI = m_pThreadWatchVideoLink->IsConnectHDMI(); + + if(bHDMI==false) + { + m_bDisconnectCheck = true; + if(pRTSPThread->IsVideoLink()==true) + { + //bHDMI = true; + } + } + + if(bHDMI!=m_bPrevConnectHDMI) + { + SetHDMICalbeConnect(bHDMI); + + if(bHDMI==true) + { + m_bExecStopRTSP = false; + } + + m_bPrevConnectHDMI = bHDMI; + usleep(100); + return; + } + } + + + if(m_bEncodingVideo==true) + { + if(pRTSPThread->IsWorkingRTSP()==true && pRTSPThread->GetCaptureMode()==1) + { + qint64 nTimeEncodeVideo = m_TimeCaptureVideo.elapsed(); + if(nTimeEncodeVideo < 3 * 1000) + { + return; + } + + //Video Disconnected where Encoding + if(m_bDisconnectCheck==true) + { + usleep(100); + + VideoSaveEnd(); + + VideoButtonChange(false); + m_bDisconnectCheck = false; + m_bEncodingVideo = true; + + bPlayerCleanQueue = true; + } + } + + } + + //Save Database when Video Encoding + if(m_bAutoVideoCapture==false && pRTSPThread->GetCaptureMode()==1) + { + if(pRTSPThread->IsWorkingRTSP()==true && pRTSPThread->IsVideoLink()==true) + { + int nWidth = 1920; + int nHeight = 1080; + CAPTURE_IMAGE* pCaptureImage = NULL; + + m_bAutoVideoCapture = true; + m_nCaptureImageCount++; + m_TimeCapture.restart(); + + pCommonData->SetEncodingVideo(true); + + QString strVideoFilename = pCommonData->GetThreadRTSP()->GetVideoFilename(); + + uint8_t* pData = NULL; + + if(pVideoWidget->Lock()==true) + { + pData = pVideoWidget->GetCaptureImage(); + } + pVideoWidget->Unlock(); + + pCaptureImage = pCommonData->AddCaptureImage(pData, nWidth, nHeight, DISPLAY_VIDEO); + + QThread::usleep(10*1000); + + pCaptureImage->m_strVideoFilename = strVideoFilename; + + bool bCreateImageFile = false; + bCreateImageFile = pCommonData->ConvertCaptureImage(pCaptureImage, nWidth, nHeight); + + pCaptureImage->m_bSaveFile = true; + SAFE_DELETE(pCaptureImage->m_pImage); + SAFE_DELETE(pCaptureImage->m_pImageCaptureRaw); + SAFE_ARRAY_DELETE(pCaptureImage->m_pImageCaptureColor); + + if(pCaptureImage!=NULL) + { + captureVideo(pCaptureImage); + } + } + } + + int nVideoTime = pRTSPThread->GetVideoLinkTime(); + if(pPlayer->IsPipeStart()==true) + { + if(nVideoTime>3*1000 && bHDMI==false) + //if(bHDMI==false) + { + /* + pRTSPThread->StopRTSP(); + usleep(100); + + bPlayerCleanQueue = true; + + nCheckTime.restart(); + while(pRTSPThread->IsWorkingRTSP()==true) + { + usleep(100); + if(nCheckTime.elapsed() > 100) + { + pRTSPThread->StopRTSP(); + nCheckTime.restart(); + } + + } + */ + + + } + + //GStreamer PipeLine is Starting and "Video Link is loss" + if(pRTSPThread->IsVideoLink()==true) + { + if(m_bEncodingVideo==true && bHDMI==true) + { + if(pRTSPThread->IsWorkingRTSP()==true && nVideoTime>3*1000) + { + int a=0; + } + if(pRTSPThread->GetCaptureMode()==0 && nVideoTime>3*1000) + { + if(ui->pushButton_VID->isEnabled()==true && ui->pushButton_VID->isChecked()==false) + { + m_nCaptureImageCount++; + QString strVideoFilename = pCommonData->GetNewFilename(DISPLAY_VIDEO); + pRTSPThread->SetCaptureMode(1); + pRTSPThread->SaveFile(strVideoFilename); + + VideoButtonChange(true); + m_TimeCaptureVideo.restart(); + m_bAutoVideoCapture = false; + } + } + } + m_TimerStartPipeLine.restart(); + } + } + + if(pRTSPThread->IsVideoLink()==true && pRTSPThread->IsWorkingRTSP()==true) + { + m_bDisconnectCheck = false; + } +} + +void FormCapture::CheckVideoDevice_old() +{ + QGstreamerPlayer* pPlayer = NULL; + CommonData* pCommonData = MainWindow::GetCommonData(); + QRTSPThread* pRTSPThread = pCommonData->GetThreadRTSP(); + + bool bHDMI = true; + QElapsedTimer nCheckTime; + + nCheckTime.start(); + + //Video Watching Link + if(m_pThreadWatchVideoLink!=NULL) + { + bHDMI = m_pThreadWatchVideoLink->IsConnectHDMI(); + + if(bHDMI==false) + { + m_bDisconnectCheck = true; + if(pRTSPThread->IsVideoLink()==true) + { + //bHDMI = true; + } + } + + if(bHDMI!=m_bPrevConnectHDMI) + { + SetHDMICalbeConnect(bHDMI); + + usleep(100*1000); + } + } + + + if(m_bEncodingVideo==true) + { + qint64 nTimeEncodeVideo = m_TimeCaptureVideo.elapsed(); + if(nTimeEncodeVideo < 3 * 1000) + { + return; + } + + //Video Disconnected where Encoding + if(m_bDisconnectCheck==true) + { + //Video Encoding On + if(pRTSPThread->IsError()==false) + { + pRTSPThread->SaveEnd(); + + qDebug() << "StopRTSP: Start"; + pRTSPThread->StopRTSP(); + usleep(100*1000); + + ui->widget_Video->Lock(); + { + ui->widget_Video->ClearQueueData(); + ui->widget_Video->SetChangeTexture(true); + ui->widget_Video->UpdateTexture(); + } + ui->widget_Video->Unlock(); + + nCheckTime.restart(); + while(pRTSPThread->IsWorkingRTSP()==true) + { + usleep(100); + if(nCheckTime.elapsed() > 7*1000) + { + break; + } + + } + qDebug() << "StopRTSP: Finish"; + } + else + { + //Video Encoding Off + usleep(1000*10); + } + + VideoSaveEnd(); + + VideoButtonChange(false); + m_bDisconnectCheck = false; + m_bEncodingVideo = false; + + ui->widget_Video->Lock(); + { + ui->widget_Video->ClearQueueData(); + ui->widget_Video->SetChangeTexture(true); + ui->widget_Video->UpdateTexture(); + } + ui->widget_Video->Unlock(); + } + } + + //Save Database when Video Encoding + if(m_bAutoVideoCapture==false && pRTSPThread->GetCaptureMode()==1) + { + if(pRTSPThread->IsWorkingRTSP()==true) + { + if(pRTSPThread->IsVideoLink()==true) + { + m_bAutoVideoCapture = true; + m_nCaptureImageCount++; + + QThread::usleep(10*1000); + m_TimeCapture.restart(); + + pCommonData->SetEncodingVideo(true); + + QString strVideoFilename = pCommonData->GetThreadRTSP()->GetVideoFilename(); + CAPTURE_IMAGE* pCaptureImage = NULL; + + { + CommonData* pCommonData = MainWindow::GetCommonData(); + + int nWidth = 1920; + int nHeight = 1080; + + QVideoWidget* pVideoWidget = ui->widget_Video; + pVideoWidget->Lock(); + { + uint8_t* pData = pVideoWidget->GetCaptureImage(); + pCaptureImage = pCommonData->AddCaptureImage(pData, nWidth, nHeight, DISPLAY_VIDEO); + } + pVideoWidget->Unlock(); + + pCaptureImage->m_strVideoFilename = strVideoFilename; + + bool bCreateImageFile = false; + bCreateImageFile = pCommonData->ConvertCaptureImage(pCaptureImage, nWidth, nHeight); + + pCaptureImage->m_bSaveFile = true; + SAFE_DELETE(pCaptureImage->m_pImage); + SAFE_DELETE(pCaptureImage->m_pImageCaptureRaw); + SAFE_ARRAY_DELETE(pCaptureImage->m_pImageCaptureColor); + } + + if(pCaptureImage!=NULL) + { + captureVideo(pCaptureImage); + } + + } + else + { + int a=0; + } + + } + else + { + int a=0; + } + + } + + bool bIsStart = false; + pPlayer = pRTSPThread->GetGstreamerPlayer(); + + if(bIsStart==false) + { + + if(pPlayer==NULL) + { + usleep(1*1000); + } + else + { + qint64 nTime = m_TimerStartPipeLine.elapsed(); + + if(pPlayer->IsPipeStart()==false) + { + usleep(1*1000); + + if(pRTSPThread->IsVideoLink()==false) + { + if(nTime>4*1000) + { + if(pRTSPThread->GetCaptureMode()==1) + { + pRTSPThread->SaveEnd(); + + QString strVideoFile = pRTSPThread->GetVideoFilename(); + strVideoFile.replace(".mkv", "_00000.mkv"); + QFileInfo ff(strVideoFile); + if(ff.exists()==true) + { + qint64 nLength = ff.size(); + if(nLength>1*1000*1000) + { + QString strVideoFilename = pCommonData->GetNewFilename(DISPLAY_VIDEO); + pRTSPThread->SaveFile(strVideoFilename); + } + } + m_bAutoVideoCapture = false; + + pRTSPThread->ChangeState(6); + + } + else + { + usleep(1*1000); + + ui->widget_Video->Lock(); + { + ui->widget_Video->ClearQueueData(); + ui->widget_Video->SetChangeTexture(true); + ui->widget_Video->UpdateTexture(); + } + ui->widget_Video->Unlock(); + //qDebug() << "StopRTSP"; + //pRTSPThread->StopRTSP(); + + pRTSPThread->ChangeState(0); + qDebug() << "RTSP Thread Start"; + + + } + + usleep(100*1000); + + m_TimerStartPipeLine.restart(); + } + + } + else + { + m_TimerStartPipeLine.restart(); + } + } + else + { + bIsStart = true; + + if(pRTSPThread->IsVideoLink()==false) + { + if(pRTSPThread->IsStartRTSP()==false && nTime>4*1000) + { + if(pRTSPThread->GetCaptureMode()==1) + { + pRTSPThread->SaveEnd(); + + QString strVideoFile = pRTSPThread->GetVideoFilename(); + strVideoFile.replace(".mkv", "_00000.mkv"); + QFileInfo ff(strVideoFile); + if(ff.exists()==true) + { + qint64 nLength = ff.size(); + if(nLength>1*1000*1000) + { + QString strVideoFilename = pCommonData->GetNewFilename(DISPLAY_VIDEO); + pRTSPThread->SaveFile(strVideoFilename); + } + } + m_bAutoVideoCapture = false; + + pRTSPThread->ChangeState(6); + } + else + { + pRTSPThread->StopRTSP(); + usleep(100*1000); + + ui->widget_Video->Lock(); + { + ui->widget_Video->ClearQueueData(); + ui->widget_Video->SetChangeTexture(true); + ui->widget_Video->UpdateTexture(); + } + ui->widget_Video->Unlock(); + + + + nCheckTime.restart(); + while(pRTSPThread->IsWorkingRTSP()==true) + { + usleep(100); + if(nCheckTime.elapsed() > 7*1000) + { + int a=0; + break; + } + + } + + pRTSPThread->ChangeState(0); + + + } + + usleep(100*1000); + + m_TimerStartPipeLine.restart(); + } + } + else + { + m_TimerStartPipeLine.restart(); + } + + + + //m_Timer.stop(); + } + } + + } + + if(pRTSPThread->IsVideoLink()==true) + { + //WRITE_FUNCTION_LOG_PARAM("VideoLink is OK"); + //m_Timer.stop(); + } + +} + +void FormCapture::on_horizontalSlider_Hue_valueChanged(int value) +{ + WRITE_FUNCTION_LOG_PARAM(QString::number(value)); + int nValue = value - 50; + + float fValue = (float)nValue / 50.0f; + + //TestCode + + QGstreamerPlayer* pPlayer = NULL; + + CommonData* pCommonData = MainWindow::GetCommonData(); + + + bool bIsStart = false; + if(bIsStart==false) + { + pPlayer = pCommonData->GetThreadRTSP()->GetGstreamerPlayer(); + if(pPlayer!=NULL) + { + pPlayer->ChangeHue(fValue); + } + } +} + +void FormCapture::on_horizontalSlider_Saturation_valueChanged(int value) +{ + WRITE_FUNCTION_LOG_PARAM(QString::number(value)); + int nValue = value; + + float fValue = (float)nValue / 50.0f; + + //TestCode + + QGstreamerPlayer* pPlayer = NULL; + + CommonData* pCommonData = MainWindow::GetCommonData(); + + + bool bIsStart = false; + if(bIsStart==false) + { + pPlayer = pCommonData->GetThreadRTSP()->GetGstreamerPlayer(); + if(pPlayer!=NULL) + { + pPlayer->ChangeSaturation(fValue); + } + } +} + +void FormCapture::resizeEvent(QResizeEvent *event) +{ + WRITE_FUNCTION_LOG(); + CommonData* pCommonData = MainWindow::GetCommonData(); + int nDisplayType = pCommonData->GetDisplayType(); + + int nFontSize = 22; + int nFontSizeCaptureTitle = 30; + int nFontSizeButton = 22; + int nFontInfoLabel = 22; + int nFontInfoInfo = 22; + if(nDisplayType==SDISPLAY_1280X1024) + { + nFontSize = 16; + nFontSizeCaptureTitle = 25; + nFontSizeButton = 18; + nFontInfoLabel = 18; + nFontInfoInfo = 22; + ui->frame_Viewer_Vertical->hide(); + ui->frame_Viewer_Horizontal->show(); + //ui->frame_capture->setGeometry(40, 45, 1200, 1024-90); + ui->frame_capture->setGeometry(40, 45, 1200, 934); + ui->label_Capture->setGeometry(38, 24, 300, 45); + ui->label_LastCapture->setGeometry(180, 30, 300, 30); + ui->pushButton_EXIT->setGeometry(1003, 22, 140, 45); + ui->frame_Line->setGeometry(38, 69, 965+140, 27); + ui->display_line->setGeometry(0, 27/2, 965+140, 1); + ui->frame_Info->setGeometry(38, 69+27, 965+140, 59); + ui->pushButton_ACQ->setGeometry(890-38, 0, 115, 45); + ui->pushButton_VID->setGeometry(1027-38, 0, 115, 45); + ui->frame_InfoString->setGeometry(0, 0, 800, 45); + { + ui->label_ID->setGeometry(0, 0, 30, 45); + ui->info_ID->setGeometry(40, 0, 161, 45); + ui->label_Name->setGeometry(200, 0, 70, 45); + ui->info_Name->setGeometry(280, 0, 161, 45); + ui->label_Birth->setGeometry(490, 0, 70, 45); + ui->info_Birth->setGeometry(570, 0, 161, 45); + } + + + + ui->label_StudyDescription->setGeometry(350, 24, 600, 40); + ui->frame_Detection->setGeometry(780, 24, 180, 40); + { + ui->label_Detection->setGeometry(0, 0, 120, 40); + ui->checkBox_Detection->setGeometry(120, 10, 30, 30); + } + + ui->widget_Video->setGeometry(39, 155, 1103, 621); + ui->frame_connect_check->setGeometry(39, 155, 1103, 621); + { + //400, 60 + ui->label_connect_check->setGeometry((1103-400)/2, (621-60)/2, 400, 60); + } + ui->pushButton_SEND->setGeometry(1026, 155+621+61-45, 115, 45); + ui->pushButton_DELETE->setGeometry(1026, 155+621+133-45, 115, 45); + + { + ui->horizontalSlider_Hue->setGeometry(450, 40, 200, 16); + ui->horizontalSlider_Saturation->setGeometry(680, 40, 200, 16); + } + + //ui->frame_Viewer_Horizontal->setGeometry(95, 792, 879, 87); + //ui->horizontalLayoutWidget->setGeometry(0, 0, 879, 87); + ui->frame_Viewer_Horizontal->setGeometry(39, 792, 1103, 120); + ui->horizontalLayoutWidget->setGeometry(0, 0, 1103, 120); + + //ui->frame_horizontalScrollBar->setGeometry(97, 911-25, 874, 26); + //ui->horizontalScrollBar->setGeometry(0, 0, 874, 26); + ui->frame_horizontalScrollBar->setGeometry(39, 911, 1103, 26); + ui->horizontalScrollBar->setGeometry(0, 0, 1103, 26); + + + ui->frame_SelectBackground->setGeometry(0, 0, 1280, 1024); + ui->widget_SelectImage->setGeometry(79, 200, 1103, 779); + ui->frame_SelectBackground->hide(); + + //ui->pushButton_EXIT->hide(); + //ui->pushButton_ACQ->hide(); + //ui->pushButton_VID->hide(); + + ui->pushButton_SEND->hide(); + ui->pushButton_DELETE->hide(); + + //ui->horizontalSlider_Hue->hide(); + //ui->horizontalSlider_Saturation->hide(); + + m_nItemPerPage = 5; + } + else if(nDisplayType==SDISPLAY_1920X1080) + { + nFontSizeCaptureTitle = 30; + nFontSizeButton = 22; + nFontInfoLabel = 22; + nFontInfoInfo = 22; + ui->frame_Viewer_Vertical->show(); + ui->frame_Viewer_Horizontal->hide(); + ui->frame_capture->setGeometry(36, 36, 1855, 1028); + ui->label_Capture->setGeometry(55, 30, 200, 40); + ui->pushButton_EXIT->setGeometry(1580, 27, 161, 51); + ui->frame_Line->setGeometry(55, 80, 1749, 53); + ui->display_line->setGeometry(0, 53/2, 1749, 1); + ui->frame_Info->setGeometry(0, 133, 1855, 96); + ui->pushButton_ACQ->setGeometry(1399, 0, 153, 63); + ui->pushButton_VID->setGeometry(1591, 0, 153, 63); + ui->frame_InfoString->setGeometry(55, 0, 800, 63); + { + ui->label_ID->setGeometry(0, 0, 30, 63); + ui->info_ID->setGeometry(40, 0, 161, 63); + ui->label_Name->setGeometry(200, 0, 70, 63); + ui->info_Name->setGeometry(280, 0, 161, 63); + ui->label_Birth->setGeometry(490, 0, 70, 63); + ui->info_Birth->setGeometry(570, 0, 161, 63); + } + ui->widget_Video->setGeometry(55, 230, 1280, 720); + ui->pushButton_SEND->setGeometry(1398, 940, 161, 51); + ui->pushButton_DELETE->setGeometry(1582, 940, 161, 51); + + { + ui->horizontalSlider_Hue->setGeometry(310, 40, 451, 16); + ui->horizontalSlider_Saturation->setGeometry(840, 40, 451, 16); + } + + ui->frame_SelectBackground->setGeometry(0, 0, 1920, 1080); + ui->widget_SelectImage->setGeometry(55, 230, 1280, 720); + + m_nItemPerPage = 3; + } + + bool bIsConnectHDMI = pCommonData->IsConnectHDMI(); + SetHDMICalbeConnect(bIsConnectHDMI); + + QString strPushButton_Exit_Delete = QString( + "QPushButton \ + { \ + background: #FFFFFF; \ + font-family: 'Roboto'; \ + font-size: %1px; \ + font-weight: bold; \ + border-radius: 8px; \ + color: black; \ + } \ + QPushButton:pressed \ + { \ + background: #D8D8D8; \ + }").arg(nFontSizeButton); + ui->pushButton_EXIT->setStyleSheet(strPushButton_Exit_Delete); + ui->pushButton_DELETE->setStyleSheet(strPushButton_Exit_Delete); + + + QString strPushButton_ACQ_IMG = QString( + "QPushButton \ + { \ + background: #153B44; \ + font-family: 'Roboto'; \ + font-size: %1px; \ + font-weight: bold; \ + border-radius: 8px; \ + color: white; \ + } \ + QPushButton:pressed \ + { \ + background: #1B4C54; \ + }").arg(nFontSizeButton); + + + QString strPushButton_ACQ_VID = QString( + "QPushButton " + "{ " + " background: #153B44; " + " font-family: 'Roboto'; " + " font-size: %1px; " + " font-weight: bold; " + " border-radius: 8px; " + " color: white; " + " qproperty-checkable: true; " + " qproperty-checked: false; " + " qproperty-enabled: true; " + "} " + " " + "QPushButton:pressed " + "{ " + " background: #1B4C54; " + "} " + " " + "QPushButton:checked " + "{ " + " background: red; " + "} " + " " + "QPushButton:disabled " + "{ " + " background: blue; " + "}").arg(nFontSizeButton); + + ui->pushButton_VID->setStyleSheet(strPushButton_ACQ_VID); + + ui->pushButton_ACQ->setStyleSheet(strPushButton_ACQ_IMG); + + ui->pushButton_SEND->setStyleSheet(strPushButton_ACQ_IMG); + + + QString strInfoLabel = QString( + "QLabel \ + { \ + font-family: 'Roboto'; \ + font-size: %1px; \ + font-weight: bold; \ + color: #000000; \ + }").arg(nFontInfoLabel); + ui->label_ID->setStyleSheet(strInfoLabel); + ui->label_Name->setStyleSheet(strInfoLabel); + ui->label_Birth->setStyleSheet(strInfoLabel); + + QString strInfoInfo = QString( + "QLabel \ + { \ + font-family: 'Roboto'; \ + font-size: %1px; \ + font-weight: normal; \ + color: #000000; \ + }").arg(nFontInfoInfo); + ui->info_ID->setStyleSheet(strInfoInfo); + ui->info_Name->setStyleSheet(strInfoInfo); + ui->info_Birth->setStyleSheet(strInfoInfo); + + + QString strInfoStudyDescription = QString( + "QLabel \ + { \ + font-family: 'Roboto'; \ + font-size: %1px; \ + font-weight: normal; \ + qproperty-alignment: 'AlignVCenter | AlignHCenter'; \ + color: #000000; \ + }").arg(nFontInfoInfo); + ui->label_StudyDescription->setStyleSheet(strInfoStudyDescription); + + + /* + if(pCommonData->IsAutoVideoCapture()==true) + { + ui->pushButton_VID->setChecked(true); + ui->pushButton_VID->setDisabled(true); + } + else + { + */ + ui->pushButton_VID->setChecked(false); + ui->pushButton_VID->setEnabled(true); + //} + + #ifdef _PC + SetHDMICalbeConnect(true); + #endif + +} + +void FormCapture::on_pushButton_SEND_clicked() +{ + WRITE_FUNCTION_LOG(); + +} + +void FormCapture::on_pushButton_DELETE_clicked() +{ + WRITE_FUNCTION_LOG(); +} + +void FormCapture::keyReleaseEvent(QKeyEvent *event) +{ + WRITE_FUNCTION_LOG(); + int nKey = event->key(); + + if(nKey==Qt::Key_F10 || nKey==Qt::Key_F11) + { + /* + if(ui->pushButton_ACQ->isEnabled()==true) + { + ui->pushButton_ACQ->click(); + } + */ + m_TimerCaptureSingleShot.start(); + + + + } + /* + else if(nKey==Qt::Key_F11) + { + if(ui->pushButton_VID->isEnabled()==true) + { + ui->pushButton_VID->click(); + } + + } + */ + +} + +void FormCapture::FinishBeep() +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + pCommonData->Beep(false); +} + +void FormCapture::CheckCaptureTimeInfo() +{ + //WRITE_FUNCTION_LOG(); + QString strTimeInfo; + + /* + CommonData* pCommonData = MainWindow::GetCommonData(); + int nCountCaptureImage = 0; + vector* pListCaptureImage = pCommonData->GetListCaptureImage(); + { + nCountCaptureImage = pListCaptureImage->size(); + } + pCommonData->ReleaseListCaptureImage(); + */ + + if(m_TimeCapture.isValid()==true && m_nCaptureImageCount>0) + { + qint64 nTime = m_TimeCapture.elapsed(); + nTime = nTime/1000; + int nSecond = nTime%60; + int nMinute = (nTime/60)%60; + int nHour = ((nTime/60)/60)%60; + strTimeInfo = QString("LastCapture: %1:%2:%3").arg(nHour).arg(nMinute).arg(nSecond); + ui->label_LastCapture->setText(strTimeInfo); + ui->label_LastCapture->show(); + } + else + { + ui->label_LastCapture->hide(); + } +} + + +void FormCapture::UpdateObjectDisplay(vector& listRectDisplay) +{ + WRITE_FUNCTION_LOG(); + ui->widget_Video->UpdateObjectDisplay(listRectDisplay); +} + + +void FormCapture::ThumbnailClicked(void* pData) +{ + WRITE_FUNCTION_LOG(); + m_bSendBackground = false; + ui->frame_SelectBackground->show(); + ui->widget_SelectImage->SetCurrentImage((CAPTURE_IMAGE*)pData); + + ui->widget_Video->hide(); + + ui->pushButton_EXIT->hide(); + ui->pushButton_ACQ->hide(); + ui->pushButton_VID->hide(); +} + + +void FormCapture::CloseSelectForm() +{ + WRITE_FUNCTION_LOG(); + ui->frame_SelectBackground->hide(); + + ui->widget_Video->show(); + + ui->pushButton_EXIT->show(); + ui->pushButton_ACQ->show(); + ui->pushButton_VID->show(); + + m_nIndexCurrent = 0; + UpdateViewer(); + ui->horizontalScrollBar->setValue(0); + + //CommonData* pCommonData = MainWindow::GetCommonData(); + //vector* pListCaptureImage = pCommonData->GetListCaptureImage(); + + + + //m_ListFormHorizontalImageSelect.size(); +} + +void FormCapture::UpdateMakeDICOMInfo(int nCount, int nTotalCount) +{ + WRITE_FUNCTION_LOG_PARAM(QString::number(nCount) + "/" + QString::number(nTotalCount)); + if(m_pDialogSendProgress!=NULL) + { + m_pDialogSendProgress->DisplayInfo(nCount, nTotalCount); + + QString strInfo = QString("DICOM Make: %1 / %2").arg(nCount).arg(nTotalCount); + m_pDialogSendProgress->DisplayInfo(strInfo); + } + else + { + if(m_bSendBackground==false) + { + ui->widget_SelectImage->UpdateMakeDICOMInfo(nCount, nTotalCount); + } + + } + +} + + +void FormCapture::UpdateSendInfo(int nCount, int nTotalCount) +{ + WRITE_FUNCTION_LOG_PARAM(QString::number(nCount) + "/" + QString::number(nTotalCount)); + if(m_pDialogSendProgress!=NULL) + { + m_pDialogSendProgress->DisplayInfo(nCount, nTotalCount); + + QString strInfo = QString("%1 / %2").arg(nCount).arg(nTotalCount); + m_pDialogSendProgress->DisplayInfo(strInfo); + } + else + { + if(m_bSendBackground==false) + { + ui->widget_SelectImage->UpdateSendInfo(nCount, nTotalCount); + } + + } + +} + +void FormCapture::UpdateSendComplete() +{ + WRITE_FUNCTION_LOG(); + if(m_pDialogSendProgress!=NULL) + { + m_pDialogSendProgress->DisplayInfo(-1, 100); + + //QString strInfo = QString("Send Complete"); + //m_pDialogSendProgress->DisplayInfo(strInfo); + + QThread::msleep(1000); + + //m_pDialogSendProgress->SendComplete(); + //m_pDialogSendProgress->accept(); + } + else + { + if(m_bSendBackground==false) + { + ui->widget_SelectImage->UpdateSendComplete(); + } + + } + +} + +void FormCapture::UpdateSendFailed() +{ + WRITE_FUNCTION_LOG(); + if(m_pDialogSendProgress!=NULL) + { + m_pDialogSendProgress->DisplayInfo(-1, 100); + + //QString strInfo = QString("Error: Check Network"); + //m_pDialogSendProgress->DisplayInfo(strInfo); + m_pDialogSendProgress->DisplayInfo(-1); + + + + //QThread::msleep(1000); + + //m_pDialogSendProgress->SendComplete(); + //m_pDialogSendProgress->accept(); + } + else + { + if(m_bSendBackground==false) + { + ui->widget_SelectImage->UpdateSendFailed(); + } + + } + +} + +void FormCapture::VideoStopEnable() +{ + WRITE_FUNCTION_LOG(); + ui->pushButton_VID->setEnabled(true); +} + + +void FormCapture::ImageCaptureEnable() +{ + WRITE_FUNCTION_LOG(); + ui->pushButton_ACQ->setEnabled(true); +} + +void FormCapture::CaptureSingleShot() +{ + if(ui->pushButton_ACQ->isEnabled()==false) + { + m_TimerCaptureSingleShot.stop(); + return; + } + ui->pushButton_ACQ->setDisabled(true); + + CommonData* pCommonData = MainWindow::GetCommonData(); + CAPTURE_IMAGE* pCaptureImage = NULL; + bool bIsCropMode = (bool)pCommonData->GetCropMode(); + + int nWidth = pCommonData->GetVideoWidth(); + int nHeight = pCommonData->GetVideoHeight(); + int nSaveWidth = pCommonData->GetVideoWidth(); + int nSaveHeight = pCommonData->GetVideoHeight(); + + m_nCaptureImageCount++; + m_TimeCapture.restart(); + + QVideoWidget* pVideoWidget = ui->widget_Video; + pVideoWidget->Lock(); + { + uint8_t* pData = pVideoWidget->GetCaptureImage(); + + //SThreadImageSave* pThread = MainWindow::GetCommonData()->GetThreadCaptureImage(); + //pThread->SetImageCapture(pData, 1920, 1080); + + pCaptureImage = pCommonData->AddCaptureImage(pData, nWidth, nHeight, DISPLAY_IMAGE); + } + pVideoWidget->Unlock(); + + pCommonData->Beep(true); + m_TimerCaptureBeepSound.start(250); + m_TimerCaptureImage.start(10); + + bool bCreateImageFile = false; + bCreateImageFile = pCommonData->ConvertCaptureImage(pCaptureImage, nSaveWidth, nSaveHeight); + + + if(bCreateImageFile==false) + { + SAFE_DELETE(pCaptureImage->m_pImage); + SAFE_DELETE(pCaptureImage->m_pImageCaptureRaw); + SAFE_ARRAY_DELETE(pCaptureImage->m_pImageCaptureColor); + + vector::iterator it; + vector* pListCaptureImage = pCommonData->GetListCaptureImage(); + { + for(it=pListCaptureImage->begin() ; it!=pListCaptureImage->end() ; ++it) + { + CAPTURE_IMAGE* pImageDisplay = *it; + if(pImageDisplay==pCaptureImage) + { + pListCaptureImage->erase(it); + break; + } + } + } + pCommonData->ReleaseListCaptureImage(); + + SAFE_DELETE(pCaptureImage); + + m_TimerCaptureSingleShot.stop(); + return; + } + + m_nCaptureImageCount++; + m_TimeCapture.restart(); + + + /* + if(bIsCropMode==true) + { + *pCaptureImage->m_pImage = pCaptureImage->m_pImage->copy(QRect(242, 5, 1376, 992)); + //SAFE_DELETE(pCaptureImage->m_pImageSmall); + //pCaptureImage->m_pImageSmall = new QImage; + *pCaptureImage->m_pImageSmall = pCaptureImage->m_pImage->scaled(pCaptureImage->m_pImage->width()/4, pCaptureImage->m_pImage->height()/4, Qt::IgnoreAspectRatio, Qt::SmoothTransformation).copy(); + + } + */ + SAFE_DELETE(pCaptureImage->m_pImage); + SAFE_DELETE(pCaptureImage->m_pImageCaptureRaw); + SAFE_ARRAY_DELETE(pCaptureImage->m_pImageCaptureColor); + + + if(pCaptureImage!=NULL) + { + captureImage(pCaptureImage); + } + + m_TimerCaptureSingleShot.stop(); + + + /* + if(m_TimeHandSwitchOn.elapsed()<1100) + { + return; + } + CommonData* pCommonData = MainWindow::GetCommonData(); + int nValue = pCommonData->GetHandSwitchValue(); + + //qDebug() << nValue; + + if(nValue>=0) + { + m_nHandSwitchValue = nValue; + + if(m_nHandSwitchValue==1 && m_nPrevHandSwitchValue==0) + { + if(ui->pushButton_ACQ->isEnabled()==true) + { + WRITE_FUNCTION_LOG_PARAM("HandSwitch-Clicked!!"); + ui->pushButton_ACQ->click(); + m_TimeHandSwitchOn.start(); + + } + } + + m_nPrevHandSwitchValue = nValue; + } + */ + +} + +void FormCapture::CaptureHandSwitch() +{ + WRITE_FUNCTION_LOG(); + if(this->isVisible()==false) + { + return; + } + + m_TimerCaptureSingleShot.start(); + + /* + if(ui->pushButton_ACQ->isEnabled()==true) + { + ui->pushButton_ACQ->click(); + //m_TimeHandSwitchOn.start(); + } + */ +} + +void FormCapture::CaptureFootSwitch() +{ + WRITE_FUNCTION_LOG(); + if(this->isVisible()==false) + { + return; + } + + m_TimerCaptureSingleShot.start(); + + /* + if(ui->pushButton_ACQ->isEnabled()==true) + { + ui->pushButton_ACQ->click(); + //m_TimeHandSwitchOn.start(); + } + */ +} + +void FormCapture::on_checkBox_Detection_toggled(bool checked) +{ + WRITE_FUNCTION_LOG(); + CommonData* pCommonData = MainWindow::GetCommonData(); + pCommonData->SetActiveDetect(checked); +} + +void FormCapture::OnDoubleClicked() +{ + WRITE_FUNCTION_LOG(); + +} + + +void FormCapture::SetHDMICalbeConnect(bool bCableConnect) +{ + int nFontSizeCaptureTitle = 25; + QString strCaptureTitle = QString( + "QLabel \ + { \ + font-family: 'Roboto'; \ + font-size: %1px; \ + font-weight: bold; \ + color: #000000; \ + }").arg(nFontSizeCaptureTitle); + + if(bCableConnect==false) + { + strCaptureTitle = QString( + "QLabel \ + { \ + font-family: 'Roboto'; \ + font-size: %1px; \ + font-weight: bold; \ + color: #FF0000; \ + }").arg(nFontSizeCaptureTitle); + ui->frame_connect_check->show(); + + ui->widget_Video->ClearQueueData(); + + //ui->pushButton_CON->setEnabled(true); + + + } + else + { + ui->frame_connect_check->hide(); + + //ui->pushButton_CON->setEnabled(false); + //ui->pushButton_CON->setEnabled(true); + + } + + + ui->label_Capture->setStyleSheet(strCaptureTitle); +} + +void FormCapture::HDMICalbeConnect(bool bCableConnect) +{ + if(isVisible()==false) + { + return; + } + + if(isEnabled()==false) + { + return; + } + + SetHDMICalbeConnect(bCableConnect); + + +} + + +void FormCapture::WriteDatabaseListCapture() +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + + // 1. 다른 공유 데이터에 대한 Lock/Unlock 로직은 그대로 유지합니다. + ACQUISITION_INFO* pAcquisitionInfo = pCommonData->GetAcquisitionInfo(); + vector* pListCaptureImage = pCommonData->GetListCaptureImage(); + + // 포인터가 유효한지 확인하는 방어 코드 추가 + if (!pAcquisitionInfo || !pListCaptureImage) { + qWarning() << "WriteDatabaseListCapture: Failed to get acquisition info or capture list."; + if (pAcquisitionInfo) pCommonData->ReleaseAcquisitionInfo(); + if (pListCaptureImage) pCommonData->ReleaseListCaptureImage(); + return; + } + + // 2. 이 함수만을 위한 지역 DB 인스턴스를 생성하고 연결합니다. + SUTIL::SDatabase db(QString("WriteCaptureList_%1").arg(reinterpret_cast(this))); + if (db.OpenDatabase("/home/birdhead/test.db") == 0) // 0이 성공 + { + // 3. 지역 인스턴스 'db'를 사용하여 DB 작업을 수행합니다. + // UpdateImageOnAcquistionTemp 함수는 vector를 포인터(*)가 아닌 참조(&)로 받으므로, + // *pListCaptureImage 와 같이 역참조하여 전달합니다. + db.UpdateImageOnAcquistionTemp(pAcquisitionInfo, *pListCaptureImage); + } + else + { + qWarning() << "DB open failed in WriteDatabaseListCapture."; + } + + // 4. GetDatabase/ReleaseDatabase 호출은 완전히 제거됩니다. + + pCommonData->ReleaseAcquisitionInfo(); + pCommonData->ReleaseListCaptureImage(); + + // 'db' 객체는 이 함수의 스코프가 끝나면 자동으로 소멸되어 자원이 정리됩니다. +} diff --git a/formcapture.h b/formcapture.h new file mode 100644 index 0000000..ed5bd37 --- /dev/null +++ b/formcapture.h @@ -0,0 +1,157 @@ +#ifndef FORMCAPTURE_H +#define FORMCAPTURE_H + +#include + +#include "common.h" +#include "formcaptureimageselect.h" + +#include "qvideowidget.h" + +#include "sthreadwatchvideolink.h" + + + +#include "dialogprogress.h" + + +#include +#include + + + +namespace Ui { +class FormCapture; +} + +class FormCapture : public QWidget +{ + Q_OBJECT + +public: + explicit FormCapture(QWidget *parent = nullptr); + virtual ~FormCapture(); + + QVideoWidget* GetVideoWidget(); + + void Init(); + void ExitCapture(); + + void WriteDatabaseListCapture(); + + virtual void UpdateViewer(); + + virtual void wheelEvent(QWheelEvent *event); + + void UpdateObjectDisplay(vector& listRectDisplay); + + void UpdateMakeDICOMInfo(int nCount, int nTotalCount); + void UpdateSendInfo(int nCount, int nTotalCount); + void UpdateSendComplete(); + void UpdateSendFailed(); + + void VideoSaveEnd(); + +public: + virtual void resizeEvent(QResizeEvent *event); + virtual void keyReleaseEvent(QKeyEvent *event); + +protected: + bool m_bPrevConnectHDMI; + SThreadWatchVideoLink* m_pThreadWatchVideoLink; + QElapsedTimer m_TimerStartPipeLine; + bool m_bSendBackground; + vector m_ListFormVerticalImageSelect; + vector m_ListFormHorizontalImageSelect; + int m_bAutoVideoCapture; + int m_nCurrentPos; + int m_nIndexCurrent; + int m_nCaptureImageCount; + QTimer m_Timer; + QTimer m_TimerCaptureInfo; + QTimer m_TimerCaptureBeepSound; + QTimer m_TimerCaptureImage; + QTimer m_TimerCaptureVideo; + QTimer m_TimerCaptureSingleShot; + QElapsedTimer m_TimeCapture; + QElapsedTimer m_TimeCaptureVideo; + + //QTime m_TimeHandSwitchOn; + + int m_nHandSwitchValue; + int m_nPrevHandSwitchValue; + + + int m_nItemPerPage; + + + + DialogProgress* m_pDialogSendProgress; + + bool m_bDisconnectCheck; + bool m_bEncodingVideo; + + bool m_bExecStopRTSP; + + + void CheckVideoDevice_old(); + +public slots: + void FinishBeep(); + void CheckCaptureTimeInfo(); + void CheckVideoDevice(); + void SingleDown(); + void SingleUp(); + + void captureImage(CAPTURE_IMAGE* pCaptureImage); + void captureVideo(CAPTURE_IMAGE* pCaptureImage); + + void VideoStopEnable(); + void ImageCaptureEnable(); + + void CaptureSingleShot(); + + + void CaptureHandSwitch(); + + void CaptureFootSwitch(); + + void SetHDMICalbeConnect(bool bCableConnect); + +private slots: + void HDMICalbeConnect(bool bCableConnect); + void VideoButtonChange(bool bEncodingVideo); + void CloseSelectForm(); + void ThumbnailClicked(void* pData); + + void valueChangedScrollBarVertical(int value); + void valueChangedScrollBarHorizontal(int value); + + void on_pushButton_EXIT_clicked(); + + + void on_pushButton_ACQ_clicked(); + + void on_pushButton_VID_clicked(); + + void on_horizontalSlider_Hue_valueChanged(int value); + + void on_horizontalSlider_Saturation_valueChanged(int value); + + void on_pushButton_SEND_clicked(); + + void on_pushButton_DELETE_clicked(); + + void on_checkBox_Detection_toggled(bool checked); + + void OnDoubleClicked(); + +signals: + void BackupNetworkShareFolder(QString strFilename); + //void ExitCapture(); + +private: + Ui::FormCapture *ui; +}; + +#endif // FORMCAPTURE_H diff --git a/formcapture.ui b/formcapture.ui new file mode 100644 index 0000000..b9e2484 --- /dev/null +++ b/formcapture.ui @@ -0,0 +1,1004 @@ + + + FormCapture + + + + 0 + 0 + 1920 + 1080 + + + + Form + + + QWidget +{ + border: none; +} + + + + + 0 + 0 + 1920 + 1080 + + + + QFrame#frame_background +{ + background: rgb(39, 102, 120); +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + 36 + 36 + 1855 + 1028 + + + + QFrame#frame_capture +{ + background: #A6B1C2; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 0 + 0 + 1855 + 133 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 55 + 30 + 200 + 40 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 30px; + font-weight: bold; + color: #000000; +} + + + CAPTURE + + + + + + 1580 + 27 + 161 + 51 + + + + QPushButton +{ + background: #FFFFFF; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: black; +} + +QPushButton:pressed +{ + background: #D8D8D8; +} + + + EXIT + + + + + + 55 + 80 + 1749 + 53 + + + + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 0 + 26 + 1749 + 1 + + + + QFrame +{ + border: none; + background: black; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + 500 + 40 + 451 + 16 + + + + Qt::Horizontal + + + + + + 970 + 40 + 451 + 16 + + + + Qt::Horizontal + + + + + + 210 + 40 + 220 + 24 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 20px; + font-weight: thin; + color: #000000; + qproperty-alignment: 'AlignLeft | AlignVCenter'; +} + + + Last Capture: 12:33:44 + + + + + + 350 + 24 + 400 + 40 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 24px; + font-weight: bold; + color: #000000; + qproperty-alignment: 'AlignHCenter | AlignVCenter'; +} + + + StudyDescription + + + + + + 1260 + 0 + 800 + 63 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 0 + 0 + 120 + 63 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; +} + + + Detection: + + + + + + 140 + 14 + 30 + 30 + + + + QCheckBox::indicator +{ + width: 30px; + height: 30px; +} + + + + + + + 40 + 40 + + + + + + + + + 0 + 133 + 1855 + 96 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 1399 + 0 + 153 + 63 + + + + QPushButton +{ + background: #153B44; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: white; +} + +QPushButton:pressed +{ + background: #1B4C54; +} + + + ACQ + + + + + + 1591 + 0 + 153 + 63 + + + + QPushButton +{ + background: #153B44; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: white; + qproperty-checkable: true; + qproperty-checked: true; + qproperty-enabled: true; +} + +QPushButton:pressed +{ + background: #1B4C54; +} + +QPushButton:checked +{ + background: red; +} + +QPushButton:disabled +{ + background: blue; +} + + + VID + + + + + + 55 + 0 + 800 + 63 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 0 + 0 + 30 + 63 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; +} + + + ID: + + + + + + 40 + 0 + 161 + 63 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; +} + + + 12345678 + + + + + + 280 + 0 + 161 + 63 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; +} + + + TEST1234 + + + + + + 200 + 0 + 70 + 63 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; +} + + + NAME: + + + + + + 490 + 0 + 70 + 63 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; +} + + + BIRTH: + + + + + + 570 + 0 + 161 + 63 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; +} + + + 1999/01/01 + + + + + + + + 55 + 230 + 1280 + 720 + + + + QWidget +{ + background: #8090d0; +} + + + + + + 1398 + 940 + 161 + 51 + + + + QPushButton +{ + background: #153B44; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: white; +} + +QPushButton:pressed +{ + background: #1B4C54; +} + +QPushButton:disabled +{ + background: blue; +} + + + SEND + + + + + + 1582 + 940 + 161 + 51 + + + + QPushButton +{ + background: #FFFFFF; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: black; +} + +QPushButton:pressed +{ + background: #D8D8D8; +} + +QPushButton:disabled +{ + background: blue; +} + + + DELETE + + + + + + 1750 + 230 + 25 + 671 + + + + QFrame#frame +{ + border: 1px solid black; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 0 + 0 + 25 + 671 + + + + Qt::WheelFocus + + + QScrollBar +{ + background: none; + border: none; + border-image: url(://image/scrollbar_vertical_bg.png); +} + +QScrollBar:vertical { + background: white; + width: 26px; + margin: 26px 0px 26px 0px; +} +QScrollBar::handle:vertical { + background: none; + margin: 4px; + width: 18px; + min-height: 36px; + max-height: 36px; + height: 36px; + border-image: url(://image/ScrollBar_Vertical_Icon.png); +} +QScrollBar::add-line:vertical { + border: none; + background: none; + border-image: url(://image/scrollbar_down.png); + height: 26px; + margin: 0px 0px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical { + border: none; + background: none; + border-image: url(://image/scrollbar_up.png); + height: 26px; + subcontrol-position: top; + subcontrol-origin: margin; +} + + + 99 + + + Qt::Vertical + + + true + + + + + + + 1350 + 230 + 370 + 670 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 0 + 0 + 370 + 670 + + + + + 20 + + + + + + + + 80 + 950 + 351 + 61 + + + + QFrame +{ + background: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 60 + 0 + 251 + 61 + + + + + + + + + 440 + 960 + 911 + 26 + + + + QFrame#frame +{ + border: 1px solid black; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 0 + 0 + 896 + 26 + + + + Qt::WheelFocus + + + QScrollBar +{ + background: none; + border: none; + border-image: url(://image/scrollbar_horizontal_bg.png); +} + +QScrollBar:horizontal { + background: white; + height: 26px; + margin: 0px 26px 0px 26px; +} +QScrollBar::handle:horizontal { + background: none; + margin: 4px; + height: 18px; + min-width: 36px; + max-width: 36px; + width: 36px; + border-image: url(://image/ScrollBar_Horizontal_Icon.png); +} +QScrollBar::add-line:horizontal { + border: none; + background: none; + border-image: url(://image/scrollbar_right.png); + width: 26px; + margin: 0px 0px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal { + border: none; + background: none; + border-image: url(://image/scrollbar_left.png); + width: 26px; + subcontrol-position: left; + subcontrol-origin: margin; +} + + + 1808 + + + Qt::Horizontal + + + true + + + + + + + 55 + 230 + 1280 + 720 + + + + + Roboto + 24 + 75 + true + + + + QFrame#frame_connect_check +{ + border: 0px solid black; + background-color: #000000; + +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 440 + 330 + 400 + 60 + + + + + Roboto + -1 + 75 + true + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 32px; + font-weight: thin; + color: #FFFFFF; + qproperty-alignment: 'AlignHCenter | AlignVCenter'; +} + + + Video Input Checking... + + + Qt::AlignCenter + + + + frame_top + frame_Info + pushButton_SEND + pushButton_DELETE + frame_verticalScrollBar + frame_Viewer_Vertical + frame_Viewer_Horizontal + frame_horizontalScrollBar + widget_Video + frame_connect_check + + + + + 0 + 0 + 1920 + 1080 + + + + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 36 + 36 + 1855 + 820 + + + + + + + + + + + SSlideBar + QScrollBar +
sslidebar.h
+
+ + SSlideBarHorizontal + QScrollBar +
sslidebarhorizontal.h
+
+ + QVideoWidget_UYVY + QWidget +
qvideowidget_uyvy.h
+ 1 +
+ + FormCheckCaptureSelect + QWidget +
formcheckcaptureselect.h
+ 1 +
+ + SingleButton + QPushButton +
singlebutton.h
+
+
+ + +
diff --git a/formcaptureimageselect.cpp b/formcaptureimageselect.cpp new file mode 100644 index 0000000..6f32757 --- /dev/null +++ b/formcaptureimageselect.cpp @@ -0,0 +1,235 @@ +#include "formcaptureimageselect.h" +#include "ui_formcaptureimageselect.h" + +#include +#include +#include +#include + +#include "mainwindow.h" + +FormCaptureImageSelect::FormCaptureImageSelect(QWidget *parent) : + QWidget(parent), + ui(new Ui::FormCaptureImageSelect) +{ + ui->setupUi(this); + + m_pCaptureImage = NULL; + + m_pImage = NULL; + + m_pParentWidget = parent; + + connect(ui->pushButton_Select, SIGNAL(released()), this, SLOT(ClickSelect())); + + connect(this, SIGNAL(ThumbnailClicked(void*)), m_pParentWidget, SLOT(ThumbnailClicked(void*))); +} + +FormCaptureImageSelect::~FormCaptureImageSelect() +{ + disconnect(this, SIGNAL(ThumbnailClicked(void*)), m_pParentWidget, SLOT(ThumbnailClicked(void*))); + + disconnect(ui->pushButton_Select, SIGNAL(released()), this, SLOT(ClickSelect())); + + SAFE_DELETE(m_pImage); + + delete ui; +} + +void FormCaptureImageSelect::Init() +{ + m_pCaptureImage = NULL; +} + +void FormCaptureImageSelect::paintEvent(QPaintEvent *event) +{ + QPainter painter(this); + QSize nSize = size(); + //int nPaddingLeft = 60; + int nPaddingLeft = 0; + + CommonData* pCommonData = MainWindow::GetCommonData(); + int nVideoWidth = pCommonData->GetVideoWidth(); + int nVideoHeight = pCommonData->GetVideoHeight(); + + int nWidth = nSize.width() - nPaddingLeft; + int nHeight = (int)(nWidth * (float)((float)nVideoHeight/(float)nVideoWidth) + 0.5f); + + QRect rectDisplay = QRect(nPaddingLeft, 0, nWidth, nHeight); + + QColor colorBackground; + + colorBackground = Qt::black; + painter.setRenderHint(QPainter::SmoothPixmapTransform); + painter.fillRect(rectDisplay, colorBackground); + + if(m_pCaptureImage!=NULL) + { + if(m_pCaptureImage->m_pImageSmall!=NULL) + { + QImage::Format format = m_pCaptureImage->m_pImageSmall->format(); + if(format!=QImage::Format_RGB888) + { + *m_pCaptureImage->m_pImageSmall = m_pCaptureImage->m_pImageSmall->convertToFormat(QImage::Format_RGB888); + } + painter.drawImage(rectDisplay, *m_pCaptureImage->m_pImageSmall); + } + else if(m_pCaptureImage->m_pImage!=NULL) + { + painter.drawImage(rectDisplay, *m_pCaptureImage->m_pImage); + } + else if(m_pCaptureImage->m_pImageData!=NULL) + { + int nWidth = m_pCaptureImage->GetWidth(); + int nHeight = m_pCaptureImage->GetHeight(); + QImage::Format fmt = QImage::Format_RGB888; + uint8_t* pImageDataSrc = m_pCaptureImage->m_pImageData; + + if(m_pImage==NULL) + { + m_pImage = new QImage(nWidth, nHeight, fmt); + uchar* pDataImage = m_pImage->bits(); + memcpy(pDataImage, pImageDataSrc, nWidth*nHeight*3); + } + else + { + if(nWidth>0 && nHeight>0) + { + if(m_pImage->width()!=nWidth || m_pImage->height()!=nHeight) + { + delete m_pImage; + m_pImage = NULL; + //m_pImage = new QImage(pImageDataSrc, nWidth, nHeight, fmt); + m_pImage = new QImage(nWidth, nHeight, fmt); + } + + if(pImageDataSrc!=NULL) + { + uchar* pDataImage = m_pImage->bits(); + memcpy(pDataImage, pImageDataSrc, nWidth*nHeight*3); + } + else + { + m_pImage->fill(QColor(0, 0, 0)); + } + } + else + { + if(m_pImage!=NULL) + { + m_pImage->fill(QColor(0, 0, 0)); + } + } + + } + + painter.drawImage(rectDisplay, *m_pImage); + } + + if(m_pCaptureImage->m_nType==DISPLAY_VIDEO) + { + QRect rectDisplayVideo; + int nWidthDisplayVideo = rectDisplay.width() / 20; + int nHeightDisplayVideo = rectDisplay.height() / 20; + rectDisplayVideo = QRect(rectDisplay.left()+nWidthDisplayVideo*17, nHeightDisplayVideo, nWidthDisplayVideo*2, nHeightDisplayVideo); + + painter.fillRect(rectDisplayVideo, QColor(255, 0, 0)); + + int nFontSize = nHeightDisplayVideo/2; + if(nFontSize<10) + { + nFontSize = 10; + } + + QFont font("Roboto"); + font.setPixelSize(nFontSize); + font.setBold(true); + painter.setFont(font); + painter.drawText(rectDisplayVideo, Qt::AlignCenter, "VIDEO"); + } + } + + +} + +void FormCaptureImageSelect::resizeEvent(QResizeEvent *event) +{ + +} + +void FormCaptureImageSelect::mousePressEvent(QMouseEvent *event) +{ + +} + +void FormCaptureImageSelect::wheelEvent(QWheelEvent *event) +{ + int nDelta = event->delta(); + if(nDelta<0) + { + SingleDown(); + } + else if(nDelta>0) + { + SingleUp(); + } +} + +void FormCaptureImageSelect::mouseReleaseEvent(QMouseEvent *event) +{ + if(m_pCaptureImage==NULL) + { + return; + } + + if(m_pCaptureImage->m_bCheck==true) + { + //m_pCaptureImage->m_bCheck = false; + } + else + { + //m_pCaptureImage->m_bCheck = true; + } + + //ui->pushButton_Select->setChecked(m_pCaptureImage->m_bCheck); + + ThumbnailClicked(m_pCaptureImage); +} + +void FormCaptureImageSelect::ClickSelect() +{ + if(m_pCaptureImage==NULL) + { + return; + } + + if(m_pCaptureImage->m_bCheck==true) + { + //m_pCaptureImage->m_bCheck = false; + } + else + { + //m_pCaptureImage->m_bCheck = true; + } + + //ui->pushButton_Select->setChecked(m_pCaptureImage->m_bCheck); + +} + +void FormCaptureImageSelect::SetCaptureImage(CAPTURE_IMAGE* pCaptureImage) +{ + m_pCaptureImage = pCaptureImage; + + QString strIndex; + bool bCheck = false; + + if(m_pCaptureImage!=NULL) + { + strIndex = QString::number(m_pCaptureImage->m_nIndex); + bCheck = m_pCaptureImage->m_bCheck; + } + + ui->pushButton_Select->setText(strIndex); + ui->pushButton_Select->setChecked(bCheck); + +} diff --git a/formcaptureimageselect.h b/formcaptureimageselect.h new file mode 100644 index 0000000..cd59a0e --- /dev/null +++ b/formcaptureimageselect.h @@ -0,0 +1,57 @@ +#ifndef FORMCAPTUREIMAGESELECT_H +#define FORMCAPTUREIMAGESELECT_H + +#include + +#include + +#include "common.h" + + + +namespace Ui { +class FormCaptureImageSelect; +} + +class FormCaptureImageSelect : public QWidget +{ + Q_OBJECT + +public: + explicit FormCaptureImageSelect(QWidget *parent = nullptr); + virtual ~FormCaptureImageSelect(); + + virtual void paintEvent(QPaintEvent *event); + virtual void resizeEvent(QResizeEvent *event); + + virtual void mousePressEvent(QMouseEvent *event); + virtual void mouseReleaseEvent(QMouseEvent *event); + virtual void wheelEvent(QWheelEvent *event); + + void SetCaptureImage(CAPTURE_IMAGE* pCaptureImage); + + void Init(); + +public slots: + void ClickSelect(); + +signals: + void SingleDown(); + void SingleUp(); + void ThumbnailClicked(void* pData); + +protected: + CAPTURE_IMAGE* m_pCaptureImage; + int m_nIndexViewer; + + QWidget* m_pParentWidget; + + QImage* m_pImage; + + + +private: + Ui::FormCaptureImageSelect *ui; +}; + +#endif // FORMCAPTUREIMAGESELECT_H diff --git a/formcaptureimageselect.ui b/formcaptureimageselect.ui new file mode 100644 index 0000000..8bb9819 --- /dev/null +++ b/formcaptureimageselect.ui @@ -0,0 +1,55 @@ + + + FormCaptureImageSelect + + + + 0 + 0 + 352 + 240 + + + + Form + + + + + 10 + 10 + 41 + 25 + + + + QPushButton#pushButton_Select +{ + qproperty-autoDefault: false; + qproperty-flat: true; + border: none; + background: white; + font-family: 'Roboto'; + font-size: 18px; + font-weight: bold; + qproperty-text: '19'; + + border-radius: 6px; + + qproperty-checkable: true; + qproperty-checked: false; +} + +QPushButton#pushButton_Select:checked +{ + background: white; +} + + + 19 + + + + + + diff --git a/formcheckcaptureselect.cpp b/formcheckcaptureselect.cpp new file mode 100644 index 0000000..98b7be5 --- /dev/null +++ b/formcheckcaptureselect.cpp @@ -0,0 +1,733 @@ +#include "formcheckcaptureselect.h" +#include "ui_formcheckcaptureselect.h" + +#include +#include +#include "mainwindow.h" + +#include +#include + +FormCheckCaptureSelect::FormCheckCaptureSelect(QWidget *parent) : + QWidget(parent), + ui(new Ui::FormCheckCaptureSelect) +{ + ui->setupUi(this); + + m_pDialogSendProgress = new DialogProgress(this); + + m_pDisplayImage = NULL; + m_pCurrentImage = NULL; + QWidget* pFormWidget = parent->parentWidget(); + connect(this, SIGNAL(CloseSelectForm()), pFormWidget, SLOT(CloseSelectForm())); + + connect(ui->pushButton_Selection, SIGNAL(released()), this, SLOT(ClickSelect())); +} + +FormCheckCaptureSelect::~FormCheckCaptureSelect() +{ + QWidget* pFormWidget = parentWidget()->parentWidget(); + disconnect(this, SIGNAL(CloseSelectForm()), pFormWidget, SLOT(CloseSelectForm())); + + disconnect(ui->pushButton_Selection, SIGNAL(released()), this, SLOT(ClickSelect())); + + if(m_pDialogSendProgress!=NULL) + { + delete m_pDialogSendProgress; + } + + delete ui; +} + +void FormCheckCaptureSelect::SetCurrentImage(CAPTURE_IMAGE* pData) +{ + if(m_pCurrentImage!=NULL) + { + SAFE_DELETE(m_pCurrentImage->m_pImage); + } + m_pCurrentImage = pData; + if(m_pCurrentImage==NULL) + { + ui->pushButton_Selection->hide(); + ui->label_Info->hide(); + return; + } + else + { + if(m_pCurrentImage->m_pImage==NULL && m_pCurrentImage->m_strImageFilename.length()>0) + { + m_pCurrentImage->m_pImage = new QImage(m_pCurrentImage->m_strImageFilename); + } + } + + ui->pushButton_Selection->show(); + ui->pushButton_Selection->setChecked(pData->m_bCheck); + + int i=0; + int nIndex = 0; + int nTotal = 0; + + CommonData* pCommonData = MainWindow::GetCommonData(); + vector* pListCaptureImage = pCommonData->GetListCaptureImage(); + { + for(i=0 ; isize() ; i++) + { + CAPTURE_IMAGE* pImageCapture = (*pListCaptureImage)[i]; + if(pImageCapture->m_bDelete==false) + { + nIndex++; + } + if(m_pCurrentImage==pImageCapture) + { + break; + } + } + + + for(i=0 ; isize() ; i++) + { + CAPTURE_IMAGE* pImageCapture = (*pListCaptureImage)[i]; + //if(pImageCapture->m_bDelete==false && pImageCapture->m_nType==DISPLAY_IMAGE) + if(pImageCapture->m_bDelete==false) + { + nTotal++; + } + } + } + pCommonData->ReleaseListCaptureImage(); + + QString strInfo; + strInfo = QString("Image: %1/%2").arg(nIndex).arg(nTotal); + ui->label_Info->show(); + ui->label_Info->setText(strInfo); + + if(nTotal==1) + { + ui->pushButton_Prev->hide(); + ui->pushButton_Next->hide(); + } + else + { + if(nIndex==1) + { + ui->pushButton_Prev->hide(); + ui->pushButton_Next->show(); + } + else if(nIndex==nTotal) + { + ui->pushButton_Prev->show(); + ui->pushButton_Next->hide(); + } + else + { + ui->pushButton_Prev->show(); + ui->pushButton_Next->show(); + } + + + } + + if(pData->m_nType==DISPLAY_VIDEO) + { + ui->label_Info_Video->show(); + } + else if(pData->m_nType==DISPLAY_IMAGE) + { + ui->label_Info_Video->hide(); + } +} + + +void FormCheckCaptureSelect::paintEvent(QPaintEvent *event) +{ + QPainter painter(this); + QSize nSize = size(); + int nPaddingLeft = 0; + + CommonData* pCommonData = MainWindow::GetCommonData(); + int nVideoWidth = pCommonData->GetVideoWidth(); + int nVideoHeight = pCommonData->GetVideoHeight(); + + float fRatio = (float)nVideoHeight / (float)nVideoWidth; + + QRect rectDisplay = QRect(nPaddingLeft, 0, nSize.width()-nPaddingLeft, nSize.height()); + QRect rectDisplayImage = QRect(0, 0, nSize.width(), fRatio*nSize.width()); + + QColor colorBackground; + + painter.setRenderHint(QPainter::SmoothPixmapTransform); + + colorBackground = QColor(0xA6B1C2); + //painter.fillRect(rectDisplay, colorBackground); + + if(m_pCurrentImage!=NULL) + { + if(m_pCurrentImage->m_pImage==NULL && m_pCurrentImage->m_strImageFilename.length()>0) + { + m_pCurrentImage->m_pImage = new QImage(m_pCurrentImage->m_strImageFilename); + } + painter.drawImage(rectDisplayImage, *m_pCurrentImage->m_pImage); + } + else + { + painter.fillRect(rectDisplayImage, QColor(0, 0, 0)); + } + painter.end(); +} + +void FormCheckCaptureSelect::on_pushButton_Close_clicked() +{ + WRITE_FUNCTION_LOG(); + CloseSelectForm(); +} + +void FormCheckCaptureSelect::on_pushButton_Prev_clicked() +{ + WRITE_FUNCTION_LOG(); + int i=0; + CAPTURE_IMAGE* pPrevImage = NULL; + CAPTURE_IMAGE* pNewCurrentImage = NULL; + + CommonData* pCommonData = MainWindow::GetCommonData(); + vector* pListCaptureImage = pCommonData->GetListCaptureImage(); + { + for(i=0 ; isize() ; i++) + { + CAPTURE_IMAGE* pImageCapture = (*pListCaptureImage)[i]; + if(pImageCapture->m_bDelete==false) + { + if(m_pCurrentImage==pImageCapture) + { + if(pPrevImage!=NULL) + { + pNewCurrentImage = pPrevImage; + } + break; + } + pPrevImage = pImageCapture; + } + + } + } + pCommonData->ReleaseListCaptureImage(); + + if(pNewCurrentImage!=NULL) + { + SetCurrentImage(pNewCurrentImage); + } + + + update(); +} + +void FormCheckCaptureSelect::on_pushButton_Next_clicked() +{ + WRITE_FUNCTION_LOG(); + int i=0; + CAPTURE_IMAGE* pNextImage = NULL; + CAPTURE_IMAGE* pNewCurrentImage = NULL; + + int nCurrentIndex = 0; + int nFindIndex = 0; + + CommonData* pCommonData = MainWindow::GetCommonData(); + vector* pListCaptureImage = pCommonData->GetListCaptureImage(); + { + for(i=0 ; isize() ; i++) + { + CAPTURE_IMAGE* pImageCapture = (*pListCaptureImage)[i]; + if(pImageCapture->m_bDelete==false) + { + if(m_pCurrentImage==pImageCapture) + { + nFindIndex = nCurrentIndex+1; + break; + } + nCurrentIndex++; + } + } + + nCurrentIndex = 0; + for(i=0 ; isize() ; i++) + { + CAPTURE_IMAGE* pImageCapture = (*pListCaptureImage)[i]; + if(pImageCapture->m_bDelete==false) + { + if(nCurrentIndex==nFindIndex) + { + pNewCurrentImage = pImageCapture; + break; + } + nCurrentIndex++; + } + } + } + pCommonData->ReleaseListCaptureImage(); + + if(pNewCurrentImage!=NULL) + { + SetCurrentImage(pNewCurrentImage); + } + + + update(); +} + + +void FormCheckCaptureSelect::ClickSelect() +{ + if(m_pCurrentImage!=NULL) + { + if(m_pCurrentImage->m_bCheck==true) + { + m_pCurrentImage->m_bCheck = false; + } + else + { + m_pCurrentImage->m_bCheck = true; + } + } +} + +void FormCheckCaptureSelect::on_pushButton_Delete_clicked() +{ + WRITE_FUNCTION_LOG(); + int i=0; + int nIndex = 0; + + vector::iterator it; + + CAPTURE_IMAGE* pPrevImage = NULL; + CAPTURE_IMAGE* pNewCurrentImage = NULL; + //SDatabase* pDatabase = NULL; + + CommonData* pCommonData = MainWindow::GetCommonData(); + vector* pListCaptureImage = pCommonData->GetListCaptureImage(); + { + for(it=pListCaptureImage->begin() ; it!=pListCaptureImage->end() ; ++it) + { + CAPTURE_IMAGE* pImageCapture = *it; + if(m_pCurrentImage==pImageCapture) + { + qDebug() << "Delete: Index(" << pImageCapture->m_nIndex << ")"; + if(pImageCapture->m_nType==DISPLAY_IMAGE) + { + //pDatabase = pCommonData->GetDatabase(); + //pDatabase->ImageDeleteFromAcqusitionTemp(pImageCapture->m_strImageFilename, true); + //pCommonData->ReleaseDatabase(); + } + else if(pImageCapture->m_nType==DISPLAY_VIDEO) + { + QString strFilename = pImageCapture->m_strImageFilename; + + QFileInfo fileCheck(strFilename); + if(fileCheck.exists()==true) + { + QString strPath = fileCheck.path(); + QString strFilename = fileCheck.fileName(); + + QStringList filter; + if(strFilename.size()>0) + { + strFilename = strFilename.left(strFilename.size()-4); + filter << strFilename + QString("*") + MOVIE_FILE_EXTENSION; + } + + QDirIterator it(strPath, filter, QDir::AllEntries | QDir::NoSymLinks | QDir::NoDotAndDotDot, QDirIterator::NoIteratorFlags); + while(it.hasNext()==true) + { + QString strVideoFilename = it.next(); + QFile fileDelete(strVideoFilename); + if(fileDelete.exists()==true) + { + fileDelete.remove(); + fileDelete.close(); + } + } + } + + QFile fileDelete(strFilename); + if(fileDelete.exists()==true) + { + fileDelete.remove(); + fileDelete.close(); + } + + strFilename.replace(".jpg", MOVIE_FILE_EXTENSION); + strFilename.replace(".png", MOVIE_FILE_EXTENSION); + strFilename.replace(".bmp", MOVIE_FILE_EXTENSION); + + //pDatabase = pCommonData->GetDatabase(); + //pDatabase->ImageDeleteFromAcqusitionTemp(strFilename, true); + //pCommonData->ReleaseDatabase(); + } + + pImageCapture->m_bDelete = true; + //pListCaptureImage->erase(it); + break; + } + + if(pImageCapture->m_bDelete==false) + { + pPrevImage = pImageCapture; + } + + } + + if(pPrevImage!=NULL) + { + pNewCurrentImage = pPrevImage; + } + else + { + int nTotalImage = 0; + int i=0; + for(i=0 ; isize() ; i++) + { + CAPTURE_IMAGE* pImageCapture = (*pListCaptureImage)[i]; + if(pImageCapture->m_bDelete==false) + { + nTotalImage++; + } + } + + if(nTotalImage>0) + { + for(i=0 ; isize() ; i++) + { + CAPTURE_IMAGE* pImageCapture = (*pListCaptureImage)[i]; + if(pImageCapture->m_bDelete==false) + { + pPrevImage = pImageCapture; + break; + } + } + //pPrevImage = (*pListCaptureImage)[0]; + } + + pNewCurrentImage = pPrevImage; + } + + for(it=pListCaptureImage->begin() ; it!=pListCaptureImage->end() ; ++it) + { + CAPTURE_IMAGE* pImageCapture = *it; + nIndex++; + + if(pImageCapture->m_bDelete==false) + { + pImageCapture->m_nIndex = nIndex; + } + else + { + //pImageCapture->m_nIndex = -1; + pImageCapture->m_nIndex = nIndex; + } + } + } + pCommonData->ReleaseListCaptureImage(); + + //if(pNewCurrentImage!=NULL) + { + SetCurrentImage(pNewCurrentImage); + } + + + update(); +} + +void FormCheckCaptureSelect::on_pushButton_Send_Select_clicked() +{ + WRITE_FUNCTION_LOG(); + + bool bExecuteSend = true; + + while(bExecuteSend==true) + { + QList listFile; + + CommonData* pCommonData = MainWindow::GetCommonData(); + + if(m_pCurrentImage->m_nType==DISPLAY_IMAGE) + { + //`FileLocation`, `AcquisitionNumber`, `AcquisitionDate`, `AcquisitionTime`, `ImageDelete`, `ImageSend` + + QString strFile = m_pCurrentImage->m_strImageFilename; + QString strAcquisitionNumber; + QString strAcquisitionDate; + QString strAcquisitionTime; + QString strImageDelete; + QString strImageSend; + + strAcquisitionNumber = QString("%1").arg(m_pCurrentImage->m_nAcquisitionNumber); + strAcquisitionDate = m_pCurrentImage->m_DateTime.toString("yyyyMMdd"); //pImageSelect->m_strDate; + strAcquisitionTime = m_pCurrentImage->m_DateTime.toString("HHmmss");//pImageSelect->m_strTime; + if(m_pCurrentImage->m_bDelete==true) + { + strImageDelete = "1"; + } + else + { + strImageDelete = "0"; + } + + if(m_pCurrentImage->m_bSend==true) + { + strImageSend = "1"; + } + else + { + strImageSend = "0"; + } + + QStringList listData; + listData.push_back(strFile); + listData.push_back(strAcquisitionNumber); + listData.push_back(strAcquisitionDate); + listData.push_back(strAcquisitionTime); + listData.push_back(strImageDelete); + listData.push_back(strImageSend); + + listFile.push_back(listData); + } + + if(listFile.size()==0) + { + return; + } + + + //pCommonData->GetThreadCaptureImage()->SendImage(listFile); + SThreadSendDICOM* pThreadSendDICOM = pCommonData->GetThreadSendDICOM(); + pThreadSendDICOM->SetCheckSendImageList(listFile); + + if(m_pDialogSendProgress!=NULL) + { + delete m_pDialogSendProgress; + } + + m_pDialogSendProgress = new DialogProgress(this); + + //m_pDialogSendProgress->Init(1); + m_pDialogSendProgress->Init(0x11); + m_pDialogSendProgress->exec(); + + vector listImageSendCompleteFile = pThreadSendDICOM->GetListImageSendCompleteFile(); + if(listImageSendCompleteFile.size()>0) + { + QString strSendCompleteFile = listImageSendCompleteFile[0]; + if(strSendCompleteFile==m_pCurrentImage->m_strImageFilename) + { + m_pCurrentImage->m_bSend = true; + } + } + + int nRet = m_pDialogSendProgress->result(); + + if(m_pDialogSendProgress->IsError()==false) + { + bExecuteSend = false; + } + else + { + if(nRet==QDialog::Rejected) + { + bExecuteSend = false; + } + } + + //SDatabase::DeleteListReponse(listFile); + listFile.clear(); + + + if(m_pDialogSendProgress!=NULL) + { + delete m_pDialogSendProgress; + m_pDialogSendProgress = NULL; + } + } + +} + +void FormCheckCaptureSelect::on_pushButton_Send_SelectAll_clicked() +{ + WRITE_FUNCTION_LOG(); + + int i=0; + + bool bExecuteSend = true; + + while(bExecuteSend==true) + { + QList listFile; + CommonData* pCommonData = MainWindow::GetCommonData(); + vector* pListCaptureImage = pCommonData->GetListCaptureImage(); + { + for(i=0 ; isize() ; i++) + { + CAPTURE_IMAGE* pCaptureImage = (*pListCaptureImage)[i]; + if(pCaptureImage->m_bDelete==false && pCaptureImage->m_nType==DISPLAY_IMAGE) + { + if(pCaptureImage->m_bCheck==true) + { + //`FileLocation`, `AcquisitionNumber`, `AcquisitionDate`, `AcquisitionTime`, `ImageDelete`, `ImageSend` + + QString strFile = pCaptureImage->m_strImageFilename; + QString strAcquisitionNumber; + QString strAcquisitionDate; + QString strAcquisitionTime; + QString strImageDelete; + QString strImageSend; + + strAcquisitionNumber = QString("%1").arg(pCaptureImage->m_nAcquisitionNumber); + strAcquisitionDate = pCaptureImage->m_DateTime.toString("yyyyMMdd"); //pImageSelect->m_strDate; + strAcquisitionTime = pCaptureImage->m_DateTime.toString("HHmmss");//pImageSelect->m_strTime; + if(pCaptureImage->m_bDelete==true) + { + strImageDelete = "1"; + } + else + { + strImageDelete = "0"; + } + + if(pCaptureImage->m_bSend==true) + { + strImageSend = "1"; + } + else + { + strImageSend = "0"; + } + + QStringList listData; + listData.push_back(strFile); + listData.push_back(strAcquisitionNumber); + listData.push_back(strAcquisitionDate); + listData.push_back(strAcquisitionTime); + listData.push_back(strImageDelete); + listData.push_back(strImageSend); + + listFile.push_back(listData); + } + } + + } + } + pCommonData->ReleaseListCaptureImage(); + + if(listFile.size()==0) + { + return; + } + + //pCommonData->GetThreadCaptureImage()->SendImage(listFile); + SThreadSendDICOM* pThreadSendDICOM = pCommonData->GetThreadSendDICOM(); + pThreadSendDICOM->SetCheckSendImageList(listFile); + + if(m_pDialogSendProgress!=NULL) + { + delete m_pDialogSendProgress; + } + + m_pDialogSendProgress = new DialogProgress(this); + + //m_pDialogSendProgress->Init(1); + m_pDialogSendProgress->Init(0x11); + m_pDialogSendProgress->exec(); + + vector listImageSendCompleteFile = pThreadSendDICOM->GetListImageSendCompleteFile(); + + pListCaptureImage = pCommonData->GetListCaptureImage(); + { + for(i=0 ; isize() ; i++) + { + CAPTURE_IMAGE* pCaptureImage = (*pListCaptureImage)[i]; + int j=0; + for(j=0 ; jm_strImageFilename==strImageSendCompleteFile) + { + pCaptureImage->m_bSend = true; + } + + } + } + } + pCommonData->ReleaseListCaptureImage(); + + + + int nRet = m_pDialogSendProgress->result(); + + if(m_pDialogSendProgress->IsError()==false) + { + bExecuteSend = false; + } + else + { + if(nRet==QDialog::Rejected) + { + bExecuteSend = false; + } + } + + if(m_pDialogSendProgress!=NULL) + { + delete m_pDialogSendProgress; + m_pDialogSendProgress = NULL; + } + + //SDatabase::DeleteListReponse(listFile); + listFile.clear(); + } + + +} + +void FormCheckCaptureSelect::UpdateMakeDICOMInfo(int nCount, int nTotalCount) +{ + m_pDialogSendProgress->DisplayInfo(nCount, nTotalCount); + + QString strInfo = QString("DICOM Make: %1 / %2").arg(nCount).arg(nTotalCount); + m_pDialogSendProgress->DisplayInfo(strInfo); +} + + +void FormCheckCaptureSelect::UpdateSendInfo(int nCount, int nTotalCount) +{ + m_pDialogSendProgress->DisplayInfo(nCount, nTotalCount); + + QString strInfo = QString("%1 / %2").arg(nCount).arg(nTotalCount); + m_pDialogSendProgress->DisplayInfo(strInfo); +} + +void FormCheckCaptureSelect::UpdateSendComplete() +{ + m_pDialogSendProgress->DisplayInfo(-1, 100); + + QString strInfo = QString("Send Complete"); + m_pDialogSendProgress->DisplayInfo(strInfo); + + //QThread::msleep(1000); + + //m_pDialogSendProgress->SendComplete(); + //m_pDialogSendProgress->accept(); +} + +void FormCheckCaptureSelect::UpdateSendFailed() +{ + if(m_pDialogSendProgress!=NULL) + { + m_pDialogSendProgress->DisplayInfo(-1, 100); + + m_pDialogSendProgress->DisplayInfo(-1); + } + +} + + +void FormCheckCaptureSelect::Init() +{ + m_pCurrentImage = NULL; +} diff --git a/formcheckcaptureselect.h b/formcheckcaptureselect.h new file mode 100644 index 0000000..1fcd1b1 --- /dev/null +++ b/formcheckcaptureselect.h @@ -0,0 +1,61 @@ +#ifndef FORMCHECKCAPTURESELECT_H +#define FORMCHECKCAPTURESELECT_H + +#include + +#include "common.h" + +#include "dialogprogress.h" + +namespace Ui { +class FormCheckCaptureSelect; +} + +class FormCheckCaptureSelect : public QWidget +{ + Q_OBJECT + +public: + explicit FormCheckCaptureSelect(QWidget *parent = nullptr); + ~FormCheckCaptureSelect(); + + void SetCurrentImage(CAPTURE_IMAGE* pData); + + virtual void paintEvent(QPaintEvent *event); + + void UpdateMakeDICOMInfo(int nCount, int nTotalCount); + + void UpdateSendInfo(int nCount, int nTotalCount); + void UpdateSendComplete(); + void UpdateSendFailed(); + + void Init(); + +protected: + CAPTURE_IMAGE* m_pCurrentImage; + CAPTURE_IMAGE* m_pDisplayImage; + + DialogProgress* m_pDialogSendProgress; + +signals: + void CloseSelectForm(); + +private slots: + void ClickSelect(); + void on_pushButton_Close_clicked(); + + void on_pushButton_Prev_clicked(); + + void on_pushButton_Next_clicked(); + + void on_pushButton_Delete_clicked(); + + void on_pushButton_Send_Select_clicked(); + + void on_pushButton_Send_SelectAll_clicked(); + +private: + Ui::FormCheckCaptureSelect *ui; +}; + +#endif // FORMCHECKCAPTURESELECT_H diff --git a/formcheckcaptureselect.ui b/formcheckcaptureselect.ui new file mode 100644 index 0000000..12a2cb9 --- /dev/null +++ b/formcheckcaptureselect.ui @@ -0,0 +1,293 @@ + + + FormCheckCaptureSelect + + + + 0 + 0 + 1103 + 780 + + + + Form + + + QWidget +{ + background: #A6B1C2; +} + + + + + 0 + 621 + 1103 + 159 + + + + QFrame +{ + background: #A6B1C2; +} + + + QFrame::NoFrame + + + QFrame::Plain + + + + + 10 + 50 + 121 + 71 + + + + QPushButton +{ + qproperty-autoDefault: false; + qproperty-flat: true; + border: none; + border-image: url(://image/2/capture_send_icon_button.png); +} + +QPushButton:pressed +{ + border-image: url(://image/2/capture_send_icon_clicked_button.png); +} + + + + + + + + + 150 + 50 + 121 + 71 + + + + QPushButton +{ + qproperty-autoDefault: false; + qproperty-flat: true; + border: none; + border-image: url(://image/2/capture_delete_button_icon.png); +} + +QPushButton:pressed +{ + border-image: url(://image/2/capture_delete_clicked_button_icon.png); +} + + + + + + + + + 970 + 50 + 121 + 71 + + + + QPushButton +{ + qproperty-autoDefault: false; + qproperty-flat: true; + border: none; + border-image: url(://image/2/capture_send_icon_check box_button.png); +} + +QPushButton:pressed +{ + border-image: url(://image/2/capture_send all_button_clicked.png); +} + + + + + + + + + + 1007 + 12 + 81 + 71 + + + + QPushButton +{ + qproperty-autoDefault: false; + qproperty-flat: true; + border: none; + border-image: url(://image/2/capture_close_button_icon.png); +} + +QPushButton:pressed +{ + border-image: url(://image/2/capture_close_clicked_button_icon.png); +} + + + + + + + + + 7 + 262 + 80 + 110 + + + + QPushButton +{ + qproperty-autoDefault: false; + qproperty-flat: true; + border: none; + border-image: url(://image/2/preview-icon.png); +} + +QPushButton:pressed +{ + border-image: url(://image/2/preview-icon_clicked.png); +} + + + + + + + + + 27 + 32 + 31 + 31 + + + + QPushButton +{ + qproperty-autoDefault: false; + qproperty-flat: true; + border: none; + background: white; + qproperty-checkable: true; + qproperty-checked: false; +} + +QPushButton:!checked +{ + background: white; +} + + +QPushButton:checked +{ + background: white; + border-image: url(://image/2/capture_check box.png); + padding: 6px; +} + + + + + + + + + + 75 + 27 + 141 + 41 + + + + QLabel +{ + color: white; + font-family: 'Roboto'; + font-size: 20px; + font-weight: bold; + background: black; +} + + + Image: 5/5 + + + + + + 1007 + 262 + 80 + 110 + + + + QPushButton +{ + qproperty-autoDefault: false; + qproperty-flat: true; + border: none; + border-image: url(://image/2/next-icon.png); +} + +QPushButton:pressed +{ + border-image: url(://image/2/next-icon_clicked.png); +} + + + + + + + + + 220 + 27 + 141 + 41 + + + + QLabel +{ + color: white; + font-family: 'Roboto'; + font-size: 20px; + font-weight: bold; + background: red; +} + + + Video File + + + + + + diff --git a/formheadertype1.cpp b/formheadertype1.cpp new file mode 100644 index 0000000..8a5e96f --- /dev/null +++ b/formheadertype1.cpp @@ -0,0 +1,156 @@ +#include "formheadertype1.h" +#include "ui_formheadertype1.h" + +#include +#include +#include "mainwindow.h" + +FormHeaderType1::FormHeaderType1(QWidget *parent) : + QWidget(parent), + ui(new Ui::FormHeaderType1) +{ + ui->setupUi(this); + + m_nID = 0; +} + +FormHeaderType1::~FormHeaderType1() +{ + delete ui; +} + + +void FormHeaderType1::resizeEvent(QResizeEvent *event) +{ + event->type(); + + QSize sz = size(); + ui->horizontalLayoutWidget->setGeometry(0, 0, sz.width(), sz.height()); + + int nDisplayType = MainWindow::GetCommonData()->GetDisplayType(); + int nFontSize = 22; + if(nDisplayType==SDISPLAY_1280X1024) + { + ui->frame_image->move(15, 20); + nFontSize = 16; + } + else if(nDisplayType==SDISPLAY_1920X1080) + { + ui->frame_image->move(15, 25); + } + + QString strLabel = QString( + "QLabel \ + { \ + qproperty-alignment: 'AlignHCenter | AlignVCenter'; \ + font-family: 'Roboto'; \ + font-size: %1px; \ + font-weight: bold; \ + color: white; \ + }").arg(nFontSize); + + ui->label->setStyleSheet(strLabel); + + +} + + +void FormHeaderType1::enterEvent(QEvent *event) +{ + //ui->label->setText("hover"); + + ui->horizontalLayoutWidget->setStyleSheet("QWidget { background: #ff0000; }"); + //setStyleSheet(""); +} + +void FormHeaderType1::leaveEvent(QEvent *event) +{ + //ui->label->setText("leave"); + ui->horizontalLayoutWidget->setStyleSheet("QWidget { background: transparent; }"); +} + + +void FormHeaderType1::mousePressEvent(QMouseEvent *event) +{ + //ui->label->setText("click"); + //ui->horizontalLayoutWidget->setStyleSheet("QWidget { background: #000000; }"); + + //ui->label->setStyleSheet("QLabel { color: white; }"); + //ui->frame->setStyleSheet("QFrame {border-image: url(://image/Arrow_top_2.png);}"); + + /* + setStyleSheet( + "QTableWidget {background-color: transparent; border: none; outline: none;}" + //"QHeaderView { border:none; border-bottom: 3px solid rgb(0, 160, 230); background: rgb(57, 58, 60); min-height: 60px;}" + "QHeaderView { border:none; border-bottom: 3px solid rgb(0, 160, 230); background: transparent; min-height: 60px;}" + + "QHeaderView::section:horizontal { border:none; border-right: 1px solid white; color: white; background: transparent ; padding-left: 10px; }" + "QHeaderView::section:horizontal:hover { background: rgb(0, 160, 230);}" + "QHeaderView::section:horizontal:pressed { background: rgb(0, 180, 255);}" + "QHeaderView::up-arrow { width: 23px; height: 12px; padding-right: 25px; image: url(://image/Arrow_top_2.png); subcontrol-position: center right; }" + "QHeaderView::down-arrow { width: 23px; height: 12px; padding-right: 25px; image: url(://image/Arrow_under_2.png); subcontrol-position: center right; }"); + */ + +} + +void FormHeaderType1::mouseReleaseEvent(QMouseEvent *event) +{ + Clicked(m_nID); +} + + +void FormHeaderType1::Unselect() +{ + //ui->horizontalSpacer->changeSize(0, 0); + ui->frame->hide(); + + //m_nOrder = Qt::AscendingOrder; + m_nOrder = -1; +} + +void FormHeaderType1::Select(int nOrder) +{ + m_nOrder = nOrder; + if(ui->frame->isVisible()==false) + { + //ui->horizontalSpacer->changeSize(10, 20); + ui->frame->show(); + } + + + if(nOrder==Qt::AscendingOrder) + { + ui->frame_image->setStyleSheet("QFrame {border-image: url(://image/Arrow_under_2.png);}"); + } + else if(nOrder==Qt::DescendingOrder) + { + ui->frame_image->setStyleSheet("QFrame {border-image: url(://image/Arrow_top_2.png);}"); + } + else + { + ui->frame_image->setStyleSheet("QFrame {border: none;}"); + } + + +} + +int FormHeaderType1::GetOrder() +{ + return m_nOrder; +} + +void FormHeaderType1::SetID(int nID) +{ + m_nID = nID; +} + +int FormHeaderType1::GetID() +{ + return m_nID; +} + +void FormHeaderType1::SetHeaderText(QString& strText) +{ + ui->label->setText(strText); +} + diff --git a/formheadertype1.h b/formheadertype1.h new file mode 100644 index 0000000..c79acf1 --- /dev/null +++ b/formheadertype1.h @@ -0,0 +1,48 @@ +#ifndef FORMHEADERTYPE1_H +#define FORMHEADERTYPE1_H + +#include + +namespace Ui { +class FormHeaderType1; +} + +class FormHeaderType1 : public QWidget +{ + Q_OBJECT + +public: + explicit FormHeaderType1(QWidget *parent = nullptr); + ~FormHeaderType1(); + + virtual void resizeEvent(QResizeEvent *event); + + virtual void enterEvent(QEvent *event); + virtual void leaveEvent(QEvent *event); + + virtual void mousePressEvent(QMouseEvent *event); + virtual void mouseReleaseEvent(QMouseEvent *event); + + void Unselect(); + void Select(int nOrder); + + void SetID(int nID); + int GetID(); + int GetOrder(); + + void SetHeaderText(QString& strText); + + + +protected: + int m_nID; + int m_nOrder; + +signals: + void Clicked(int nID); + +private: + Ui::FormHeaderType1 *ui; +}; + +#endif // FORMHEADERTYPE1_H diff --git a/formheadertype1.ui b/formheadertype1.ui new file mode 100644 index 0000000..8009b59 --- /dev/null +++ b/formheadertype1.ui @@ -0,0 +1,165 @@ + + + FormHeaderType1 + + + + 0 + 0 + 198 + 60 + + + + Form + + + QWidget#FormHeaderType1 +{ + background: red; +} + + + + + 0 + 0 + 208 + 62 + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 10 + 20 + + + + + + + + QLabel +{ + qproperty-alignment: 'AlignHCenter | AlignVCenter'; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: white; +} + + + STUDY DATE + + + Qt::AlignCenter + + + + + + + + 0 + 0 + + + + + 40 + 60 + + + + + 40 + 60 + + + + QFrame +{ + background: none; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 15 + 25 + 10 + 7 + + + + + 1 + 1 + + + + + 10 + 7 + + + + + 10 + 7 + + + + QFrame#frame_image +{ + background: none; + border-image: url(://image/Arrow_top_2.png); +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 10 + 20 + + + + + + + + + + diff --git a/formhistory.cpp b/formhistory.cpp new file mode 100644 index 0000000..8d65f82 --- /dev/null +++ b/formhistory.cpp @@ -0,0 +1,372 @@ +#include "formhistory.h" +#include "ui_formhistory.h" + +#include "commondata.h" +#include "mainwindow.h" +#include "dialogcalendar.h" +#include "formcalendarview.h" + +FormHistory::FormHistory(QWidget *parent) : + QWidget(parent), + ui(new Ui::FormHistory) +{ + ui->setupUi(this); + + ui->widgetList->ChangeHeader(); + + ui->pushButton_DateEnd->hide(); + + m_nSearchDurationType = 0; +} + +FormHistory::~FormHistory() +{ + delete ui; +} + +void FormHistory::ClickSearchDateStartEnd() +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + QDate dateStart = pCommonData->GetDateSearchHistoryStart(); + QDate dateEnd = pCommonData->GetDateSearchHistoryEnd(); + + QDate date = QDate::currentDate(); + + if(m_nSearchDurationType==0) + { + + } + + DialogCalendar dlg(this); + dlg.SetCalendarDate(date.year(), date.month(), 1); + dlg.SetDateStart(dateStart); + dlg.SetDateEnd(dateEnd); + //dlg.SetModeChangeStart(); + + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + pMainWindow->StopScreenSaverTimer(); + + connect(&dlg, SIGNAL(SetSearchDateUpdate(int)), this, SLOT(SetSearchDateUpdate(int))); + + dlg.exec(); + m_nSearchDurationType = dlg.GetTypeSearchDuration(); + + disconnect(&dlg, SIGNAL(SetSearchDateUpdate(int)), this, SLOT(SetSearchDateUpdate(int))); + + pMainWindow->ResetScreenSaverTimer(); + pMainWindow->StartScreenSaverTimer(); +} + +void FormHistory::on_pushButton_DateStart_clicked() +{ + WRITE_FUNCTION_LOG(); + ClickSearchDateStartEnd(); + +} + +void FormHistory::on_pushButton_DateEnd_clicked() +{ + WRITE_FUNCTION_LOG(); + ClickSearchDateStartEnd(); +} + +void FormHistory::SetSearchDateUpdate(int nTypeSearchDuration) +{ + WRITE_FUNCTION_LOG(); + CommonData* pCommonData = MainWindow::GetCommonData(); + //QDate dateStart = pMainWindow->GetDateSearchWorklistStart();// FormCalendarView::GetDateStart(); + //QDate dateEnd = pMainWindow->GetDateSearchWorklistEnd();// FormCalendarView::GetDateEnd(); + QDate dateStart = FormCalendarView::GetDateStart(); + QDate dateEnd = FormCalendarView::GetDateEnd(); + QDate dateToday = QDate::currentDate(); + + m_nSearchDurationType = nTypeSearchDuration; + + pCommonData->GetSearchDateStartEnd(m_nSearchDurationType, dateStart, dateEnd); + pCommonData->SetDateSearchHistoryStart(dateStart); + pCommonData->SetDateSearchHistoryEnd(dateEnd); + + QString strDateStart; + QString strDateEnd; + + int nStartYear = dateStart.year(); + int nStartMonth = dateStart.month(); + int nStartDay = dateStart.day(); + + int nEndYear = dateEnd.year(); + int nEndMonth = dateEnd.month(); + int nEndDay = dateEnd.day(); + + strDateStart = QString("%1/%2/%3").arg(QString::number(nStartYear).rightJustified(4, '0')).arg(QString::number(nStartMonth).rightJustified(2, '0')).arg(QString::number(nStartDay).rightJustified(2, '0')); + + strDateEnd = QString("%1/%2/%3").arg(QString::number(nEndYear).rightJustified(4, '0')).arg(QString::number(nEndMonth).rightJustified(2, '0')).arg(QString::number(nEndDay).rightJustified(2, '0')); + + if(dateToday==dateStart) + { + ui->label_DateStart->setText("Today"); + } + else + { + QString strSearchDate = QString("%1 ~ %2").arg(strDateStart).arg(strDateEnd); + ui->label_DateStart->setText(strSearchDate); + } + + if(dateToday==dateEnd) + { + ui->label_DateEnd->setText("Today"); + } + else + { + ui->label_DateEnd->setText(strDateEnd); + } + + + SEARCH_ITEM* pSearchItem = pCommonData->GetSearchItemHistory(); + pSearchItem->m_strStudyDate = QString("%1-%2").arg(strDateStart).arg(strDateEnd); +} + + + + +void FormHistory::on_pushButton_Search_clicked() +{ + WRITE_FUNCTION_LOG(); + CommonData* pCommonData = MainWindow::GetCommonData(); + QDate dateStart = pCommonData->GetDateSearchHistoryStart(); + QDate dateEnd = pCommonData->GetDateSearchHistoryEnd(); + SDatabase* pDatabase = NULL; + SEARCH_ITEM si; + + pCommonData->GetSearchDateStartEnd(m_nSearchDurationType, dateStart, dateEnd); + pCommonData->SetDateSearchHistoryStart(dateStart); + pCommonData->SetDateSearchHistoryEnd(dateEnd); + + pCommonData->ClearHistorySearchResult(); + + QDate dt = QDate::currentDate(); + int nYear = dt.year(); + int nMonth = dt.month(); + int nDay = dt.day(); + + + QString strSearchDate; + if(dateStart.isValid()==true) + { + } + else + { + strSearchDate = QString("%1/%2/%3").arg(nYear, 4, 10, QChar('0')).arg(nMonth, 2, 10, QChar('0')).arg(nDay, 2, 10, QChar('0')); + } + + if(dateEnd.isValid()==true) + { + + } + else + { + strSearchDate += QString("-%1/%2/%3").arg(nYear, 4, 10, QChar('0')).arg(nMonth, 2, 10, QChar('0')).arg(nDay, 2, 10, QChar('0')); + } + + if(strSearchDate.length()<21) + { + QDate dt = dateStart; + int nYear = dt.year(); + int nMonth = dt.month(); + int nDay = dt.day(); + + strSearchDate += QString("%1/%2/%3").arg(nYear, 4, 10, QChar('0')).arg(nMonth, 2, 10, QChar('0')).arg(nDay, 2, 10, QChar('0')); + + dt = dateEnd; + nYear = dt.year(); + nMonth = dt.month(); + nDay = dt.day(); + strSearchDate += QString("-%1/%2/%3").arg(nYear, 4, 10, QChar('0')).arg(nMonth, 2, 10, QChar('0')).arg(nDay, 2, 10, QChar('0')); + } + + + si.m_strStudyDate = strSearchDate; + + si.m_strPatientName = ui->plainTextEdit_PatientName->toPlainText(); + si.m_strPatientID = ui->plainTextEdit_PatientID->toPlainText(); + + + // 1. 결과를 담을 벡터를 먼저 가져옵니다. (기존 데이터를 비우는 처리는 ClearHistorySearchResult에서 담당) + vector* pListHistorySearch = pCommonData->GetHistorySearchResult(); + // pCommonData->ClearHistorySearchResult(); // 필요하다면 여기서 기존 결과를 비웁니다. + + // 2. 이 작업을 위한 지역 DB 인스턴스를 생성하고 연결합니다. + SUTIL::SDatabase db(QString("GetHistoryStudyTask_%1").arg(reinterpret_cast(this))); + if (db.OpenDatabase("/home/birdhead/test.db") == 0) // 0이 성공 + { + // 3. 새로운 API를 호출하여 결과 리스트 "값"을 직접 받습니다. + // (bWithDelete는 false라고 가정) + QList result = db.GetHistoryStudy(&si, false); + + // 4. 새로운 range-based for 문으로 코드를 더 간결하게 만듭니다. + for (const QStringList& rowData : result) + { + HISTORY_STUDY* pHistoryStudy = new HISTORY_STUDY; + + // 컬럼 순서가 일치한다고 가정하고 데이터를 복사합니다. + // SDI_TOTAL은 m_List의 크기를 넘어가지 않도록 하는 안전장치입니다. + for (int j = 0; j < rowData.size() && j < SDI_TOTAL; ++j) + { + QString* pData = pHistoryStudy->m_List[j]; + if (pData) { // 포인터 유효성 검사 + *pData = rowData.at(j); + } + } + pListHistorySearch->push_back(pHistoryStudy); + } + } + else + { + qWarning() << "DB open failed for GetHistoryStudy."; + } + + /* + pDatabase = pCommonData->GetDatabase(); + pDatabase->GetHistoryStudy(&si); + + vector* pListHistorySearch = pCommonData->GetHistorySearchResult(); + QList* pResult = pDatabase->GetResult(); + + + int i=0; + + for(i=0 ; isize() ; i++) + { + HISTORY_STUDY* pHistoryStudy = new HISTORY_STUDY; + pListHistorySearch->push_back(pHistoryStudy); + + QStringList* pListData = (*pResult)[i]; + int j=0; + for(j=0 ; jsize() ; j++) + { + QString* pData = pHistoryStudy->m_List[j]; + *pData = (*pListData)[j]; + } + } + + pCommonData->ReleaseDatabase(); + */ + + Init(); +} + +void FormHistory::Init() +{ + WRITE_FUNCTION_LOG(); + ui->widgetList->Clear(); + ui->widgetList->ChangeHeader(); + + ui->widgetList->UpdateHistoryList(); + ui->widgetList->Init(); +} + + +void FormHistory::resizeEvent(QResizeEvent *event) +{ + WRITE_FUNCTION_LOG(); + int nDisplayType = MainWindow::GetCommonData()->GetDisplayType(); + + int nFontSize = 22; + if(nDisplayType==SDISPLAY_1280X1024) + { + nFontSize = 16; + + ui->frame_PatientID->setGeometry(20, 28, 156, 32); + ui->frame_PatientName->setGeometry(195, 28, 156, 32); + ui->pushButton_DateStart->setGeometry(376, 28, 278, 32); + //ui-> + ui->pushButton_DateEnd->setGeometry(580, 28, 178, 32); + + ui->plainTextEdit_PatientID->setGeometry(30, 31, 140, 40); + ui->plainTextEdit_PatientName->setGeometry(205, 31, 140, 40); + + ui->label_DateStart->setGeometry(18, 0, 260, 36); + ui->label_DateEnd->setGeometry(18, 0, 160, 36); + + ui->widgetList->setGeometry(20, 91, 1150, 665); + + ui->pushButton_USBExport->setGeometry(20, 91+665+30, 145, 45); + + + ui->pushButton_Search->setGeometry(1025, 21, 145, 45); + } + else if(nDisplayType==SDISPLAY_1920X1080) + { + ui->frame_PatientID->setGeometry(30, 34, 195, 40); + ui->frame_PatientName->setGeometry(250, 34, 195, 40); + ui->pushButton_DateStart->setGeometry(477, 34, 268, 40); + ui->pushButton_DateEnd->setGeometry(770, 34, 268, 40); + + ui->plainTextEdit_PatientID->setGeometry(40, 40, 175, 50); + ui->plainTextEdit_PatientName->setGeometry(260, 40, 175, 50); + + ui->label_DateStart->setGeometry(20, 0, 201, 40); + ui->label_DateEnd->setGeometry(20, 0, 201, 40); + + ui->widgetList->setGeometry(30, 108, 1750, 640); + + ui->pushButton_Search->setGeometry(1600, 24, 180, 56); + } + + QString strPushButton = QString( + "QPushButton \ + { \ + background: #153B44; \ + font-family: 'Roboto'; \ + font-size: %1px; \ + font-weight: bold; \ + border-radius: 8px; \ + color: white; \ + } \ + \ + QPushButton:pressed \ + { \ + background: #1B4C54; \ + }").arg(nFontSize); + + ui->pushButton_Search->setStyleSheet(strPushButton); + + + +} + +#include "dialogexportusb.h" + +void FormHistory::on_pushButton_USBExport_clicked() +{ + WRITE_FUNCTION_LOG(); + ui->widgetList->GetExportList(); + + CommonData* pCommonData = MainWindow::GetCommonData(); + vector* pListExport = pCommonData->GetExportList(); + + if(pListExport->size()==0) + { + return; + } + DialogExportUSB dlg(this); + + int nRet = dlg.exec(); +} + +void FormHistory::keyReleaseEvent(QKeyEvent *event) +{ + WRITE_FUNCTION_LOG(); + int nKey = event->key(); + + SThreadImageSave* pThread = MainWindow::GetCommonData()->GetThreadCaptureImage(); + + if(nKey==Qt::Key_F10) + { + pThread->MissCapture(); + } + else if(nKey==Qt::Key_F11) + { + pThread->MissCapture(); + } + +} diff --git a/formhistory.h b/formhistory.h new file mode 100644 index 0000000..e03928d --- /dev/null +++ b/formhistory.h @@ -0,0 +1,47 @@ +#ifndef FORMHISTORY_H +#define FORMHISTORY_H + +#include + +namespace Ui { +class FormHistory; +} + +class FormHistory : public QWidget +{ + Q_OBJECT + +public: + explicit FormHistory(QWidget *parent = nullptr); + ~FormHistory(); + + virtual void Init(); + + void ClickSearchDateStartEnd(); + +protected: + int m_nSearchDurationType; + +public: + virtual void resizeEvent(QResizeEvent *event); + virtual void keyReleaseEvent(QKeyEvent *event); + +public slots: + void SetSearchDateUpdate(int nTypeSearchDuration); + +private slots: + void on_pushButton_DateStart_clicked(); + + void on_pushButton_DateEnd_clicked(); + + + + void on_pushButton_Search_clicked(); + + void on_pushButton_USBExport_clicked(); + +private: + Ui::FormHistory *ui; +}; + +#endif // FORMHISTORY_H diff --git a/formhistory.ui b/formhistory.ui new file mode 100644 index 0000000..a070e8b --- /dev/null +++ b/formhistory.ui @@ -0,0 +1,396 @@ + + + FormHistory + + + + 0 + 0 + 1808 + 857 + + + + Form + + + + + 0 + 0 + 1808 + 857 + + + + QFrame#frame_background + { + background: #a6b1c2; + border: none; + } + + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + 477 + 34 + 368 + 40 + + + + + + + + + 0 + 0 + 668 + 40 + + + + QFrame +{ + background: white; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 20 + 0 + 301 + 40 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + color: #938182; +} + + + Search Date: Today + + + + + + 320 + 0 + 40 + 40 + + + + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + + 870 + 34 + 268 + 40 + + + + + + + + + 0 + 0 + 268 + 40 + + + + QFrame +{ + background: white; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 20 + 0 + 201 + 40 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + color: #938182; +} + + + END DATE + + + + + + 220 + 0 + 40 + 40 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + + 250 + 34 + 195 + 40 + + + + QFrame#frame_PatientName +{ + background: white; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + 260 + 40 + 175 + 50 + + + + QPlainTextEdit +{ + qproperty-placeholderText: 'NAME'; + qproperty-lineWrapMode: 'NoWrap'; + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + padding-left: 0px; + padding-top: 0px; + qproperty-backgroundVisible: false; + border: none; + qproperty-verticalScrollBarPolicy: 'ScrollBarAlwaysOff'; + background: transparent; +} + + + Qt::ImhNone + + + true + + + false + + + + + + 1600 + 24 + 180 + 56 + + + + QPushButton +{ + background: #153B44; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: white; +} + +QPushButton:pressed +{ + background: #1B4C54; +} + + + SEARCH + + + + + + 30 + 34 + 195 + 40 + + + + QFrame#frame_PatientID +{ + background: white; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + 40 + 40 + 175 + 50 + + + + QPlainTextEdit +{ + qproperty-placeholderText: 'ID'; + qproperty-lineWrapMode: 'NoWrap'; + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + padding-left: 0px; + padding-top: 0px; + qproperty-backgroundVisible: false; + border: none; + qproperty-verticalScrollBarPolicy: 'ScrollBarAlwaysOff'; + background: transparent; +} + + + true + + + false + + + + + + 30 + 108 + 1750 + 721 + + + + + + + 1630 + 360 + 180 + 56 + + + + QPushButton +{ + background: #FFFFFF; + font-family: 'Roboto'; + font-size: 18px; + font-weight: bold; + border-radius: 8px; + color: black; +} + +QPushButton:pressed +{ + background: #D8D8D8; +} + + + USB Export + + + + + + STextEdit + QPlainTextEdit +
stextedit.h
+
+ + FormListWidgetHistory + QWidget +
formlistwidgethistory.h
+ 1 +
+
+ + plainTextEdit_PatientID + plainTextEdit_PatientName + pushButton_Search + pushButton_DateStart + pushButton_DateEnd + + + +
diff --git a/formimageselect.cpp b/formimageselect.cpp new file mode 100644 index 0000000..c28e921 --- /dev/null +++ b/formimageselect.cpp @@ -0,0 +1,484 @@ +#include "formimageselect.h" +#include "ui_formimageselect.h" + +#include +#include +#include +#include +#include + +#include "mainwindow.h" +//#include + +FormImageSelect::FormImageSelect(QWidget *parent) : + QWidget(parent), + ui(new Ui::FormImageSelect) +{ + ui->setupUi(this); + + connect(ui->pushButton_Select, SIGNAL(released()), this, SLOT(ClickSelect())); + + //m_pImage = new QImage("/home/birdhead/test1.png"); + + m_pImageSelect = NULL; + m_pImage = NULL; + + //m_pImage = new QImage(1920, 1080, QImage::Format_RGB888); + + + m_nIndexViewer = -1; + + Init(); +} + +FormImageSelect::~FormImageSelect() +{ + //SAFE_DELETE(m_pImage); + delete ui; +} + +void FormImageSelect::resizeEvent(QResizeEvent *event) +{ + WRITE_FUNCTION_LOG(); + + UpdateImageSelect(); + Init(); +} + + +void FormImageSelect::ClickSelect() +{ + WRITE_FUNCTION_LOG(); + +} + +void FormImageSelect::paintEvent(QPaintEvent *event) +{ + + + QPainter painter(this); + QSize nSize = size(); + int nPaddingLeft = 0; + + QRect rectDisplay = QRect(nPaddingLeft, 0, nSize.width()-nPaddingLeft, nSize.height()); + + QColor colorBackground; + + painter.setRenderHint(QPainter::SmoothPixmapTransform); + + colorBackground = Qt::white; + if(m_pImage==NULL) + { + painter.fillRect(rectDisplay, Qt::black); + return; + } + + + + + painter.fillRect(rectDisplay, colorBackground); + + if(m_pImage!=NULL) + { + painter.fillRect(QRect(0, 0, nSize.width(), nSize.height()), Qt::black); + /* + if(m_pImage->width() < m_pImage->height()) + { + + nPaddingLeft += (nSize.width()-nSize.height())/2; + } + else + { + nPaddingLeft = 0; + } + m_rectDisplay = QRect(nPaddingLeft, 0, nSize.width()-nPaddingLeft*2, nSize.height()); + m_rectDisplayImage = m_rectDisplay; + */ + } + + if(m_bUseZoom==true) + { + int nOffset = m_PointClicked.y() - m_PointCurrent.y(); + + int nRectX = m_rectDisplay.x(); + int nRectY = m_rectDisplay.y(); + int nRectWidth = m_rectDisplay.width(); + int nRectHeight = m_rectDisplay.height(); + + float fRatioTmp = (float)nSize.width() / (float)nSize.height(); + + m_rectDisplayImage = QRect(nRectX+nOffset*fRatioTmp, nRectY+nOffset, nRectWidth-nOffset*2*fRatioTmp, nRectHeight-nOffset*2); + } + else if(m_bUseMove==true) + { + int nOffsetX = m_PointCurrent.x() - m_PointClicked.x(); + int nOffsetY = m_PointCurrent.y() - m_PointClicked.y(); + + qDebug() << nOffsetX << ", " << nOffsetY << endl; + + int nRectX = m_rectDisplay.x(); + int nRectY = m_rectDisplay.y(); + int nRectWidth = m_rectDisplay.width(); + int nRectHeight = m_rectDisplay.height(); + + float fRatioTmp = (float)nSize.width() / (float)nSize.height(); + + m_rectDisplayImage = QRect(nRectX+nOffsetX, nRectY+nOffsetY, nRectWidth, nRectHeight); + } + + painter.drawImage(m_rectDisplayImage, *m_pImage); + + + QFont font("Roboto"); + font.setPixelSize(18); + + painter.setFont(font); + + painter.setPen(Qt::black); + //QString strInfo; + //strInfo = QString("Index: %1").arg(QString::number(m_nIndexViewer)); + //painter.drawText(rectDisplay, Qt::AlignLeft | Qt::AlignVCenter, strInfo); + + if(m_pImageSelect!=NULL) + { + if(m_pImageSelect->m_nType==DISPLAY_VIDEO) + { + QRect rectDisplayVideo; + int nWidth = rectDisplay.width() / 20; + int nHeight = rectDisplay.height() / 20; + rectDisplayVideo = QRect(nWidth*17, nHeight, nWidth*2, nHeight); + + painter.fillRect(rectDisplayVideo, QColor(255, 0, 0)); + + int nFontSize = nHeight/2; + if(nFontSize<10) + { + nFontSize = 10; + } + + font.setPixelSize(nFontSize); + font.setBold(true); + painter.setFont(font); + painter.drawText(rectDisplayVideo, Qt::AlignCenter, "VIDEO"); + } + } + + + + +} + +void FormImageSelect::SetIndexViewer(int nIndex) +{ + m_nIndexViewer = nIndex; +} + + +void FormImageSelect::SetImageSelect(ImageSelect* pImageSelect) +{ + //WRITE_FUNCTION_LOG(); + m_pImageSelect = pImageSelect; + + DisplayCheck(); + + if(m_pImageSelect==NULL) + { + if(m_pImage!=NULL) + { + m_pImage->fill(QColor(0, 0, 0)); + } + + //m_pImage = NULL; + } + else + { + + + UpdateImageSelect(true); + } + + +} + + +void FormImageSelect::UpdateImageSelect(bool bForce) +{ + //WRITE_FUNCTION_LOG(); + QSize nSize = size(); + + bool bResize = false; + /* + if(m_pImage==NULL) + { + bResize = true; + } + else + { + if(m_pImage->size()!=nSize) + { + bResize = true; + } + } + */ + + if(m_pImageSelect!=NULL) + { + int nWidth = m_pImageSelect->GetWidth(); + int nHeight = m_pImageSelect->GetHeight(); + //QImage::Format fmt = (QImage::Format)m_pImageSelect->GetFormat(); + QImage::Format fmt = QImage::Format_RGB888; + uint8_t* pImageDataSrc = m_pImageSelect->m_pImageData; + + if(m_pImage==NULL) + { + //m_pImage = new QImage(pImageDataSrc, nWidth, nHeight, fmt); + m_pImage = new QImage(nWidth, nHeight, fmt); + uchar* pDataImage = m_pImage->bits(); + memcpy(pDataImage, pImageDataSrc, nWidth*nHeight*3); + } + else + { + if(nWidth>0 && nHeight>0) + { + if(m_pImage->width()!=nWidth || m_pImage->height()!=nHeight) + { + delete m_pImage; + m_pImage = NULL; + //m_pImage = new QImage(pImageDataSrc, nWidth, nHeight, fmt); + m_pImage = new QImage(nWidth, nHeight, fmt); + } + + if(pImageDataSrc!=NULL) + { + uchar* pDataImage = m_pImage->bits(); + memcpy(pDataImage, pImageDataSrc, nWidth*nHeight*3); + } + else + { + m_pImage->fill(QColor(0, 0, 0)); + } + } + else + { + if(m_pImage!=NULL) + { + m_pImage->fill(QColor(0, 0, 0)); + } + } + + + + + } + //m_pImage = m_pImageSelect->m_pImage; + } + else + { + if(m_pImage!=NULL) + { + m_pImage->fill(QColor(0, 0, 0)); + } + //m_pImage = NULL; + } + + return; +} + +void FormImageSelect::on_pushButton_Select_clicked() +{ + WRITE_FUNCTION_LOG(); + if(m_pImageSelect==NULL) + { + return; + } + if(m_pImageSelect->m_bSelect==true) + { + m_pImageSelect->m_bSelect = false; + } + else if(m_pImageSelect->m_bSelect==false) + { + m_pImageSelect->m_bSelect = true; + } + + DisplayCheck(); +} + +void FormImageSelect::DisplayCheck() +{ + //WRITE_FUNCTION_LOG(); + if(m_pImageSelect==NULL) + { + ui->pushButton_Select->setChecked(false); + return; + } + + ui->pushButton_Select->setChecked(m_pImageSelect->m_bSelect); +} + +void FormImageSelect::mousePressEvent(QMouseEvent *event) +{ + WRITE_FUNCTION_LOG(); + qDebug() << "Pressed"; + + //if(event->buttons()==Qt::RightButton) + { + m_PointClicked = event->pos(); + //grabMouse(); + } +} + +void FormImageSelect::mouseReleaseEvent(QMouseEvent *event) +{ + WRITE_FUNCTION_LOG(); + //if(event->buttons()==Qt::RightButton || event->button()==Qt::RightButton) + if(m_bUseMove==true || m_bUseZoom==true) + { + m_rectDisplay = m_rectDisplayImage; + return; + } + //return; + qDebug() << "Released"; + if(m_pImageSelect==NULL) + { + m_PointCurrent = event->pos(); + update(); + + return; + } + + if(m_pImageSelect->m_bSelect==true) + { + m_pImageSelect->m_bSelect = false; + } + else if(m_pImageSelect->m_bSelect==false) + { + m_pImageSelect->m_bSelect = true; + } + + DisplayCheck(); +} + +void FormImageSelect::mouseMoveEvent(QMouseEvent *event) +{ + //if(event->buttons()==Qt::RightButton) + { + if(m_bUseZoom==true || m_bUseMove==true) + { + m_PointCurrent = event->pos(); + update(); + } + + } +} + +void FormImageSelect::mouseDoubleClickEvent(QMouseEvent *event) +{ + qDebug() << "Double Clicked"; + +} + +bool FormImageSelect::IsSelect() +{ + if(m_pImage==NULL) + { + return false; + } + + return ui->pushButton_Select->isChecked(); +} + +void FormImageSelect::DisplayRotate() +{ + QImage image; + + QPoint center = m_pImage->rect().center(); + QMatrix matrix; + matrix.translate(center.x(), center.y()); + matrix.rotate(90); + + image = m_pImage->transformed(matrix); + + delete m_pImage; + m_pImage = new QImage(image); + + + int nPaddingLeft = 0; + QSize nSize = size(); + if(m_pImage->width() < m_pImage->height()) + { + nPaddingLeft += (nSize.width()-nSize.height())/2; + } + else + { + nPaddingLeft = 0; + } + m_rectDisplay = QRect(nPaddingLeft, 0, nSize.width()-nPaddingLeft*2, nSize.height()); + + update(); +} + +void FormImageSelect::DisplayFlipHorizontal() +{ + QImage image; + image = m_pImage->mirrored(true, false); + + delete m_pImage; + m_pImage = new QImage(image); + + update(); +} + +void FormImageSelect::DisplayFlipVertical() +{ + QImage image; + image = m_pImage->mirrored(false, true); + + delete m_pImage; + m_pImage = new QImage(image); + + update(); +} + + + +void FormImageSelect::Init() +{ + WRITE_FUNCTION_LOG(); + + m_bUseZoom = false; + m_bUseMove = false; + m_PointClicked = QPoint(-1, -1); + + QSize nSize = size(); + m_rectDisplay = QRect(0, 0, nSize.width(), nSize.height()); + m_rectDisplayImage = m_rectDisplay; +} + +void FormImageSelect::EnableZoom(bool bEnable) +{ + + //Init(); + m_bUseZoom = bEnable; + m_bUseMove = false; +} + +bool FormImageSelect::IsEnableZoom() +{ + + return m_bUseZoom; +} + +void FormImageSelect::EnableMove(bool bEnable) +{ + //Init(); + m_bUseMove = bEnable; + m_bUseZoom = false; +} + +bool FormImageSelect::IsEnableMove() +{ + return m_bUseMove; +} + + + diff --git a/formimageselect.h b/formimageselect.h new file mode 100644 index 0000000..84a9925 --- /dev/null +++ b/formimageselect.h @@ -0,0 +1,81 @@ +#ifndef FORMIMAGESELECT_H +#define FORMIMAGESELECT_H + +#include + +#include + +#include "common.h" + +namespace Ui { +class FormImageSelect; +} + + +class FormImageSelect : public QWidget +{ + Q_OBJECT + +public: + explicit FormImageSelect(QWidget *parent = nullptr); + virtual ~FormImageSelect(); + + virtual void paintEvent(QPaintEvent *event); + virtual void resizeEvent(QResizeEvent *event); + + void SetImageSelect(ImageSelect* pImageSelect); + + void UpdateImageSelect(bool bForce=false); + + void SetIndexViewer(int nIndex); + + void DisplayCheck(); + + bool IsSelect(); + + void Init(); + + void DisplayRotate(); + + void DisplayFlipHorizontal(); + void DisplayFlipVertical(); + + void EnableZoom(bool bEnable); + bool IsEnableZoom(); + + void EnableMove(bool bEnable); + bool IsEnableMove(); + + + virtual void mousePressEvent(QMouseEvent *event); + virtual void mouseReleaseEvent(QMouseEvent *event); + virtual void mouseDoubleClickEvent(QMouseEvent *event); + virtual void mouseMoveEvent(QMouseEvent *event); + + +protected: + ImageSelect* m_pImageSelect; + QImage* m_pImage; + int m_nIndexViewer; + + bool m_bUseZoom; + bool m_bUseMove; + QPoint m_PointClicked; + QPoint m_PointCurrent; + + QRect m_rectDisplay; + QRect m_rectDisplayImage; + +public slots: + void ClickSelect(); + +private slots: + + + void on_pushButton_Select_clicked(); + +private: + Ui::FormImageSelect *ui; +}; + +#endif // FORMIMAGESELECT_H diff --git a/formimageselect.ui b/formimageselect.ui new file mode 100644 index 0000000..7cdbe07 --- /dev/null +++ b/formimageselect.ui @@ -0,0 +1,56 @@ + + + FormImageSelect + + + + 0 + 0 + 400 + 300 + + + + Form + + + + + 20 + 20 + 21 + 25 + + + + QPushButton +{ + qproperty-autoDefault: false; + qproperty-flat: true; + border: none; + background: white; + qproperty-checkable: true; + qproperty-checked: false; +} + +QPushButton:!checked +{ + background: white; +} + + +QPushButton:checked +{ + background: white; + border-image: url(://image/select_indicator.png); +} + + + + + + + + + + diff --git a/formitemselection.cpp b/formitemselection.cpp new file mode 100644 index 0000000..267ab46 --- /dev/null +++ b/formitemselection.cpp @@ -0,0 +1,100 @@ +#include "formitemselection.h" +#include "ui_formitemselection.h" + +#include "mainwindow.h" + +#include +#include +#include + +FormItemSelection::FormItemSelection(QWidget *parent) : + QWidget(parent), + ui(new Ui::FormItemSelection) +{ + ui->setupUi(this); + m_pTableHeader = NULL; + + connect(ui->pushButton, SIGNAL(clicked(bool)), this, SLOT(Clicked())); + + int nDisplayType = MainWindow::GetCommonData()->GetDisplayType(); + int nFontSize = 24; + int nCellHeight = 80; + if(nDisplayType==SDISPLAY_1280X1024) + { + ui->label_Info->setStyleSheet("QLabel \n" + "{ \n" + " font-family: 'Roboto';\n" + " font-size: 18px;\n" + " font-weight: normal;\n" + " background: transparent;\n" + " color: #202020;\n" + "}"); + } + else if(nDisplayType==SDISPLAY_1920X1080) + { + ui->label_Info->setStyleSheet("QLabel \n" + "{ \n" + " font-family: 'Roboto';\n" + " font-size: 24px;\n" + " font-weight: normal;\n" + " background: transparent;\n" + " color: #202020;\n" + "}"); + } +} + +FormItemSelection::~FormItemSelection() +{ + delete ui; +} + +void FormItemSelection::resizeEvent(QResizeEvent *event) +{ + QSize nSize = size(); + //ui->verticalLayoutWidget->setGeometry(0, 0, nSize.width(), nSize.height()); + //ui->frame_background->setGeometry(0, 0, nSize.width(), nSize.height()); + + qDebug() << "x: " << nSize.width() << ", y: "<< nSize.height(); +} + + +void FormItemSelection::SetText(QString strText) +{ + ui->label_Info->setText(strText); +} + +void FormItemSelection::SetTableHeader(TableHeader* pTableHeader) +{ + m_pTableHeader = pTableHeader; + ui->label_Info->setText(m_pTableHeader->m_strText); + ui->pushButton->setChecked(pTableHeader->m_bSelect); +} + +void FormItemSelection::mousePressEvent(QMouseEvent *event) +{ + +} + +void FormItemSelection::mouseReleaseEvent(QMouseEvent *event) +{ + Clicked(); +} + +void FormItemSelection::mouseMoveEvent(QMouseEvent *event) +{ + +} + +void FormItemSelection::Clicked() +{ + if(m_pTableHeader->m_bSelect==true) + { + m_pTableHeader->m_bSelect = false; + } + else + { + m_pTableHeader->m_bSelect = true; + } + + ui->pushButton->setChecked(m_pTableHeader->m_bSelect); +} diff --git a/formitemselection.h b/formitemselection.h new file mode 100644 index 0000000..c8c7381 --- /dev/null +++ b/formitemselection.h @@ -0,0 +1,38 @@ +#ifndef FORMITEMSELECTION_H +#define FORMITEMSELECTION_H + +#include +#include "common.h" + +namespace Ui { +class FormItemSelection; +} + +class FormItemSelection : public QWidget +{ + Q_OBJECT + +public: + explicit FormItemSelection(QWidget *parent = nullptr); + ~FormItemSelection(); + + virtual void SetText(QString strText); + virtual void SetTableHeader(TableHeader* pTableHeader); + + virtual void resizeEvent(QResizeEvent *event); + + virtual void mousePressEvent(QMouseEvent *event); + virtual void mouseReleaseEvent(QMouseEvent *event); + virtual void mouseMoveEvent(QMouseEvent *event); + +public slots: + void Clicked(); + +protected: + TableHeader* m_pTableHeader; + +private: + Ui::FormItemSelection *ui; +}; + +#endif // FORMITEMSELECTION_H diff --git a/formitemselection.ui b/formitemselection.ui new file mode 100644 index 0000000..b1fbb99 --- /dev/null +++ b/formitemselection.ui @@ -0,0 +1,241 @@ + + + FormItemSelection + + + + 0 + 0 + 400 + 76 + + + + + 0 + 0 + + + + + 0 + 60 + + + + + 400 + 80 + + + + Form + + + QWidget +{ + background: white; +} + + + + + 0 + 0 + 400 + 76 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 0 + 0 + 402 + 74 + + + + + 0 + + + + + Qt::Vertical + + + QSizePolicy::Expanding + + + + 20 + 10 + + + + + + + + + 0 + 0 + + + + + 400 + 40 + + + + + 400 + 60 + + + + QFrame +{ + background: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 80 + 0 + 351 + 40 + + + + + 0 + 0 + + + + + 200 + 40 + + + + + 400 + 40 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 24px; + font-weight: normal; + background: transparent; + color: #202020; + +} + + + TextLabel + + + + + + 40 + 10 + 20 + 20 + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 20 + + + + QPushButton +{ + qproperty-autoDefault: false; + qproperty-flat: false; + qproperty-checkable: true; + qproperty-checked: false; + background: white; +} + +QPushButton:!checked +{ + background: white; +} + + + + +QPushButton:checked +{ + background: white; + border-image: url(://image/select_indicator.png); +} + + + + + + + false + + + + + + + + Qt::Vertical + + + QSizePolicy::Expanding + + + + 20 + 10 + + + + + + + + + + + diff --git a/formlistwidget.cpp b/formlistwidget.cpp new file mode 100644 index 0000000..2a92ca6 --- /dev/null +++ b/formlistwidget.cpp @@ -0,0 +1,234 @@ +#include "formlistwidget.h" +#include "ui_formlistwidget.h" +#include + +#include "mainwindow.h" + +FormListWidget::FormListWidget(QWidget *parent) : + QWidget(parent), + ui(new Ui::FormListWidget) +{ + ui->setupUi(this); + + m_nCurrentRowIndex = -1; + + m_pListWidget = ui->tableWidget; + m_pHorizontalScrollBarWidget = ui->frame_horizontalScrollBar; + m_pVerticalScrollBarWidget = ui->frame_verticalScrollBar; + m_pHorizontalScrollBar = ui->horizontalScrollBar; + m_pVerticalScrollBar = ui->verticalScrollBar; + + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + connect(this, SIGNAL(ChangeMenu(int)), pMainWindow, SLOT(ChangeMenu(int))); + + + ui->tableWidget->setGeometry(0, 0, 1750, 640-25); + ui->tableWidget->Init(); + ui->tableWidget->SetData(); + + m_pVerticalScrollBar->SetSlideType(SSlideBar::SLIDE_VERTICAL); + m_pVerticalScrollBar->setMinimum(0); + m_pVerticalScrollBar->setMaximum(99); + + m_pHorizontalScrollBar->SetSlideType(SSlideBar::SLIDE_HORIZONTAL); + m_pHorizontalScrollBar->setMinimum(0); + m_pHorizontalScrollBar->setMaximum(599); + + ui->tableWidget->SetSlideBarVertical(m_pVerticalScrollBar, ui->frame_verticalScrollBar); + + ui->tableWidget->SetSlideBarHorizontal(m_pHorizontalScrollBar, ui->frame_horizontalScrollBar); + + + connect(m_pVerticalScrollBar, SIGNAL(valueChanged(int)), ui->tableWidget, SLOT(valueChangedScrollBarVertical(int))); + connect(m_pHorizontalScrollBar, SIGNAL(valueChanged(int)), ui->tableWidget, SLOT(valueChangedScrollBarHorizontal(int))); + + connect(ui->tableWidget, SIGNAL(SetSlideValue(int)), m_pVerticalScrollBar, SLOT(setValue(int))); + + connect(ui->tableWidget->GetHeaderType1(), SIGNAL(Resort(int, int)), ui->tableWidget, SLOT(Resort(int, int))); + + connect(m_pVerticalScrollBar, SIGNAL(actionTriggered(int)), this, SLOT(actionTriggered(int))); + connect(m_pVerticalScrollBar, SIGNAL(SingleDown()), ui->tableWidget, SLOT(SingleDown())); + connect(m_pVerticalScrollBar, SIGNAL(SingleUp()), ui->tableWidget, SLOT(SingleUp())); + + + connect(m_pHorizontalScrollBar, SIGNAL(actionTriggered(int)), this, SLOT(actionTriggered(int))); + + + + //m_pVerticalScrollBar->setGeometry(1750-25, 60, 25, 555); + + + ui->frame_verticalScrollBar->setGeometry(1750-26, 60, 25, 555); + m_pVerticalScrollBar->setGeometry(0, 0, 25, 555); + + ui->frame_horizontalScrollBar->setGeometry(0, 640-26, 1750, 25); + m_pHorizontalScrollBar->setGeometry(0, 0, 1750-1, 25); + + + + + + + Init(); +} + +FormListWidget::~FormListWidget() +{ + ui->tableWidget->Clear(); + //MainWindow* pMainWindow = MainWindow::GetMainWindow(); + //disconnect(this, SIGNAL(ChangeMenu(int)), pMainWindow, SLOT(ChangeMenu(int))); + delete ui; +} + +void FormListWidget::actionTriggered(int action) +{ + +} + + +void FormListWidget::resizeEvent(QResizeEvent *event) +{ + QSize nSize = size(); + + int nDisplayType = MainWindow::GetCommonData()->GetDisplayType(); + + int nFontSize = 24; + if(nDisplayType==SDISPLAY_1280X1024) + { + ui->tableWidget->setGeometry(0, 0, nSize.width(), nSize.height()-20); + + ui->frame_verticalScrollBar->setGeometry(nSize.width()-20, 50, 20, nSize.height()-20-50); + m_pVerticalScrollBar->setGeometry(0, 0, 20, nSize.height()-20-50); + + ui->frame_horizontalScrollBar->setGeometry(0, nSize.height()-20, 1750, 20); + m_pHorizontalScrollBar->setGeometry(0, 0, nSize.width()-1, 20); + + + } + else if(nDisplayType==SDISPLAY_1920X1080) + { + ui->tableWidget->setGeometry(0, 0, nSize.width(), nSize.height()-25); + + ui->frame_verticalScrollBar->setGeometry(nSize.width()-26, 60, 25, nSize.height()-25-60); + m_pVerticalScrollBar->setGeometry(0, 0, 25, nSize.height()-25-60); + + ui->frame_horizontalScrollBar->setGeometry(0, nSize.height()-26, 1750, 25); + m_pHorizontalScrollBar->setGeometry(0, 0, nSize.width()-1, 25); + } + + //m_pListWidget->resize(nSize); + + +} + +void FormListWidget::keyPressEvent(QKeyEvent *event) +{ + +} + +void FormListWidget::keyReleaseEvent(QKeyEvent *event) +{ + +} + +void FormListWidget::wheelEvent(QWheelEvent *event) +{ + +} + +void FormListWidget::on_tableWidget_itemDoubleClicked(QTableWidgetItem *item) +{ + //CellDoubleClicked(item->row(), 0); + //return; + + int nRow = item->row(); + if(m_nCurrentRowIndex!=nRow) + { + CellDoubleClicked(nRow, 0); + m_nCurrentRowIndex = nRow; + } + + /* + m_nCurrentRowIndex = item->row(); + CommonData* pCommonData = MainWindow::GetCommonData(); + pCommonData->SetCurrentHistoryStudy(m_nCurrentRowIndex); + + ExecuteMenu(); + */ + +} + +void FormListWidget::on_tableWidget_itemSelectionChanged() +{ + //m_nCurrentRowIndex = ui->tableWidget->currentRow(); +} + +void FormListWidget::ExecuteMenu() +{ + ChangeMenu(SMENU_CAPTURE); +} + +void FormListWidget::ChangeHeader() +{ + ui->tableWidget->SetResizeEnableHeader(false); + ui->tableWidget->ChangeHeader(); + ui->tableWidget->SetResizeEnableHeader(true); +} + +int FormListWidget::GetCurrentRowIndex() +{ + return m_nCurrentRowIndex; +} + +void FormListWidget::on_tableWidget_cellDoubleClicked(int row, int column) +{ + //if(m_nCurrentRowIndex!=row) + { + CellDoubleClicked(row, column); + m_nCurrentRowIndex = row; + } +} + +void FormListWidget::CellDoubleClicked(int nRow, int nColumn) +{ + if(m_bDoubleClicked==false) + { + + } + m_bDoubleClicked = true; +} + +void FormListWidget::Init() +{ + m_bDoubleClicked = false; + m_nCurrentPos = 0; + m_nCurrentRowIndex = -1; + + m_pHorizontalScrollBarWidget->hide(); +} + +int FormListWidget::GetSelectIndexWorklist(int nRow) +{ + return ui->tableWidget->GetSelectIndexWorklist(nRow); +} + +void FormListWidget::on_tableWidget_cellClicked(int row, int column) +{ + int a=0; +} + +void FormListWidget::on_tableWidget_itemClicked(QTableWidgetItem *item) +{ + int a=0; + + int nRow = item->row(); + if(m_nCurrentRowIndex!=nRow) + { + //CellDoubleClicked(nRow, 0); + m_nCurrentRowIndex = nRow; + } + else + { + CellDoubleClicked(nRow, 0); + } +} diff --git a/formlistwidget.h b/formlistwidget.h new file mode 100644 index 0000000..b794c3e --- /dev/null +++ b/formlistwidget.h @@ -0,0 +1,79 @@ +#ifndef FORMLISTWIDGET_H +#define FORMLISTWIDGET_H + +#include +#include + +#include "common.h" +#include "slistwidget.h" + +namespace Ui { +class FormListWidget; +} + +class FormListWidget : public QWidget +{ + Q_OBJECT + +public: + explicit FormListWidget(QWidget *parent = nullptr); + virtual ~FormListWidget(); + + virtual void resizeEvent(QResizeEvent *event); + + virtual void keyPressEvent(QKeyEvent *event); + virtual void keyReleaseEvent(QKeyEvent *event); + + virtual void wheelEvent(QWheelEvent *event); + + virtual void ExecuteMenu(); + + virtual void ChangeHeader(); + + int GetCurrentRowIndex(); + + virtual void CellDoubleClicked(int nRow, int nColumn); + + virtual void Init(); + + virtual int GetSelectIndexWorklist(int nRow); + + + +protected: + int m_nMaxItemShow; + int m_nCurrentRowIndex; + SListWidget* m_pListWidget; + QFrame* m_pHorizontalScrollBarWidget; + QFrame* m_pVerticalScrollBarWidget; + SSlideBar* m_pVerticalScrollBar; + SSlideBar* m_pHorizontalScrollBar; + bool m_bDoubleClicked; + +public slots: + void actionTriggered(int action); + +private slots: + void on_tableWidget_itemDoubleClicked(QTableWidgetItem *item); + + void on_tableWidget_itemSelectionChanged(); + + + void on_tableWidget_cellDoubleClicked(int row, int column); + + void on_tableWidget_cellClicked(int row, int column); + + void on_tableWidget_itemClicked(QTableWidgetItem *item); + +signals: + void ChangeMenu(int nID); + +private: + Ui::FormListWidget *ui; + + int m_nCurrentPos; + + +}; + +#endif // FORMLISTWIDGET_H diff --git a/formlistwidget.ui b/formlistwidget.ui new file mode 100644 index 0000000..7469c9c --- /dev/null +++ b/formlistwidget.ui @@ -0,0 +1,320 @@ + + + FormListWidget + + + + 0 + 0 + 1253 + 530 + + + + Form + + + + + 20 + 50 + 600 + 400 + + + + QScrollBar +{ + background: none; + border: none; + border-image: url(://image/scrollbar_horizontal_bg.png); +} + +QScrollBar:horizontal { + background: white; + height: 26px; + margin: 0px 26px 0px 26px; +} +QScrollBar::handle:horizontal { + background: none; + margin: 4px; + height: 18px; + min-width: 36px; + max-width: 36px; + width: 36px; + border-image: url(://image/ScrollBar_Horizontal_Icon.png); +} +QScrollBar::add-line:horizontal { + border: none; + background: none; + border-image: url(://image/scrollbar_right.png); + width: 26px; + margin: 0px 0px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal { + border: none; + background: none; + border-image: url(://image/scrollbar_left.png); + width: 26px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar:vertical { + background: white; + width: 26px; + margin: 26px 0px 26px 0px; +} +QScrollBar::handle:vertical { + background: none; + margin: 4px; + width: 18px; + min-height: 36px; + max-height: 36px; + height: 36px; + border-image: url(://image/ScrollBar_Vertical_Icon.png); +} +QScrollBar::add-line:vertical { + border: none; + background: none; + border-image: url(://image/scrollbar_down.png); + height: 26px; + margin: 0px 0px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical { + border: none; + background: none; + border-image: url(://image/scrollbar_up.png); + height: 26px; + subcontrol-position: top; + subcontrol-origin: margin; +} + + + QFrame::StyledPanel + + + QFrame::Plain + + + 1 + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + QAbstractScrollArea::AdjustIgnored + + + QAbstractItemView::MultiSelection + + + QAbstractItemView::SelectRows + + + QAbstractItemView::ScrollPerPixel + + + QAbstractItemView::ScrollPerPixel + + + + + + 430 + 30 + 25 + 331 + + + + QFrame#frame +{ + border: 1px solid black; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 0 + 0 + 25 + 331 + + + + Qt::WheelFocus + + + QScrollBar +{ + background: none; + border: none; + border-image: url(://image/scrollbar_vertical_bg.png); +} + +QScrollBar:vertical { + background: white; + width: 26px; + margin: 26px 0px 26px 0px; +} +QScrollBar::handle:vertical { + background: none; + margin: 4px; + width: 18px; + min-height: 36px; + max-height: 36px; + height: 36px; + border-image: url(://image/ScrollBar_Vertical_Icon.png); +} +QScrollBar::add-line:vertical { + border: none; + background: none; + border-image: url(://image/scrollbar_down.png); + height: 26px; + margin: 0px 0px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical { + border: none; + background: none; + border-image: url(://image/scrollbar_up.png); + height: 26px; + subcontrol-position: top; + subcontrol-origin: margin; +} + + + 99 + + + Qt::Vertical + + + true + + + + + + + 70 + 500 + 911 + 26 + + + + QFrame#frame +{ + border: 1px solid black; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 0 + 0 + 911 + 26 + + + + Qt::WheelFocus + + + QScrollBar +{ + background: none; + border: none; + border-image: url(://image/scrollbar_horizontal_bg.png); +} + +QScrollBar:horizontal { + background: white; + height: 26px; + margin: 0px 26px 0px 26px; +} +QScrollBar::handle:horizontal { + background: none; + margin: 4px; + height: 18px; + min-width: 36px; + max-width: 36px; + width: 36px; + border-image: url(://image/ScrollBar_Horizontal_Icon.png); +} +QScrollBar::add-line:horizontal { + border: none; + background: none; + border-image: url(://image/scrollbar_right.png); + width: 26px; + margin: 0px 0px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal { + border: none; + background: none; + border-image: url(://image/scrollbar_left.png); + width: 26px; + subcontrol-position: left; + subcontrol-origin: margin; +} + + + 1808 + + + Qt::Horizontal + + + true + + + + + + + SSlideBar + QScrollBar +
sslidebar.h
+
+ + SListWidget + QTableWidget +
slistwidget.h
+
+ + SSlideBarHorizontal + QScrollBar +
sslidebarhorizontal.h
+
+
+ + +
diff --git a/formlistwidgethistory.cpp b/formlistwidgethistory.cpp new file mode 100644 index 0000000..602e85d --- /dev/null +++ b/formlistwidgethistory.cpp @@ -0,0 +1,252 @@ +#include "formlistwidgethistory.h" +#include "mainwindow.h" + +#include "mainwindow.h" +#include +#include + +FormListWidgetHistory::FormListWidgetHistory(QWidget *parent) : FormListWidget(parent) +{ + connect(m_pListWidget, SIGNAL(ListSingleDown()), this, SLOT(ListSingleDown())); + connect(m_pListWidget, SIGNAL(ListSingleUp()), this, SLOT(ListSingleUp())); + + m_nMaxItemShow = 10; + + m_pListWidget->SetListType(SWIDGET_HISTORY); +} + +FormListWidgetHistory::~FormListWidgetHistory() +{ + disconnect(m_pListWidget, SIGNAL(ListSingleDown()), this, SLOT(ListSingleDown())); + disconnect(m_pListWidget, SIGNAL(ListSingleUp()), this, SLOT(ListSingleUp())); + + Clear(); +} + +void FormListWidgetHistory::ExecuteMenu() +{ + ChangeMenu(SMENU_VIEWER); +} + +void FormListWidgetHistory::ChangeHeader() +{ + FormListWidget::ChangeHeader(); + + m_pListWidget->SetResizeEnableHeader(false); + m_pListWidget->ChangeHeader(); + m_pListWidget->SetResizeEnableHeader(true); +} + +void FormListWidgetHistory::Clear() +{ + m_pListWidget->Clear(); +} + +void FormListWidgetHistory::UpdateHistoryList() +{ + m_pListWidget->UpdateHistoryList(); + + CommonData* pCommonData = MainWindow::GetCommonData(); + vector* pListHistoryStudy = pCommonData->GetHistorySearchResult(); + + if(pListHistoryStudy->size()>m_nMaxItemShow) + { + m_pVerticalScrollBar->setValue(0); + m_pVerticalScrollBarWidget->show(); + } + else + { + m_pVerticalScrollBarWidget->hide(); + } + + m_pListWidget->CheckHorizontalScroll(); + +} + +void FormListWidgetHistory::CellDoubleClicked(int nRow, int nColumn) +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + vector* pListHistoryStudy = pCommonData->GetHistorySearchResult(); + + if(nRow < pListHistoryStudy->size()) + { + if(m_bExecute==false) + { + vector* pListActivate = pCommonData->GetHistoryTableHeader()->GetListActive(); + vector::iterator it; + int nSelectIndex = -1; + + int nIndex = 0; + QTableWidgetItem * pItem = NULL; + QString strSelectIndex; + + for(it=pListActivate->begin() ; it!=pListActivate->end() ; ++it) + { + TableHeader* pTableHeader = (*it); + int nOriIndex = pTableHeader->m_nIndex; + int nDefaultIndex = pTableHeader->m_nIndexDefault; + if(nDefaultIndex==SDI_INDEX) + { + nIndex = nDefaultIndex; + pItem = m_pListWidget->item(nRow, nOriIndex); + strSelectIndex = pItem->text(); + break; + } + } + + int i=0; + + if(strSelectIndex.size()>0) + { + for(i=0 ; isize() ; i++) + { + HISTORY_STUDY* pHistoryStudy = (*pListHistoryStudy)[i]; + QString strIndex = pHistoryStudy->GetData(nIndex); + if(strSelectIndex==strIndex) + { + nSelectIndex = i; + break; + } + } + } + + if(nSelectIndex<0) + { + nSelectIndex = nRow; + } + + + m_nCurrentRowIndex = nSelectIndex; + CommonData* pCommonData = MainWindow::GetCommonData(); + pCommonData->ClearHistoryImage(); + + pCommonData->SetCurrentHistoryStudy(m_nCurrentRowIndex); + + + + ExecuteMenu(); + m_bExecute = true; + } + + } +} + +void FormListWidgetHistory::ListSingleDown() +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + QScrollBar* pScrollBar = m_pListWidget->verticalScrollBar(); + float fMaxValue = 199.0f; + float fMaxScrollBar = 0.0f; + + vector* pListHistoryStudy = pCommonData->GetHistorySearchResult(); + int nHistoryCount = pListHistoryStudy->size(); + int nRemain = nHistoryCount - m_nMaxItemShow; + + float fRatio = (float)fMaxValue / (float)nRemain + 1.5f; + + int nValue = m_pVerticalScrollBar->value(); + nValue = nValue + fRatio; + if(nValue > fMaxValue) + { + nValue = (int)fMaxValue; + } + + m_pVerticalScrollBar->setValue(nValue); +} + +void FormListWidgetHistory::ListSingleUp() +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + QScrollBar* pScrollBar = m_pListWidget->verticalScrollBar(); + float fMaxValue = 199.0f; + float fMaxScrollBar = 0.0f; + + vector* pListHistoryStudy = pCommonData->GetHistorySearchResult(); + int nHistoryCount = pListHistoryStudy->size(); + int nRemain = nHistoryCount - m_nMaxItemShow; + + float fRatio = (float)fMaxValue / (float)nRemain + 1.5f; + + int nValue = m_pVerticalScrollBar->value(); + nValue = nValue - fRatio; + if(nValue < 0) + { + nValue = 0; + } + + m_pVerticalScrollBar->setValue(nValue); +} + + +void FormListWidgetHistory::Init() +{ + m_bExecute = false; + FormListWidget::Init(); + + m_pListWidget->InitHeader(); + m_pListWidget->setCurrentCell(-1, -1); + m_pListWidget->CheckHorizontalScroll(); + + setFocus(Qt::OtherFocusReason); + m_pListWidget->setFocus(Qt::OtherFocusReason); +} + + +void FormListWidgetHistory::GetExportList() +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + vector* pListHistorySearch = pCommonData->GetHistorySearchResult(); + vector* pListExport = pCommonData->GetExportList(); + + QModelIndexList selection = m_pListWidget->selectionModel()->selectedRows(); + + pListExport->clear(); + + if (selection.isEmpty()) { + return; // 선택된 항목이 없으면 바로 종료 + } + + // 1. 루프 시작 전에 단 하나의 지역 DB 인스턴스를 생성합니다. + SUTIL::SDatabase db(QString("GetExportList_%1").arg(reinterpret_cast(this))); + if (db.OpenDatabase("/home/birdhead/test.db") != 0) { + qWarning() << "DB open failed for GetExportList."; + return; + } + + // 2. 선택된 항목들을 순회합니다. + for (const QModelIndex& index : selection) + { + int nIndex = index.row(); + if (nIndex < pListHistorySearch->size()) + { + HISTORY_STUDY* pHistory = (*pListHistorySearch)[nIndex]; + if (!pHistory || !pHistory->pStrStudyIndex) continue; + + int studyIndex = pHistory->pStrStudyIndex->toInt(); + + // 3. 새로 만든 효율적인 함수를 "한 번만" 호출하여 모든 파일 목록을 가져옵니다. + vector allFiles = db.GetAllFilesForStudyIndex(studyIndex); + + // 4. 조회된 결과를 최종 목록에 추가합니다. + pListExport->insert(pListExport->end(), allFiles.begin(), allFiles.end()); + } + } + // 함수가 끝나면 'db' 객체는 자동으로 소멸되어 모든 자원이 정리됩니다. +} + + +void FormListWidgetHistory::keyReleaseEvent(QKeyEvent *event) +{ + int nKey = event->key(); + + SThreadImageSave* pThread = MainWindow::GetCommonData()->GetThreadCaptureImage(); + + if(nKey==Qt::Key_F10) + { + pThread->MissCapture(); + } + else if(nKey==Qt::Key_F11) + { + pThread->MissCapture(); + } +} diff --git a/formlistwidgethistory.h b/formlistwidgethistory.h new file mode 100644 index 0000000..a094158 --- /dev/null +++ b/formlistwidgethistory.h @@ -0,0 +1,42 @@ +#ifndef FORMLISTWIDGETHISTORY_H +#define FORMLISTWIDGETHISTORY_H + +#include "formlistwidget.h" + +class FormListWidgetHistory : public FormListWidget +{ + Q_OBJECT +public: + explicit FormListWidgetHistory(QWidget *parent = nullptr); + virtual ~FormListWidgetHistory(); + + virtual void keyReleaseEvent(QKeyEvent *event); + + virtual void ExecuteMenu(); + + virtual void ChangeHeader(); + + virtual void Clear(); + + virtual void UpdateHistoryList(); + + virtual void CellDoubleClicked(int nRow, int nColumn); + + virtual void Init(); + + void GetExportList(); + + +protected: + bool m_bExecute; + + +public slots: + void ListSingleDown(); + void ListSingleUp(); + +signals: + +}; + +#endif // FORMLISTWIDGETHISTORY_H diff --git a/formlistwidgetworklist.cpp b/formlistwidgetworklist.cpp new file mode 100644 index 0000000..08317cc --- /dev/null +++ b/formlistwidgetworklist.cpp @@ -0,0 +1,185 @@ +#include "formlistwidgetworklist.h" +#include "mainwindow.h" + +FormListWidgetWorklist::FormListWidgetWorklist(QWidget *parent) : FormListWidget(parent) +{ + connect(m_pListWidget, SIGNAL(ListSingleDown()), this, SLOT(ListSingleDown())); + connect(m_pListWidget, SIGNAL(ListSingleUp()), this, SLOT(ListSingleUp())); + + m_nMaxItemShow = 10; + m_pListWidget->SetListType(SWIDGET_WORKLIST); +} + +FormListWidgetWorklist::~FormListWidgetWorklist() +{ + disconnect(m_pListWidget, SIGNAL(ListSingleDown()), this, SLOT(ListSingleDown())); + disconnect(m_pListWidget, SIGNAL(ListSingleUp()), this, SLOT(ListSingleUp())); + + m_pListWidget->Clear(); +} + +void FormListWidgetWorklist::ExecuteMenu() +{ + ChangeMenu(SMENU_CAPTURE); +} + +void FormListWidgetWorklist::CellDoubleClicked(int nRow, int nColumn) +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + vector* pListWorklist = pCommonData->GetWorklistData(); + + if(m_bExecMenu==false) + { +#ifdef _TEST_CODE + +#else + if(nRowsize()) + { + + + int nSelectRow = GetSelectIndexWorklist(nRow); + + if(nSelectRow<0) + { + nSelectRow = nRow; + } + + WorklistResponseData rd = (*pListWorklist)[nSelectRow]; + + pCommonData->ReleaseWorklistData(); + + ACQUISITION_INFO* pAcquisitionInfo = pCommonData->GetAcquisitionInfo(); + pAcquisitionInfo->SetDataPatient(rd.m_Patient); + pAcquisitionInfo->SetDataStudy(rd.m_Study); + pAcquisitionInfo->SetDataSeries(rd.m_Series); + pAcquisitionInfo->SetDataImage(rd.m_Image); + pAcquisitionInfo->SetDataScheduledData(rd.m_ScheduledData); + pCommonData->ReleaseAcquisitionInfo(); + + m_bExecMenu = true; + ExecuteMenu(); + + return; + } +#endif + } + else + { + pCommonData->ReleaseWorklistData(); + } +} + +void FormListWidgetWorklist::Init() +{ + FormListWidget::Init(); + m_bExecMenu = false; + m_pVerticalScrollBarWidget->hide(); + m_pHorizontalScrollBarWidget->hide(); + + m_pListWidget->InitHeader(); + m_pListWidget->setCurrentCell(-1, -1); + m_pListWidget->CheckHorizontalScroll(); + + setFocus(Qt::OtherFocusReason); + m_pListWidget->setFocus(Qt::OtherFocusReason); +} + +void FormListWidgetWorklist::Clear() +{ + m_pListWidget->Clear(); + + m_pListWidget->update(); +} + +void FormListWidgetWorklist::UpdateList() +{ + m_pListWidget->UpdateWorklist(); + + CommonData* pCommonData = MainWindow::GetCommonData(); + vector* pListWorklist = pCommonData->GetWorklistData(); + + int nSizeWorklist = pListWorklist->size(); + pCommonData->ReleaseWorklistData(); + + if(nSizeWorklist>m_nMaxItemShow) + { + m_pVerticalScrollBar->setValue(0); + m_pVerticalScrollBarWidget->show(); + } + else + { + m_pVerticalScrollBarWidget->hide(); + } + + m_pListWidget->CheckHorizontalScroll(); + +} + +void FormListWidgetWorklist::ListSingleDown() +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + QScrollBar* pScrollBar = m_pListWidget->verticalScrollBar(); + float fMaxValue = 199.0f; + float fMaxScrollBar = 0.0f; + + vector* pListHistoryStudy = pCommonData->GetHistorySearchResult(); + int nHistoryCount = pListHistoryStudy->size(); + int nRemain = nHistoryCount - m_nMaxItemShow; + + float fRatio = (float)fMaxValue / (float)nRemain + 1.5f; + + int nValue = m_pVerticalScrollBar->value(); + nValue = nValue + fRatio; + if(nValue > fMaxValue) + { + nValue = (int)fMaxValue; + } + + m_pVerticalScrollBar->setValue(nValue); +} + +void FormListWidgetWorklist::ListSingleUp() +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + QScrollBar* pScrollBar = m_pListWidget->verticalScrollBar(); + float fMaxValue = 199.0f; + float fMaxScrollBar = 0.0f; + + vector* pListHistoryStudy = pCommonData->GetHistorySearchResult(); + int nHistoryCount = pListHistoryStudy->size(); + int nRemain = nHistoryCount - m_nMaxItemShow; + + float fRatio = (float)fMaxValue / (float)nRemain + 1.5f; + + int nValue = m_pVerticalScrollBar->value(); + nValue = nValue - fRatio; + if(nValue < 0) + { + nValue = 0; + } + + m_pVerticalScrollBar->setValue(nValue); +} + + +void FormListWidgetWorklist::keyReleaseEvent(QKeyEvent *event) +{ + SThreadImageSave* pThread = MainWindow::GetCommonData()->GetThreadCaptureImage(); + + int nKey = event->key(); + + if(nKey==Qt::Key_F10) + { + pThread->MissCapture(); + } + else if(nKey==Qt::Key_F11) + { + pThread->MissCapture(); + } +} + + +void FormListWidgetWorklist::SetExecMenu(bool bExecMenu) +{ + m_bExecMenu = bExecMenu; +} diff --git a/formlistwidgetworklist.h b/formlistwidgetworklist.h new file mode 100644 index 0000000..51a2c71 --- /dev/null +++ b/formlistwidgetworklist.h @@ -0,0 +1,42 @@ +#ifndef FORMLISTWIDGETWORKLIST_H +#define FORMLISTWIDGETWORKLIST_H + +#include "formlistwidget.h" +#include "common.h" + +class FormListWidgetWorklist : public FormListWidget +{ + Q_OBJECT +public: + explicit FormListWidgetWorklist(QWidget *parent = nullptr); + virtual ~FormListWidgetWorklist(); + + virtual void ExecuteMenu(); + + virtual void CellDoubleClicked(int nRow, int nColumn); + + virtual void keyReleaseEvent(QKeyEvent *event); + + + virtual void Init(); + + virtual void UpdateList(); + + virtual void Clear(); + + virtual void SetExecMenu(bool bExecMenu); + +protected: + bool m_bExecMenu; + +public slots: + void ListSingleDown(); + void ListSingleUp(); + + + +signals: + +}; + +#endif // FORMLISTWIDGETWORKLIST_H diff --git a/formmainmenu.cpp b/formmainmenu.cpp new file mode 100644 index 0000000..6918309 --- /dev/null +++ b/formmainmenu.cpp @@ -0,0 +1,170 @@ +#include "formmainmenu.h" +#include "ui_formmainmenu.h" +#include "mainwindow.h" + +FormMainMenu::FormMainMenu(QWidget *parent) : + QWidget(parent), + ui(new Ui::FormMainMenu) +{ + ui->setupUi(this); + + connect(ui->pushButton_Worklist, SIGNAL(released()), this, SLOT(SelectWorklist())); + connect(ui->pushButton_History, SIGNAL(released()), this, SLOT(SelectHistory())); + connect(ui->pushButton_Setting, SIGNAL(released()), this, SLOT(SelectSetting())); + + m_ListButton.push_back(ui->pushButton_Worklist); + m_ListButton.push_back(ui->pushButton_History); + m_ListButton.push_back(ui->pushButton_Setting); + + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + connect(this, SIGNAL(ChangeMenu(int)), pMainWindow, SLOT(ChangeMenu(int))); + + m_nCurrentMenuID = SMENU_WORKLIST; + m_nCurrentWidgetID = SWIDGET_WORKLIST; + + SetEnableDiskUSB(false); +} + +FormMainMenu::~FormMainMenu() +{ + disconnect(ui->pushButton_Worklist, SIGNAL(released()), this, SLOT(SelectWorklist())); + disconnect(ui->pushButton_History, SIGNAL(released()), this, SLOT(SelectHistory())); + disconnect(ui->pushButton_Setting, SIGNAL(released()), this, SLOT(SelectSetting())); + + m_ListButton.clear(); + + delete ui; +} + +void FormMainMenu::SelectWorklist() +{ + if(m_nCurrentMenuID!=SMENU_WORKLIST) + { + int nPrevWidget = GetWidgetID(m_nCurrentMenuID); + m_ListButton[nPrevWidget]->setChecked(false); + m_nCurrentMenuID = SMENU_WORKLIST; + ChangeMenu(m_nCurrentMenuID); + } + + m_nCurrentWidgetID = GetWidgetID(m_nCurrentMenuID); + m_ListButton[m_nCurrentWidgetID]->setChecked(true); +} + +void FormMainMenu::SelectHistory() +{ + if(m_nCurrentMenuID!=SMENU_HISTORY) + { + int nPrevWidget = GetWidgetID(m_nCurrentMenuID); + m_ListButton[nPrevWidget]->setChecked(false); + m_nCurrentMenuID = SMENU_HISTORY; + ChangeMenu(m_nCurrentMenuID); + } + + m_nCurrentWidgetID = GetWidgetID(m_nCurrentMenuID); + m_ListButton[m_nCurrentWidgetID]->setChecked(true); +} + +void FormMainMenu::SelectSetting() +{ + if(m_nCurrentMenuID!=SMENU_SETTING) + { + int nPrevWidget = GetWidgetID(m_nCurrentMenuID); + m_ListButton[nPrevWidget]->setChecked(false); + m_nCurrentMenuID = SMENU_SETTING; + ChangeMenu(m_nCurrentMenuID); + } + + m_nCurrentWidgetID = GetWidgetID(m_nCurrentMenuID); + m_ListButton[m_nCurrentWidgetID]->setChecked(true); +} + + +int FormMainMenu::GetWidgetID(int nID) +{ + switch(nID) + { + case SMENU_WORKLIST: + return SWIDGET_WORKLIST; + break; + case SMENU_HISTORY: + return SWIDGET_HISTORY; + break; + case SMENU_SETTING: + return SWIDGET_SETTING; + break; + } + + return 0; +} + + +void FormMainMenu::resizeEvent(QResizeEvent *event) +{ + int nDisplayType = MainWindow::GetCommonData()->GetDisplayType(); + + int nFontSize = 24; + if(nDisplayType==SDISPLAY_1280X1024) + { + nFontSize = 18; + ui->frame_background->resize(462, 58); + //ui->frame_background->resize(1190, 58); + ui->pushButton_Worklist->setGeometry(0, 0, 154, 58); + ui->pushButton_History->setGeometry(154, 0, 154, 58); + ui->pushButton_Setting->setGeometry(308, 0, 154, 58); + + ui->frame_usb->setGeometry(1104, 0, 58, 58); + ui->check_usb->setGeometry(0, 0, 58, 58); + } + else if(nDisplayType==SDISPLAY_1920X1080) + { + ui->frame_background->resize(573, 70); + ui->pushButton_Worklist->setGeometry(0, 0, 191, 70); + ui->pushButton_History->setGeometry(191, 0, 191, 70); + ui->pushButton_Setting->setGeometry(382, 0, 191, 70); + } + + QString strBackground = QString( + "QFrame#frame_background \ + { \ + background: #153b44;\ + border-radius: 9px; \ + border: none; \ + } \ + \ + QPushButton \ + { \ + background: none; \ + border-radius: 8px; \ + border: none; \ + qproperty-autoDefault: false; \ + qproperty-default: false; \ + qproperty-flat: true; \ + qproperty-checkable: true; \ + qproperty-checked: false; \ + color: white; \ + font-family: 'Roboto'; \ + font-size: %1px; \ + font-weight: bold; \ + } \ + \ + QPushButton:checked \ + { \ + background: #A6B1C2; \ + color: black; \ + }").arg(nFontSize); + + ui->frame_background->setStyleSheet(strBackground); +} + + +void FormMainMenu::SetEnableDiskUSB(bool bEnable) +{ + if(bEnable==true) + { + ui->frame_usb->setVisible(true); + } + else + { + ui->frame_usb->setVisible(false); + } +} diff --git a/formmainmenu.h b/formmainmenu.h new file mode 100644 index 0000000..f2b5f5b --- /dev/null +++ b/formmainmenu.h @@ -0,0 +1,47 @@ +#ifndef FORMMAINMENU_H +#define FORMMAINMENU_H + +#include + +#include "common.h" + +#include + +namespace Ui { +class FormMainMenu; +} + +class FormMainMenu : public QWidget +{ + Q_OBJECT + +public: + explicit FormMainMenu(QWidget *parent = nullptr); + virtual ~FormMainMenu(); + + int GetWidgetID(int nID); + +public: + virtual void resizeEvent(QResizeEvent *event); + + void SetEnableDiskUSB(bool bEnable); + +protected: + int m_nCurrentMenuID; + int m_nCurrentWidgetID; + + vector m_ListButton; + +signals: + void ChangeMenu(int nID); + +public slots: + void SelectWorklist(); + void SelectHistory(); + void SelectSetting(); + +private: + Ui::FormMainMenu *ui; +}; + +#endif // FORMMAINMENU_H diff --git a/formmainmenu.ui b/formmainmenu.ui new file mode 100644 index 0000000..904e38b --- /dev/null +++ b/formmainmenu.ui @@ -0,0 +1,181 @@ + + + FormMainMenu + + + + 0 + 0 + 1190 + 70 + + + + Form + + + + + 0 + 0 + 573 + 70 + + + + QFrame#frame_background +{ + background: #153b44; + border-radius: 9px; + border: none; +} + +QPushButton +{ + background: none; + border-radius: 8px; + border: none; + qproperty-autoDefault: false; + qproperty-default: false; + qproperty-flat: true; + qproperty-checkable: true; + qproperty-checked: false; + color: white; + + font-family: 'Roboto'; + font-size: 24px; + font-weight: bold; +} + +QPushButton:checked +{ + background: #A6B1C2; + color: black; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 0 + 0 + 191 + 70 + + + + QPushButton +{ + qproperty-checked: true; +} + + + WORKLIST + + + + + + 191 + 0 + 191 + 70 + + + + + + + HISTORY + + + + + + 382 + 0 + 191 + 70 + + + + SETTING + + + + + + + 1104 + 0 + 70 + 70 + + + + QFrame#frame_usb +{ + background: #153b44; + border-radius: 29px; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + true + + + + 0 + 0 + 70 + 70 + + + + QPushButton +{ + background: #A6B1C2; + border-radius: 28px; + border: none; + qproperty-autoDefault: false; + qproperty-default: false; + qproperty-flat: true; + qproperty-checkable: false; + qproperty-checked: false; + color: white; + + font-family: 'Roboto'; + font-size: 24px; + font-weight: bold; +} + +QPushButton:checked +{ + background: #FFB1C2; + color: black; +} + + + USB + + + false + + + + + + + diff --git a/formscreensaver.cpp b/formscreensaver.cpp new file mode 100644 index 0000000..4fea874 --- /dev/null +++ b/formscreensaver.cpp @@ -0,0 +1,164 @@ +#include "formscreensaver.h" +#include "ui_formscreensaver.h" + +#include +#include +#include +#include + +#include "mainwindow.h" + +FormScreenSaver::FormScreenSaver(QWidget *parent) : + QWidget(parent), + ui(new Ui::FormScreenSaver) +{ + ui->setupUi(this); + + m_nCount = 0; + + m_nScreenWidth = qApp->desktop()->size().width(); + m_nScreenHeight = qApp->desktop()->size().height(); + + m_Color = new int[25]; + + int i=0; + for(i=0 ; i<25 ; i++) + { + m_Color[i] = 100; + } + + connect(&m_TimerScreenSaver, SIGNAL(timeout()), this, SLOT(ScreenUpdate())); + + setWindowFlags(Qt::Window | Qt::FramelessWindowHint); + setGeometry(0, 0, m_nScreenWidth, m_nScreenHeight); + + showFullScreen(); +} + +FormScreenSaver::~FormScreenSaver() +{ + disconnect(&m_TimerScreenSaver, SIGNAL(timeout()), this, SLOT(ScreenUpdate())); + delete ui; + + SAFE_ARRAY_DELETE(m_Color); +} + +void FormScreenSaver::Init() +{ + m_nCount = 0; + raise(); + show(); + //grabMouse(); + m_TimerScreenSaver.setInterval(100); + m_TimerScreenSaver.start(); +} + +void FormScreenSaver::Exit() +{ + if(isVisible()==false) + { + return; + } + if(m_TimerScreenSaver.isActive()==true) + { + m_TimerScreenSaver.stop(); + } + hide(); + + m_nCount = 0; + + + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + pMainWindow->ResetScreenSaverTimer(); + pMainWindow->StartScreenSaverTimer(); +} + +void FormScreenSaver::ScreenUpdate() +{ + m_nCount++; + update(); +} + +void FormScreenSaver::paintEvent(QPaintEvent *event) +{ + QPainter painter(this); + QSize nSize = size(); + int nPaddingLeft = 0; + + //QRect rectDisplay = QRect(nPaddingLeft, 0, nSize.width()-nPaddingLeft, nSize.height()); + + //QColor colorBackground; + + painter.setRenderHint(QPainter::SmoothPixmapTransform); + + int nColor = QRandomGenerator::global()->bounded(0, 127) + 128; + int nIndex = QRandomGenerator::global()->bounded(0, 24); + + + float fGabWidth = (float)m_nScreenWidth/5.0f; + float fGabHeight = (float)m_nScreenHeight/5.0f; + + if(nIndex<0) + { + nIndex = 0; + } + if(nIndex>24) + { + nIndex = 24; + } + + m_Color[nIndex] = nColor; + + int i=0; + for(i=0 ; i<25 ; i++) + { + int nX = i%5; + int nY = i/5; + + nColor = m_Color[i]; + if(nColor<0) + { + nColor = 0; + } + if(nColor>255) + { + nColor = 25;; + } + painter.fillRect(QRect(nX*fGabWidth, nY*fGabHeight, (fGabWidth+0.5), (fGabHeight+0.5f)), QColor(0, 0, nColor)); + } + + + //painter.fillRect(QRect(0, 0, nSize.width(), nSize.height()), QColor(0, 0, nColor)); + + +} + +void FormScreenSaver::mousePressEvent(QMouseEvent *event) +{ + Exit(); +} + +void FormScreenSaver::mouseReleaseEvent(QMouseEvent *event) +{ + Exit(); +} + +void FormScreenSaver::mouseDoubleClickEvent(QMouseEvent *event) +{ + Exit(); +} + +void FormScreenSaver::mouseMoveEvent(QMouseEvent *event) +{ + Exit(); +} + +void FormScreenSaver::keyPressEvent(QKeyEvent *event) +{ + Exit(); +} + +void FormScreenSaver::keyReleaseEvent(QKeyEvent *event) +{ + Exit(); +} diff --git a/formscreensaver.h b/formscreensaver.h new file mode 100644 index 0000000..f008acb --- /dev/null +++ b/formscreensaver.h @@ -0,0 +1,49 @@ +#ifndef FORMSCREENSAVER_H +#define FORMSCREENSAVER_H + +#include +#include +#include + +namespace Ui { +class FormScreenSaver; +} + +class FormScreenSaver : public QWidget +{ + Q_OBJECT + +public: + explicit FormScreenSaver(QWidget *parent = 0); + ~FormScreenSaver(); + + void Init(); + void Exit(); + +protected: + virtual void paintEvent(QPaintEvent *event); + + virtual void mousePressEvent(QMouseEvent *event); + virtual void mouseReleaseEvent(QMouseEvent *event); + virtual void mouseDoubleClickEvent(QMouseEvent *event); + virtual void mouseMoveEvent(QMouseEvent *event); + virtual void keyPressEvent(QKeyEvent *event); + virtual void keyReleaseEvent(QKeyEvent *event); + +public slots: + void ScreenUpdate(); + +protected: + int m_nScreenWidth; + int m_nScreenHeight; + int m_nCount; + + int* m_Color; + + QTimer m_TimerScreenSaver; + +private: + Ui::FormScreenSaver *ui; +}; + +#endif // FORMSCREENSAVER_H diff --git a/formscreensaver.ui b/formscreensaver.ui new file mode 100644 index 0000000..713d639 --- /dev/null +++ b/formscreensaver.ui @@ -0,0 +1,28 @@ + + + FormScreenSaver + + + + 0 + 0 + 400 + 300 + + + + true + + + true + + + Qt::WheelFocus + + + Form + + + + + diff --git a/formsetting.cpp b/formsetting.cpp new file mode 100644 index 0000000..c6dc198 --- /dev/null +++ b/formsetting.cpp @@ -0,0 +1,320 @@ +#include "formsetting.h" +#include "ui_formsetting.h" + +#include "dialogsettingtable.h" +#include "mainwindow.h" + +#include "dialogsettingnetworkshare.h" + +#include "dialogloginuseradd.h" + +#include "dialogadvancedsetting.h" + +FormSetting::FormSetting(QWidget *parent) : + QWidget(parent), + ui(new Ui::FormSetting) +{ + ui->setupUi(this); + + ui->comboBox_Modality->addItem("ES"); + ui->comboBox_Modality->addItem("SC"); + ui->comboBox_Modality->addItem("CR"); + ui->comboBox_Modality->addItem("DR"); + + ui->comboBox_TransferSyntax->addItem("RAW"); + ui->comboBox_TransferSyntax->addItem("Lossless JPEG"); + + ui->comboBox_Video->addItem("1080P"); + ui->comboBox_Video->addItem("720P"); + + ui->comboBox_Modality->setEnabled(true); + ui->comboBox_TransferSyntax->setEnabled(true); +} + +FormSetting::~FormSetting() +{ + delete ui; +} + +void FormSetting::on_pushButton_Worklist_Setting_clicked() +{ + DialogSettingTable dlg(this); + dlg.SetListType(SWIDGET_WORKLIST); + + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + pMainWindow->StopScreenSaverTimer(); + dlg.exec(); + pMainWindow->ResetScreenSaverTimer(); + pMainWindow->StartScreenSaverTimer(); +} + +void FormSetting::on_pushButton_History_Setting_clicked() +{ + DialogSettingTable dlg(this); + dlg.SetListType(SWIDGET_HISTORY); + + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + pMainWindow->StopScreenSaverTimer(); + + dlg.exec(); + + pMainWindow->ResetScreenSaverTimer(); + pMainWindow->StartScreenSaverTimer(); +} + +void FormSetting::on_pushButton_Setting_Complete_clicked() +{ + QString strWorklistIP = ui->plainTextEdit_Worklist_IP->toPlainText(); + QString strWorklistPort = ui->plainTextEdit_Worklist_Port->toPlainText(); + QString strWorklistServerAETitle = ui->plainTextEdit_Worklist_ServerAETitle->toPlainText(); + QString strWorklistClientAETitle = ui->plainTextEdit_Worklist_ClientAETitle->toPlainText(); + + QString strStorageIP = ui->plainTextEdit_Storage_IP->toPlainText(); + QString strStoragePort = ui->plainTextEdit_Storage_Port->toPlainText(); + QString strStorageServerAETitle = ui->plainTextEdit_Storage_ServerAETitle->toPlainText(); + QString strStorageClientAETitle = ui->plainTextEdit_Storage_ClientAETitle->toPlainText(); + + QString strInstitutionName = ui->plainTextEdit_Hospital_Institution->toPlainText(); + QString strStationName = ui->plainTextEdit_Hospital_Station->toPlainText(); + + int nTransferSyntax = ui->comboBox_TransferSyntax->currentIndex(); + int nModality = ui->comboBox_Modality->currentIndex(); + int nVideo = ui->comboBox_Video->currentIndex(); + nVideo = 0; + + + + int nWorklistPort = strWorklistPort.toInt(); + int nStoragePort = strStoragePort.toInt(); + + CommonData* pCommon = MainWindow::GetCommonData(); + SDCMWorklist* pDCMWorklist = pCommon->GetWorklistClass(); + pDCMWorklist->SetWorklistInfo(strWorklistIP, strWorklistPort, strWorklistServerAETitle, strWorklistClientAETitle); + + + + + + { + SDCM_SERVER_INFO* pInfoWorklist = pCommon->GetServerWorklistInfo(); + pInfoWorklist->m_nServer_Port = nWorklistPort; + pInfoWorklist->m_strServer_IP = strWorklistIP; + pInfoWorklist->m_strServer_AETitle = strWorklistServerAETitle; + pInfoWorklist->m_strClient_AETitle = strWorklistClientAETitle; + pCommon->ReleaseServerWorklistInfo(); + + SDCM_SERVER_INFO* pInfoStorage = pCommon->GetServerStorageInfo(); + pInfoStorage->m_nServer_Port = nStoragePort; + pInfoStorage->m_strServer_IP = strStorageIP; + pInfoStorage->m_strServer_AETitle = strStorageServerAETitle; + pInfoStorage->m_strClient_AETitle = strStorageClientAETitle; + pCommon->ReleaseServerStorageInfo(); + } + + QString strModality; + if(nModality == 0) + { + strModality="ES"; + } + else if(nModality == 1) + { + strModality="SC"; + } + else if(nModality == 2) + { + strModality="CR"; + } + else if(nModality == 3) + { + strModality="DR"; + } + + pCommon->SetVideoMode(nVideo); + + pCommon->SetModality(strModality); + pCommon->SetTransferSyntax(nTransferSyntax); + + pCommon->SetStationName(strStationName); + pCommon->SetInstitutionName(strInstitutionName); + + + pCommon->UpdateSetting(); + pCommon->UpdateAdvancedSetting(); + +} + + +void FormSetting::Init() +{ + CommonData* pCommon = MainWindow::GetCommonData(); + + SDCM_SERVER_INFO* pInfoWorklist = pCommon->GetServerWorklistInfo(); + ui->plainTextEdit_Worklist_IP->setPlainText(pInfoWorklist->m_strServer_IP); + if(pInfoWorklist->m_nServer_Port>0) + { + ui->plainTextEdit_Worklist_Port->setPlainText(QString::number(pInfoWorklist->m_nServer_Port)); + } + + ui->plainTextEdit_Worklist_ServerAETitle->setPlainText(pInfoWorklist->m_strServer_AETitle); + ui->plainTextEdit_Worklist_ClientAETitle->setPlainText(pInfoWorklist->m_strClient_AETitle); + pCommon->ReleaseServerWorklistInfo(); + + SDCM_SERVER_INFO* pInfoStorage = pCommon->GetServerStorageInfo(); + ui->plainTextEdit_Storage_IP->setPlainText(pInfoStorage->m_strServer_IP); + + if(pInfoStorage->m_nServer_Port>0) + { + ui->plainTextEdit_Storage_Port->setPlainText(QString::number(pInfoStorage->m_nServer_Port)); + } + + ui->plainTextEdit_Storage_ServerAETitle->setPlainText(pInfoStorage->m_strServer_AETitle); + ui->plainTextEdit_Storage_ClientAETitle->setPlainText(pInfoStorage->m_strClient_AETitle); + pCommon->ReleaseServerStorageInfo(); + + ui->plainTextEdit_Hospital_Institution->setPlainText(pCommon->GetInstitutionName()); + ui->plainTextEdit_Hospital_Station->setPlainText(pCommon->GetStationName()); + + int nTransferSyntax = pCommon->GetTransferSyntax(); + QString strModality = pCommon->GetModality(); + int nVideoMode = pCommon->GetVideoMode(); + int nModality = 0; + + if(strModality=="ES") + { + nModality = 0; + } + else if(strModality=="SC") + { + nModality = 1; + } + else if(strModality=="CR") + { + nModality = 2; + } + else if(strModality=="DR") + { + nModality = 3; + } + + nVideoMode = 0; + + ui->comboBox_TransferSyntax->setCurrentIndex(nTransferSyntax); + ui->comboBox_Modality->setCurrentIndex(nModality); + ui->comboBox_Video->setCurrentIndex(nVideoMode); + + { + pCommon->ComputeStorageSize(); + int nStorageSize = pCommon->GetStorageSize(); + int nStorageFreeSize = pCommon->GetStorageFreeSize(); + + double fStorageSize = (double)nStorageSize / 1000.0; + double fStorageFreeSize = (double)nStorageFreeSize / 1000.0; + + + QString strStorageSize = QString("Total: %1 GB").arg(fStorageSize, 3, 'f', 1); + QString strStorageFreeSize = QString("Free: %1 GB").arg(fStorageFreeSize, 3, 'f', 1); + QString strStorageUsedSize = QString("Used: %1 GB").arg(fStorageSize - fStorageFreeSize, 3, 'f', 1); + + ui->label_LocalStorage_Free->setText(strStorageFreeSize); + ui->label_LocalStorage_Total->setText(strStorageSize); + ui->label_LocalStorage_Used->setText(strStorageUsedSize); + } +} + +void FormSetting::on_pushButton_NetworkShareInfo_clicked() +{ + DialogSettingNetworkShare dlg(this); + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + pMainWindow->StopScreenSaverTimer(); + + int nRet = dlg.exec(); + if(nRet==QDialog::Accepted) + { + QString strIP = dlg.GetIP(); + QString strID = dlg.GetID(); + QString strPassword = dlg.GetPassword(); + QString strShareFolder = dlg.GetShareFolder(); + QString strVersion = dlg.GetSMBVersion(); + + + bool bEnable = dlg.IsEnabledNetworkShare(); + bool bAutoSend = dlg.IsNetworkAutoSend(); + + CommonData* pCommonData = MainWindow::GetCommonData(); + NetworkShareInfo* pNetworkShareInfo = pCommonData->GetNetworkShareInfo(); + + pNetworkShareInfo->m_strIP = strIP; + pNetworkShareInfo->m_strID = strID; + pNetworkShareInfo->m_strPassword = strPassword; + pNetworkShareInfo->m_strShareFolder = strShareFolder; + pNetworkShareInfo->m_strVersion = strVersion; + pNetworkShareInfo->m_bEnable = bEnable; + pNetworkShareInfo->m_bAutoSend = bAutoSend; + + pCommonData->UpdateAdvancedSetting(); + } + + pMainWindow->ResetScreenSaverTimer(); + pMainWindow->StartScreenSaverTimer(); + +} + +void FormSetting::on_pushButton_AddLoginUser_clicked() +{ + DialogLoginUserAdd dlg(this); + + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + pMainWindow->StopScreenSaverTimer(); + + dlg.exec(); + + pMainWindow->ResetScreenSaverTimer(); + pMainWindow->StartScreenSaverTimer(); +} + +void FormSetting::on_pushButton_Advanced_clicked() +{ + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + pMainWindow->StopScreenSaverTimer(); + + DialogAdvancedSetting dlg(this); + int nRet = dlg.exec(); + + if(nRet==QDialog::Accepted) + { + bool bIsAutoVideoCapture = dlg.IsAutoVideoCapture(); + bool bIsAutoCaptureSendDICOM = dlg.IsAutoCaptureSendDICOM(); + bool bIsAutoExitCaptureSendDICOM = dlg.IsAutoExitCaptureSendDICOM(); + bool bIsAutoCloseSendFinish = dlg.IsAutoCloseSendFinish(); + bool bIsAutoLogin = dlg.IsAutoLogin(); + bool bIsCropMode = dlg.IsCropMode(); + bool bIsUseFixWidthLevel = dlg.IsUseFixWidthLevel(); + bool bIsUseLogLevel = dlg.IsUseLogLevel(); + int nScreenSaverTime = dlg.GetScreenSaverTime(); + bool bIsUseUSBBackup = dlg.IsUseUSBBackup(); + + QString strDICOMCharacterSet = dlg.GetDICOM_CharacterSet(); + + CommonData* pCommonData = MainWindow::GetCommonData(); + pCommonData->SetAutoVideoCapture(bIsAutoVideoCapture); + pCommonData->SetAutoCaptureSendDICOM(bIsAutoCaptureSendDICOM); + pCommonData->SetAutoExitCaptureSendDICOM(bIsAutoExitCaptureSendDICOM); + pCommonData->SetAutoCloseSendComplete(bIsAutoCloseSendFinish); + pCommonData->SetDICOMCharacterSet(strDICOMCharacterSet); + pCommonData->SetAutoLogin(bIsAutoLogin); + pCommonData->SetCropMode((int)bIsCropMode); + pCommonData->SetUseFixWidthLevel((int)bIsUseFixWidthLevel); + pCommonData->SetLogLevel((int)bIsUseLogLevel); + pCommonData->SetScreenSaverTime(nScreenSaverTime); + pCommonData->SetUseUSBBackup((int)bIsUseUSBBackup); + + + + pCommonData->UpdateAdvancedSetting(); + + } + + pMainWindow->ResetScreenSaverTimer(); + pMainWindow->StartScreenSaverTimer(); +} + diff --git a/formsetting.h b/formsetting.h new file mode 100644 index 0000000..89b1e7c --- /dev/null +++ b/formsetting.h @@ -0,0 +1,37 @@ +#ifndef FORMSETTING_H +#define FORMSETTING_H + +#include + +namespace Ui { +class FormSetting; +} + +class FormSetting : public QWidget +{ + Q_OBJECT + +public: + explicit FormSetting(QWidget *parent = nullptr); + ~FormSetting(); + + void Init(); + +private slots: + void on_pushButton_Worklist_Setting_clicked(); + + void on_pushButton_History_Setting_clicked(); + + void on_pushButton_Setting_Complete_clicked(); + + void on_pushButton_NetworkShareInfo_clicked(); + + void on_pushButton_AddLoginUser_clicked(); + + void on_pushButton_Advanced_clicked(); + +private: + Ui::FormSetting *ui; +}; + +#endif // FORMSETTING_H diff --git a/formsetting.ui b/formsetting.ui new file mode 100644 index 0000000..480a2c2 --- /dev/null +++ b/formsetting.ui @@ -0,0 +1,2328 @@ + + + FormSetting + + + + 0 + 0 + 1804 + 835 + + + + Form + + + + + 0 + 0 + 1804 + 835 + + + + QFrame#frame_background +{ + background: #A6B1C2; +} + +QWidget +{ + background: none; + border: none; +} + + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 0 + 0 + 592 + 320 + + + + QPlainTextEdit +{ + qproperty-lineWrapMode: 'NoWrap'; + font-family: 'Roboto'; + font-size: 20px; + font-weight: light; + padding-left: 0px; + padding-top: 0px; + qproperty-backgroundVisible: false; + border: none; + qproperty-verticalScrollBarPolicy: 'ScrollBarAlwaysOff'; + background: transparent; + qproperty-tabChangesFocus: true; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 30 + 33 + 526 + 269 + + + + QFrame +{ + border: 1px solid #000000; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + 64 + 10 + 186 + 48 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 24px; + font-weight: bold; + qproperty-alignment: 'AlignHCenter | AlignVCenter'; + background: #A6B1C2; +} + + + Worklist Info. + + + + + + 57 + 71 + 154 + 32 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: #A6B1C2; +} + + + IP + + + + + + 57 + 126 + 154 + 32 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: #A6B1C2; +} + + + Port + + + + + + 40 + 181 + 171 + 32 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: #A6B1C2; +} + + + Server AE Title + + + + + + 57 + 238 + 154 + 32 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: #A6B1C2; +} + + + Client AE Title + + + + + + 234 + 71 + 230 + 32 + + + + QFrame +{ + background: white; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 5 + 0 + 220 + 32 + + + + + 0 + 0 + + + + + 220 + 32 + + + + + 420 + 32 + + + + + 220 + 32 + + + + + 220 + 32 + + + + + + + QAbstractScrollArea::AdjustToContentsOnFirstShow + + + true + + + Qt::LinksAccessibleByKeyboard|Qt::TextEditable|Qt::TextSelectableByKeyboard + + + Worklist Server IP + + + + + + + 234 + 126 + 230 + 32 + + + + QFrame +{ + background: white; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 5 + 0 + 220 + 32 + + + + true + + + Port + + + + + + + 234 + 181 + 230 + 32 + + + + QFrame +{ + background: white; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 5 + 0 + 220 + 32 + + + + true + + + AE_TITLE + + + + + + + 234 + 238 + 230 + 32 + + + + QFrame +{ + background: white; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 5 + 0 + 220 + 32 + + + + true + + + Qt::TextEditorInteraction + + + AE_TITLE + + + + + + + + 0 + 649 + 592 + 186 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 37 + 7 + 171 + 32 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: normal; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: #A6B1C2; +} + + + Transfer Syntax + + + + + + 230 + 0 + 333 + 45 + + + + QComboBox { + border: 1px solid gray; + border-radius: 3px; + padding: 1px 18px 1px 3px; + min-width: 6em; +} + +QComboBox:editable { + background: white; +} + +QComboBox:!editable, QComboBox::drop-down:editable { + background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, + stop: 0 #E1E1E1, stop: 0.4 #DDDDDD, + stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3); +} + +/* QComboBox gets the "on" state when the popup is open */ +QComboBox:!editable:on, QComboBox::drop-down:editable:on { + background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, + stop: 0 #D3D3D3, stop: 0.4 #D8D8D8, + stop: 0.5 #DDDDDD, stop: 1.0 #E1E1E1); +} + +QComboBox:on { /* shift the text when the popup opens */ + padding-top: 3px; + padding-left: 4px; +} + +QComboBox::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 30px; + + border-left-width: 1px; + border-left-color: darkgray; + border-left-style: solid; /* just a single line */ + border-top-right-radius: 3px; /* same radius as the QComboBox */ + border-bottom-right-radius: 3px; +} + +QComboBox::down-arrow { + border-image: url(://image/Arrow_under_3.png); +} + +QComboBox::down-arrow:on { /* shift the arrow when popup is open */ + top: 1px; + left: 1px; +} + + + +QComboBox QAbstractItemView { + border: 2px solid darkgray; + selection-background-color: red; +} + +QComboBox QListView::item +{ + border: 2px solid darkgray; +} + +QComboBox::item +{ + border: 2px solid darkgray; + height: 40px; + selection-background-color: red; +} + +QComboBox::item:selected +{ + background: red; +} + + + + + + 37 + 67 + 171 + 32 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: #A6B1C2; +} + + + Modality + + + + + + 230 + 60 + 333 + 45 + + + + QComboBox { + border: 1px solid gray; + border-radius: 3px; + padding: 1px 18px 1px 3px; + min-width: 6em; +} + +QComboBox:editable { + background: white; +} + +QComboBox:!editable, QComboBox::drop-down:editable { + background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, + stop: 0 #E1E1E1, stop: 0.4 #DDDDDD, + stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3); +} + +/* QComboBox gets the "on" state when the popup is open */ +QComboBox:!editable:on, QComboBox::drop-down:editable:on { + background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, + stop: 0 #D3D3D3, stop: 0.4 #D8D8D8, + stop: 0.5 #DDDDDD, stop: 1.0 #E1E1E1); +} + +QComboBox:on { /* shift the text when the popup opens */ + padding-top: 3px; + padding-left: 4px; +} + +QComboBox::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 30px; + + border-left-width: 1px; + border-left-color: darkgray; + border-left-style: solid; /* just a single line */ + border-top-right-radius: 3px; /* same radius as the QComboBox */ + border-bottom-right-radius: 3px; +} + +QComboBox::down-arrow { + border-image: url(://image/Arrow_under_3.png); +} + +QComboBox::down-arrow:on { /* shift the arrow when popup is open */ + top: 1px; + left: 1px; +} + + + +QComboBox QAbstractItemView { + border: 2px solid darkgray; + selection-background-color: red; +} + +QComboBox QListView::item +{ + border: 2px solid darkgray; +} + +QComboBox::item +{ + border: 2px solid darkgray; + height: 40px; + selection-background-color: red; +} + +QComboBox::item:selected +{ + background: red; +} + + + + + + 230 + 120 + 333 + 45 + + + + QComboBox { + border: 1px solid gray; + border-radius: 3px; + padding: 1px 18px 1px 3px; + min-width: 6em; +} + +QComboBox:editable { + background: white; +} + +QComboBox:!editable, QComboBox::drop-down:editable { + background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, + stop: 0 #E1E1E1, stop: 0.4 #DDDDDD, + stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3); +} + +/* QComboBox gets the "on" state when the popup is open */ +QComboBox:!editable:on, QComboBox::drop-down:editable:on { + background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, + stop: 0 #D3D3D3, stop: 0.4 #D8D8D8, + stop: 0.5 #DDDDDD, stop: 1.0 #E1E1E1); +} + +QComboBox:on { /* shift the text when the popup opens */ + padding-top: 3px; + padding-left: 4px; +} + +QComboBox::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 30px; + + border-left-width: 1px; + border-left-color: darkgray; + border-left-style: solid; /* just a single line */ + border-top-right-radius: 3px; /* same radius as the QComboBox */ + border-bottom-right-radius: 3px; +} + +QComboBox::down-arrow { + border-image: url(://image/Arrow_under_3.png); +} + +QComboBox::down-arrow:on { /* shift the arrow when popup is open */ + top: 1px; + left: 1px; +} + + + +QComboBox QAbstractItemView { + border: 2px solid darkgray; + selection-background-color: red; +} + +QComboBox QListView::item +{ + border: 2px solid darkgray; +} + +QComboBox::item +{ + border: 2px solid darkgray; + height: 40px; + selection-background-color: red; +} + +QComboBox::item:selected +{ + background: red; +} + + + + + + 37 + 127 + 171 + 32 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: #A6B1C2; +} + + + Video + + + + + + + 592 + 0 + 596 + 181 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 30 + 33 + 537 + 131 + + + + QFrame +{ + border: 1px solid #000000; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 30 + 50 + 195 + 50 + + + + QPushButton +{ + background: #153B44; + font-family: 'Roboto'; + font-size: 20px; + font-weight: bold; + border-radius: 8px; + color: white; +} + +QPushButton:pressed +{ + background: #1B4C54; +} + + + Worklist Setting + + + + + + 280 + 50 + 195 + 50 + + + + QPushButton +{ + background: #153B44; + font-family: 'Roboto'; + font-size: 20px; + font-weight: bold; + border-radius: 8px; + color: white; +} + +QPushButton:pressed +{ + background: #1B4C54; +} + + + History Setting + + + + + + + 60 + 10 + 271 + 48 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 24px; + font-weight: bold; + qproperty-alignment: 'AlignHCenter | AlignVCenter'; + background: #A6B1C2; +} + + + Viewer Setting + + + + + + + 590 + 160 + 596 + 201 + + + + QPlainTextEdit +{ + qproperty-lineWrapMode: 'NoWrap'; + font-family: 'Roboto'; + font-size: 20px; + font-weight: light; + padding-left: 0px; + padding-top: 0px; + qproperty-backgroundVisible: false; + border: none; + qproperty-verticalScrollBarPolicy: 'ScrollBarAlwaysOff'; + background: transparent; + qproperty-tabChangesFocus: true; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 51 + 20 + 261 + 28 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 24px; + font-weight: bold; + qproperty-alignment: 'AlignHCenter | AlignVCenter'; + background: #A6B1C2; +} + + + Hospital Info. + + + + + + 30 + 36 + 537 + 141 + + + + QFrame +{ + border: 1px solid #000000; +} + +QLabel +{ + border: none; +} + +STextEdit +{ + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 160 + 90 + 350 + 32 + + + + QFrame +{ + background: white; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 5 + 0 + 344 + 32 + + + + true + + + Device Name + + + + + + + 11 + 90 + 131 + 32 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: none; +} + + + Station + + + + + + 11 + 32 + 131 + 32 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: none; +} + + + Institution + + + + + + 160 + 32 + 350 + 32 + + + + QFrame +{ + background: white; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 5 + 0 + 344 + 32 + + + + STextEdit +{ + border: none; +} + + + true + + + Hospital Name + + + + + frame_Hospital_Info_Image + label_Hospital_Info + + + + + 1200 + 540 + 596 + 181 + + + + QPlainTextEdit +{ + qproperty-lineWrapMode: 'NoWrap'; + font-family: 'Roboto'; + font-size: 20px; + font-weight: light; + padding-left: 0px; + padding-top: 0px; + qproperty-backgroundVisible: false; + border: none; + qproperty-verticalScrollBarPolicy: 'ScrollBarAlwaysOff'; + background: transparent; + qproperty-tabChangesFocus: true; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 30 + 123 + 183 + 32 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: none; +} + + + Pixel Spacing_Y + + + + + + 237 + 65 + 230 + 32 + + + + QFrame +{ + background: white; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 5 + 0 + 220 + 32 + + + + Pixel Spacing X + + + + + + + 30 + 65 + 183 + 32 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: none; +} + + + Pixel Spacing_X + + + + + + 30 + 28 + 537 + 151 + + + + QFrame +{ + border: 1px solid #000000; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + 237 + 123 + 230 + 32 + + + + QFrame +{ + background: white; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 5 + 0 + 220 + 32 + + + + Pixel Spacing Y + + + + + + + 51 + 15 + 251 + 28 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 24px; + font-weight: bold; + qproperty-alignment: 'AlignHCenter | AlignVCenter'; + background: #A6B1C2; +} + + + Phyical Pixel Spacing + + + background_PixelSpacing_X + frame_PhysicalPixelSpacing_Image + background_PixelSpacing_Y + label_PhysicalPixelSpacing + label_PixelSpacing_X + label_PixelSpacing_Y + + + + + 1188 + 0 + 616 + 362 + + + + QPlainTextEdit +{ + qproperty-lineWrapMode: 'NoWrap'; + font-family: 'Roboto'; + font-size: 20px; + font-weight: light; + padding-left: 0px; + padding-top: 0px; + qproperty-backgroundVisible: false; + border: none; + qproperty-verticalScrollBarPolicy: 'ScrollBarAlwaysOff'; + background: transparent; + qproperty-tabChangesFocus: true; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 30 + 229 + 237 + 32 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: none; +} + + + Software Version + + + + + + 285 + 120 + 230 + 32 + + + + QFrame +{ + background: white; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 5 + 0 + 220 + 32 + + + + Model name + + + + + + + 59 + 15 + 156 + 35 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 24px; + font-weight: bold; + qproperty-alignment: 'AlignHCenter | AlignVCenter'; + background: #A6B1C2; +} + + + Device Info. + + + + + + 30 + 33 + 544 + 311 + + + + QFrame +{ + border: 1px solid #000000; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + 285 + 230 + 230 + 32 + + + + QFrame +{ + background: white; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 5 + 0 + 220 + 32 + + + + S/W Version + + + + + + + 285 + 290 + 230 + 32 + + + + QFrame +{ + background: white; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 5 + 0 + 220 + 32 + + + + Manufacturer UID + + + + + + + 30 + 120 + 237 + 32 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: none; +} + + + ModelName + + + + + + 285 + 176 + 230 + 32 + + + + QFrame +{ + background: white; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 5 + 0 + 220 + 32 + + + + Serial Number + + + + + + + 30 + 287 + 237 + 32 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: none; +} + + + Manufacturer UID + + + + + + 30 + 175 + 237 + 32 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: none; +} + + + Device Serial Number + + + + + + 30 + 70 + 237 + 32 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: none; +} + + + Manufacturer + + + + + + 285 + 70 + 237 + 32 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignLeft | AlignVCenter'; + background: none; +} + + + SSD + + + background_DeviceInfo_ModelName + frame_Device_Info_Image + background_DeviceInfo_SoftwareVersion + background_DeviceInfo_ManufactureUID + background_DeviceInfo_DeviceSerialNumber + label_DeviceInfo + label_DeviceInfo_ModelName + label_DeviceInfo_SerialNumber + label_DeviceInfo_SoftwareVersion + label_DeviceInfo_Manufacture_UID + label_DeviceInfo_Manufacturer + label_DeviceInfo_Manufacturer_Info + + + + + 590 + 350 + 591 + 161 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 62 + 10 + 341 + 34 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 24px; + font-weight: bold; + qproperty-alignment: 'AlignHCenter | AlignVCenter'; + background: #A6B1C2; +} + + + Storage Device Info. + + + + + + 30 + 26 + 543 + 131 + + + + QFrame +{ + border: 1px solid #000000; +} + +QLabel +{ + border: none; +} + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 40 + 80 + 177 + 20 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: none; +} + + + Used: 40GB + + + + + + 240 + 80 + 177 + 20 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: none; +} + + + Free: 959GB + + + + + + 40 + 40 + 177 + 20 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: none; +} + + + Total: 1000GB + + + + frame_LocalStorage_Image + label_LocalStorage + + + + + 0 + 320 + 592 + 320 + + + + QPlainTextEdit +{ + qproperty-lineWrapMode: 'NoWrap'; + font-family: 'Roboto'; + font-size: 20px; + font-weight: light; + padding-left: 0px; + padding-top: 0px; + qproperty-backgroundVisible: false; + border: none; + qproperty-verticalScrollBarPolicy: 'ScrollBarAlwaysOff'; + background: transparent; + qproperty-tabChangesFocus: true; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 30 + 33 + 526 + 269 + + + + QFrame +{ + border: 1px solid #000000; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + 64 + 10 + 186 + 48 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 24px; + font-weight: bold; + qproperty-alignment: 'AlignHCenter | AlignVCenter'; + background: #A6B1C2; +} + + + Storage Info. + + + + + + 57 + 71 + 154 + 32 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: #A6B1C2; +} + + + IP + + + + + + 57 + 126 + 154 + 32 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: #A6B1C2; +} + + + Port + + + + + + 40 + 181 + 171 + 32 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: #A6B1C2; +} + + + Server AE Title + + + + + + 57 + 238 + 154 + 32 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: light; + qproperty-alignment: 'AlignRight | AlignVCenter'; + background: #A6B1C2; +} + + + Client AE Title + + + + + + 234 + 71 + 230 + 32 + + + + QFrame +{ + background: white; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 5 + 0 + 220 + 32 + + + + true + + + Storage Server IP + + + + + + + 234 + 126 + 230 + 32 + + + + QFrame +{ + background: white; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 5 + 0 + 220 + 32 + + + + true + + + Port + + + + + + + 234 + 181 + 230 + 32 + + + + QFrame +{ + background: white; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 5 + 0 + 220 + 32 + + + + true + + + AE_TITLE + + + + + + + 234 + 238 + 230 + 32 + + + + QFrame +{ + background: white; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 5 + 0 + 220 + 32 + + + + true + + + AE_TITLE + + + + + + + + 1600 + 780 + 195 + 50 + + + + QPushButton +{ + background: #153B44; + font-family: 'Roboto'; + font-size: 20px; + font-weight: bold; + border-radius: 8px; + color: white; +} + +QPushButton:pressed +{ + background: #1B4C54; +} + + + Open Folder + + + + + + 960 + 760 + 195 + 50 + + + + QPushButton +{ + background: #153B44; + font-family: 'Roboto'; + font-size: 20px; + font-weight: bold; + border-radius: 8px; + color: white; +} + +QPushButton:pressed +{ + background: #1B4C54; +} + + + COMPLETE + + + + + + 590 + 510 + 596 + 241 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 30 + 33 + 537 + 201 + + + + QFrame +{ + border: 1px solid #000000; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 30 + 50 + 195 + 50 + + + + QPushButton +{ + background: #153B44; + font-family: 'Roboto'; + font-size: 20px; + font-weight: bold; + border-radius: 8px; + color: white; +} + +QPushButton:pressed +{ + background: #1B4C54; +} + + + Network Backup + + + + + + 300 + 50 + 195 + 50 + + + + QPushButton +{ + background: #153B44; + font-family: 'Roboto'; + font-size: 20px; + font-weight: bold; + border-radius: 8px; + color: white; +} + +QPushButton:pressed +{ + background: #1B4C54; +} + + + Add User + + + + + + 30 + 120 + 195 + 50 + + + + QPushButton +{ + background: #153B44; + font-family: 'Roboto'; + font-size: 20px; + font-weight: bold; + border-radius: 8px; + color: white; +} + +QPushButton:pressed +{ + background: #1B4C54; +} + + + Advanced Setting + + + + + + + 60 + 10 + 186 + 48 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 24px; + font-weight: bold; + qproperty-alignment: 'AlignHCenter | AlignVCenter'; + background: #A6B1C2; +} + + + Advanced + + + + + + + + STextEdit + QPlainTextEdit +
stextedit.h
+
+
+ + +
diff --git a/formviewer.cpp b/formviewer.cpp new file mode 100644 index 0000000..4bd1e9e --- /dev/null +++ b/formviewer.cpp @@ -0,0 +1,1525 @@ +#include "formviewer.h" +#include "ui_formviewer.h" + + +#include +#include + +#include "mainwindow.h" + +#include "dialogprogress.h" + +#include "SDCMSendImpl.h" +#include "cscallbacksendprogress.h" + +#include "SDCMImage.h" + +#include +#include + + +FormViewer::FormViewer(QWidget *parent) : + QWidget(parent), + ui(new Ui::FormViewer) +{ + ui->setupUi(this); + + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + connect(this, SIGNAL(ExitViewer()), pMainWindow, SLOT(ExitViewer())); + connect(this, SIGNAL(ChangeMenu(int)), pMainWindow, SLOT(ChangeMenu(int))); + connect(this, SIGNAL(BackupNetworkShareFolder(QString)), pMainWindow, SLOT(BackupNetworkShareFolder(QString))); + + m_nIndexCurrent = 0; + m_nTotalImageCount = 0; + + m_pSlideBarVertical = ui->verticalScrollBar; + + m_pDialogSendProgress = new DialogProgress(this); + + ui->verticalScrollBar->SetSlideType(SSlideBar::SLIDE_VERTICAL); + ui->verticalScrollBar->setRange(0, 299); + + connect(ui->verticalScrollBar, SIGNAL(valueChanged(int)), this, SLOT(valueChangedScrollBarVertical(int))); + //connect(this, SIGNAL(SetSlideValue(int)), ui->verticalScrollBar, SLOT(setValue(int))); + connect(ui->verticalScrollBar, SIGNAL(actionTriggered(int)), this, SLOT(actionTriggered(int))); + connect(ui->verticalScrollBar, SIGNAL(SingleDown()), this, SLOT(SingleDown())); + connect(ui->verticalScrollBar, SIGNAL(SingleUp()), this, SLOT(SingleUp())); + + + + + + int i = 0; + for(i=0 ; i<9 ; i++) + { + FormImageSelect* pForm = new FormImageSelect(this); + pForm->SetIndexViewer(i); + pForm->hide(); + + m_ListFormImageSelect.push_back(pForm); + } + + //ChangeViewMode(0); + + +} + +FormViewer::~FormViewer() +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + SThreadImageSave* pThreadImage = pCommonData->GetThreadCaptureImage(); + + disconnect(pThreadImage, SIGNAL(ImageLoadComplete()), this, SLOT(ImageLoadComplete())); + + disconnect(this, SIGNAL(ExitViewer()), pMainWindow, SLOT(ExitViewer())); + disconnect(this, SIGNAL(ChangeMenu(int)), pMainWindow, SLOT(ChangeMenu(int))); + disconnect(this, SIGNAL(BackupNetworkShareFolder(QString)), pMainWindow, SLOT(BackupNetworkShareFolder(QString))); + + + disconnect(ui->verticalScrollBar, SIGNAL(valueChanged(int)), this, SLOT(valueChangedScrollBarVertical(int))); + //disconnect(this, SIGNAL(SetSlideValue(int)), ui->verticalScrollBar, SLOT(setValue(int))); + disconnect(ui->verticalScrollBar, SIGNAL(actionTriggered(int)), this, SLOT(actionTriggered(int))); + disconnect(ui->verticalScrollBar, SIGNAL(SingleDown()), this, SLOT(SingleDown())); + disconnect(ui->verticalScrollBar, SIGNAL(SingleUp()), this, SLOT(SingleUp())); + + if(m_pDialogSendProgress!=NULL) + { + delete m_pDialogSendProgress; + } + + delete ui; +} + +void FormViewer::on_comboBox_ViewerMode_currentIndexChanged(int index) +{ + ChangeViewMode(index); +} + + +void FormViewer::ChangeViewMode(int nMode) +{ + int nIndex = 0; + int nRow = ui->gridLayout_Viewer->rowCount(); + int nColumn = ui->gridLayout_Viewer->columnCount(); + + int i=0; + int j=0; + + if(m_nMode!=nMode) + { + m_nIndexCurrent = 0; + + + + for(i=0 ; ihide(); + + ui->gridLayout_Viewer->removeWidget(pForm); + } + } + + nIndex = 0; + + nRow = 1; + nColumn = 1; + + if(nMode==0) + { + nRow = 1; + nColumn = 1; + } + else if(nMode==1) + { + nRow = 2; + nColumn = 2; + } + else if(nMode==2) + { + nRow = 3; + nColumn = 3; + } + + for(i=0 ; igridLayout_Viewer->addWidget(pForm, i, j); + pForm->show(); + pForm->Init(); + + } + } + } + + m_nMode = nMode; + + nIndex = 0; + + //CommonData* pCommonData = MainWindow::GetCommonData(); + //vector* pListHistoryImage = pCommonData->GetListHistoryImage(); + + int nTotalImage = 0; + //for(i=0 ; isize() ; i++) + for(i=0 ; im_bDelete==false) + { + nTotalImage++; + } + } + + //m_nTotalImageCount = nTotalImage; + + for(i=0 ; i nIndex) + { + int k=0; + int nTestIndex = 0; + //for(k=0 ; ksize() ; k++) + for(k=0 ; km_bDelete==false) + { + if(nTestIndex==nIndex) + { + pImageSelect = pTmpImage; + break; + } + nTestIndex++; + } + //pImageSelect = (*pListHistoryImage)[nIndex]; + } + + } + pForm->SetImageSelect(pImageSelect); + + + pForm->update(); + + nIndex++; + + + + } + } + + int nItem = 20; + int nIndexCurrent = m_nIndexCurrent; + + //nItem = pListHistoryImage->size(); + nItem = m_nTotalImageCount; + + float fMaxRange = 299; + + int nPageDisplay = 0; + int nPageTotal = 0; + int nItemPerPage = 1; + + switch(m_nMode) + { + case 0: + nItemPerPage = 1; + break; + case 1: + nItemPerPage = 4; + break; + case 2: + nItemPerPage = 9; + break; + } + + //nIndexCurrent += nItemPerPage; + //nPageTotal = ((nItem-1) / nItemPerPage) + 1; + //nPageDisplay = nIndexCurrent / nItemPerPage; + + nPageTotal = (nItem-1) / nItemPerPage; + nPageDisplay = nIndexCurrent + 1; + + nPageTotal = nPageTotal + 1; + + + + if(nPageTotal<=1) + { + ui->frame_verticalScrollBar->hide(); + m_pSlideBarVertical->hide(); + } + else + { + if(m_pSlideBarVertical!=NULL) + { + m_pSlideBarVertical->setValue(0); + } + + ui->frame_verticalScrollBar->show(); + m_pSlideBarVertical->show(); + } + + update(); + + ui->comboBox_ViewerMode->setCurrentIndex(nMode); + + //QString strIndexPage = QString("Page Index: %1/%2").arg(nPageDisplay+1).arg(nPageTotal); + QString strIndexPage = QString("Page Index: %1/%2").arg(nPageDisplay).arg(nPageTotal); + ui->info_DisplayIndex->setText(strIndexPage); +} + + +void FormViewer::SingleUp() +{ + //CommonData* pCommonData = MainWindow::GetCommonData(); + //vector* pListHistoryImage = pCommonData->GetListHistoryImage(); + int nItem = 20; + int nIndexCurrent = m_nIndexCurrent; + + //nItem = pListHistoryImage->size(); + nItem = m_nTotalImageCount; + + float fMaxRange = 300; + + int nPageDisplay = 0; + int nPageTotal = 0; + int nItemPerPage = 1; + + switch(m_nMode) + { + case 0: + nItemPerPage = 1; + break; + case 1: + nItemPerPage = 4; + break; + case 2: + nItemPerPage = 9; + break; + } + + nIndexCurrent -= nItemPerPage; + nPageTotal = ((nItem-1) / nItemPerPage) + 1; + nPageDisplay = nIndexCurrent / nItemPerPage; + + if(nPageTotal<=1) + { + return; + } + + if(nPageDisplay < 0) + { + nPageDisplay = 0; + } + nIndexCurrent = nPageDisplay * nItemPerPage; + + if(nIndexCurrent!=m_nIndexCurrent) + { + int nCurrentPos; + nCurrentPos = (int)(((float)nPageDisplay / (float)(nPageTotal-1)) * fMaxRange + 0.5f); + //qDebug() << "PageDisplay: " << nPageDisplay << " PageTotal: " << nPageTotal << " nCurrentPos: " << nCurrentPos; + m_pSlideBarVertical->setValue(nCurrentPos); + } + + QString strIndexPage = QString("Page Index: %1/%2").arg(nPageDisplay+1).arg(nPageTotal); + ui->info_DisplayIndex->setText(strIndexPage); + + QString strInfoStoage = QString("IMG: %1").arg(m_nTotalImageCount); + ui->info_Storage->setText(strInfoStoage); +} + +void FormViewer::SingleDown() +{ + //CommonData* pCommonData = MainWindow::GetCommonData(); + //vector* pListHistoryImage = pCommonData->GetListHistoryImage(); + int nItem = 20; + int nIndexCurrent = m_nIndexCurrent; + + //nItem = pListHistoryImage->size(); + nItem = m_nTotalImageCount; + + float fMaxRange = 299; + + int nPageDisplay = 0; + int nPageTotal = 0; + int nItemPerPage = 1; + + switch(m_nMode) + { + case 0: + nItemPerPage = 1; + break; + case 1: + nItemPerPage = 4; + break; + case 2: + nItemPerPage = 9; + break; + } + + nIndexCurrent += nItemPerPage; + nPageTotal = ((nItem-1) / nItemPerPage) + 1; + nPageDisplay = nIndexCurrent / nItemPerPage; + + if(nPageTotal<=1) + { + return; + } + + if(nPageDisplay >= nPageTotal) + { + nPageDisplay = nPageTotal - 1; + } + nIndexCurrent = nPageDisplay * nItemPerPage; + + if(nIndexCurrent!=m_nIndexCurrent) + { + int nCurrentPos; + nCurrentPos = (int)( (((float)nPageDisplay / (float)(nPageTotal-1)) * fMaxRange) + 0.5f); + //qDebug() << "PageDisplay: " << nPageDisplay << " PageTotal: " << nPageTotal << " nCurrentPos: " << nCurrentPos; + m_pSlideBarVertical->setValue(nCurrentPos); + } + + QString strIndexPage = QString("Page Index: %1/%2").arg(nPageDisplay+1).arg(nPageTotal); + ui->info_DisplayIndex->setText(strIndexPage); + + QString strInfoStoage = QString("IMG: %1").arg(m_nTotalImageCount); + ui->info_Storage->setText(strInfoStoage); + +} + +void FormViewer::valueChangedScrollBarVertical(int value) +{ + //CommonData* pCommonData = MainWindow::GetCommonData(); + //vector* pListHistoryImage = pCommonData->GetListHistoryImage(); + + //int nItem = pListHistoryImage->size(); + int nItem = m_nTotalImageCount; + + float fMaxItem = nItem; + float fMaxRange = 299; + int nItemIndex = (((float)value/fMaxRange) * fMaxItem + 0.5f); + + int nPageDisplay = 0; + int nPageTotal = 0; + int nItemPerPage = 1; + + + + switch(m_nMode) + { + case 0: + nItemPerPage = 1; + break; + case 1: + nItemPerPage = 4; + break; + case 2: + nItemPerPage = 9; + break; + } + + nPageTotal = ((nItem-1) / nItemPerPage) + 1; + nPageDisplay = ( ((float)value / fMaxRange) * (nPageTotal-1) + 0.5f ); + + //nItemIndex += nItemPerPage; + //nPageDisplay = nItemIndex / nItemPerPage; + + if(nPageTotal<=1) + { + return; + } + + if(nPageDisplay >= nPageTotal) + { + nPageDisplay = nPageTotal-1; + } + + nItemIndex = nPageDisplay * nItemPerPage; + + m_nCurrentPos = value; + + if(m_nIndexCurrent!=nItemIndex) + { + m_nIndexCurrent = nItemIndex; + UpdateViewer(); + + QString strIndexPage = QString("Page Index: %1/%2").arg(nPageDisplay+1).arg(nPageTotal); + ui->info_DisplayIndex->setText(strIndexPage); + } + + +} + + +void FormViewer::actionTriggered(int action) +{ + +} + + +void FormViewer::UpdateViewer() +{ + int nIndex = 0; + int nRow = 1; + int nColumn = 1; + int nMode = m_nMode; + int i=0; + int j=0; + + nIndex = 0; + + nRow = 1; + nColumn = 1; + + if(nMode==0) + { + nRow = 1; + nColumn = 1; + } + else if(nMode==1) + { + nRow = 2; + nColumn = 2; + } + else if(nMode==2) + { + nRow = 3; + nColumn = 3; + } + + + + nIndex = 0; + + CommonData* pCommonData = MainWindow::GetCommonData(); + HISTORY_STUDY* pHistoryStudy = pCommonData->GetCurrentHistoryStudy(); + //vector* pListHistoryImage = pCommonData->GetListHistoryImage(); + + + for(i=0 ; isize()) + if(nDisplayIndexsize() > nDisplayIndex) + if(m_ListImageSelect.size() > nDisplayIndex) + { + int k=0; + int nCheck = 0; + //for(k=0 ; ksize() ; k++) + for(k=0 ; km_bDelete==false) + { + if(nCheck==nDisplayIndex) + { + pImageSelect = pImage; + break; + } + nCheck++; + } + } + //pImageSelect = (*pListHistoryImage)[nDisplayIndex]; + } + + pForm->SetImageSelect(pImageSelect); + if(pImageSelect!=NULL) + { + //qDebug() << pImageSelect->m_strFile; + } + } + else + { + pForm->SetImageSelect(NULL); + } + + pForm->update(); + nIndex++; + } + } + + //update(); + + QString strBirthDate = *pHistoryStudy->pStrPatientBirthDate; + strBirthDate.insert(6, '/'); + strBirthDate.insert(4, '/'); + + QString strStudyDate = *pHistoryStudy->pStrStudyDate; + strStudyDate.insert(6, '/'); + strStudyDate.insert(4, '/'); + + ui->info_ID->setText(*pHistoryStudy->pStrPatientID); + ui->info_Name->setText(*pHistoryStudy->pStrPatientName); + ui->info_StudyDate->setText(strStudyDate); + ui->info_Birth->setText(strBirthDate); + + pCommonData->ReleaseCurrentHistoryStudy(); + + //ui->gridLayoutWidget->update(); + //ui->gridLayout_Viewer->update(); +} + +void FormViewer::wheelEvent(QWheelEvent *event) +{ + int nDelta = event->delta(); + if(nDelta<0) + { + SingleDown(); + } + else if(nDelta>0) + { + SingleUp(); + } +} + +void FormViewer::on_pushButton_EXIT_clicked() +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + SThreadImageSave* pThread = pCommonData->GetThreadCaptureImage(); + int nCurrentState = pThread->GetCurrentState(); + + if(nCurrentState&0x08) + { + //Loading State + pThread->CancelLoad(); + + while(pThread->GetCurrentState()&0x08) + { + usleep(10*1000); + } + } + + int i=0; + for(i=0 ; iSetImageSelect(NULL); + } + + pCommonData->ClearHistoryImage(); + + m_ListImageSelect.clear(); + + //UpdateViewer(); + + + + + ExitViewer(); + + //pCommonData->ClearHistoryImage(); +} + +void FormViewer::Init() +{ + m_ListImageSelect.clear(); + m_nIndexCurrent = 0; + m_nTotalImageCount = 0; + + m_bExecMenu = false; + + ui->verticalScrollBar->setValue(0); + + ui->pushButton_AddCapture->hide(); + ui->pushButton_DELETE->hide(); + ui->pushButton_SEND->hide(); + + int i=0; + for(i=0 ; iSetImageSelect(NULL); + pForm->Init(); + } + + ui->comboBox_ViewerMode->setCurrentIndex(0); + ChangeViewMode(0); + + UpdateViewer(); +} + +void FormViewer::on_pushButton_SEND_clicked() +{ + //DialogProgress dlg(this); + //dlg.exec(); + + int i=0; + + CommonData* pCommonData = MainWindow::GetCommonData(); + vector* pListHistoryImage = pCommonData->GetListHistoryImage(); + QList listFile; + + if(pCommonData->IsUseNetworkBackupVideo()==true && pListHistoryImage->size()>0) + { + vector* pListExport = pCommonData->GetExportList(); + pListExport->clear(); + + ImageSelect* pHistoryImage = (*pListHistoryImage)[0]; + + QString strFile = pHistoryImage->m_strFile; + QFileInfo fi(strFile); + QString strPath = fi.path(); + + strPath = strPath.replace("/data/image/", "/data/video/"); + + QStringList filter; + if(strPath.size()>0) + { + QString strFilter = QString("*") + QString(MOVIE_FILE_EXTENSION); + filter << strFilter; + } + + QDirIterator it(strPath, filter, QDir::AllEntries | QDir::NoSymLinks | QDir::NoDotAndDotDot, QDirIterator::NoIteratorFlags); + QStringList listMovieFile; + while(it.hasNext()==true) + { + QString strVideoFilename = it.next(); + listMovieFile << strVideoFilename; + pListExport->push_back(strVideoFilename); + } + + if(pListExport->size()>0) + { + BackupNetworkShareFolder(""); + + pListExport->clear(); + } + } + + + + + for(i=0 ; isize() ; i++) + { + ImageSelect* pImageSelect = (*pListHistoryImage)[i]; + if(pImageSelect->m_bSelect==true && pImageSelect->m_nType==DISPLAY_IMAGE) + { + //`FileLocation`, `AcquisitionNumber`, `AcquisitionDate`, `AcquisitionTime`, `ImageDelete`, `ImageSend` + + QString strFile = pImageSelect->m_strFile; + QString strAcquisitionNumber; + QString strAcquisitionDate; + QString strAcquisitionTime; + QString strImageDelete; + QString strImageSend; + + strAcquisitionNumber = QString("%1").arg(pImageSelect->m_nImageNumber); + strAcquisitionDate = pImageSelect->m_strDate; + strAcquisitionTime = pImageSelect->m_strTime; + if(pImageSelect->m_bDelete==true) + { + strImageDelete = "1"; + } + else + { + strImageDelete = "0"; + } + + if(pImageSelect->m_bSend==true) + { + strImageSend = "1"; + } + else + { + strImageSend = "0"; + } + + QStringList listData; + listData.push_back(strFile); + listData.push_back(strAcquisitionNumber); + listData.push_back(strAcquisitionDate); + listData.push_back(strAcquisitionTime); + listData.push_back(strImageDelete); + listData.push_back(strImageSend); + + listFile.push_back(listData); + } + + } + + pCommonData->ReleaseListHistoryImage(); + + + if(listFile.size()>0) + { + SThreadSendDICOM* pThreadSendDICOM = pCommonData->GetThreadSendDICOM(); + pThreadSendDICOM->SetSendImageList(listFile); + + if(m_pDialogSendProgress!=NULL) + { + delete m_pDialogSendProgress; + } + + m_pDialogSendProgress = new DialogProgress(this); + + //m_pDialogSendProgress->Init(1); + m_pDialogSendProgress->Init(0x11); + m_pDialogSendProgress->exec(); + + // --- DB 업데이트 로직 수정 --- + vector listImageSendCompleteFile = pThreadSendDICOM->GetListImageSendCompleteFile(); + if (!listImageSendCompleteFile.empty()) + { + // 2. 이 작업을 위한 지역 DB 인스턴스를 생성합니다. + SUTIL::SDatabase db(QString("SendUpdate_%1").arg(reinterpret_cast(this))); + if (db.OpenDatabase("/home/birdhead/test.db") == 0) + { + // 3. WHERE IN 절을 사용하여 단 한 번의 쿼리로 모든 데이터를 업데이트합니다. (가장 효율적인 방법) + QStringList placeholders; + for (size_t i = 0; i < listImageSendCompleteFile.size(); ++i) { + placeholders << "?"; + } + + QString query = QString("UPDATE Image SET ImageSend = 1 WHERE FileLocation IN (%1)") + .arg(placeholders.join(',')); + + QVariantList params; + for (const QString& file : listImageSendCompleteFile) { + params << file; + } + + db.ExecuteNonQuery(query, params); + } + } + + } + + //SDatabase::DeleteListReponse(listFile); + listFile.clear(); +} + +void FormViewer::UpdateMakeDICOMInfo(int nCount, int nTotalCount) +{ + m_pDialogSendProgress->DisplayInfo(nCount, nTotalCount); + + QString strInfo = QString("DICOM Make %1 / %2").arg(nCount).arg(nTotalCount); + m_pDialogSendProgress->DisplayInfo(strInfo); +} + +void FormViewer::UpdateSendInfo(int nCount, int nTotalCount) +{ + m_pDialogSendProgress->DisplayInfo(nCount, nTotalCount); + + QString strInfo = QString("%1 / %2").arg(nCount).arg(nTotalCount); + m_pDialogSendProgress->DisplayInfo(strInfo); +} + +void FormViewer::UpdateSendComplete() +{ + m_pDialogSendProgress->DisplayInfo(-1, 100); + + QString strInfo = QString("Send Complete"); + m_pDialogSendProgress->DisplayInfo(strInfo); + + QThread::msleep(1000); + + //m_pDialogSendProgress->SendComplete(); + //m_pDialogSendProgress->accept(); +} + +void FormViewer::UpdateSendFailed() +{ + m_pDialogSendProgress->DisplayInfo(-1, 100); + + //QString strInfo = QString("Error: Check Network"); + //m_pDialogSendProgress->DisplayInfo(strInfo); + m_pDialogSendProgress->DisplayInfo(-1); + + //QThread::msleep(1000); + + //m_pDialogSendProgress->SendComplete(); + //m_pDialogSendProgress->accept(); +} + +void FormViewer::SetTotalImageCount(int nCount) +{ + m_nTotalImageCount = nCount; + + if(m_nTotalImageCount==0) + { + ImageLoadComplete(); + } +} + +void FormViewer::SetImageLoadInfo(int nLoad, int nTotal, ImageSelect* pImageSelectLoad) +{ + if(nLoad>=nTotal) + { + return; + } + + m_ListImageSelect.push_back(pImageSelectLoad); + + int nIndex = 0; + int nRow = 1; + int nColumn = 1; + int nMode = m_nMode; + int i=0; + int j=0; + + nIndex = 0; + + nRow = 1; + nColumn = 1; + + if(nMode==0) + { + nRow = 1; + nColumn = 1; + } + else if(nMode==1) + { + nRow = 2; + nColumn = 2; + } + else if(nMode==2) + { + nRow = 3; + nColumn = 3; + } + + nIndex = 0; + + int nIndexMaxView = m_nIndexCurrent + (nRow * nColumn-1); + + if(nLoad<=nIndexMaxView && nLoad>=m_nIndexCurrent) + { + + } + else + { + return; + } + + //CommonData* pCommonData = MainWindow::GetCommonData(); + //vector* pListHistoryImage = pCommonData->GetListHistoryImage(); + + + + m_nPageTotal = m_nTotalImageCount / (nRow*nColumn); + if(m_nTotalImageCount%(nRow*nColumn)!=0) + { + m_nPageTotal++; + } + + m_nPageCurrent = (int)(nLoad / (nRow*nColumn)) + 1; + + for(i=0 ; isize()) + if(nDisplayIndexsize() > nDisplayIndex) + if(m_ListImageSelect.size() > nDisplayIndex) + { + int k=0; + int nCheck = 0; + for(k=0 ; km_bDelete==false) + { + if(nCheck==nDisplayIndex) + { + pImageSelect = pImage; + break; + } + nCheck++; + } + } + //pImageSelect = (*pListHistoryImage)[nDisplayIndex]; + } + + pForm->SetImageSelect(pImageSelect); + if(pImageSelect!=NULL) + { + //qDebug() << pImageSelect->m_strFile; + } + } + else + { + pForm->SetImageSelect(NULL); + } + + pForm->update(); + nIndex++; + } + } + + QString strIndexPage = QString("Page Index: %1/%2").arg(m_nPageCurrent).arg(m_nPageTotal); + ui->info_DisplayIndex->setText(strIndexPage); + + QString strInfoStoage = QString("IMG: %1").arg(nTotal); + ui->info_Storage->setText(strInfoStoage); +} + +void FormViewer::on_pushButton_Rotate_clicked() +{ + int i = 0; + for(i=0 ; i<9 ; i++) + { + FormImageSelect* pForm = m_ListFormImageSelect[i]; + bool bSelect = pForm->IsSelect(); + + if(bSelect==true) + { + pForm->DisplayRotate(); + } + } +} + + +void FormViewer::on_pushButton_ZoomInOut_clicked() +{ + int i = 0; + for(i=0 ; i<9 ; i++) + { + FormImageSelect* pForm = m_ListFormImageSelect[i]; + bool bSelect = pForm->IsSelect(); + + if(bSelect==true) + { + pForm->setCursor(Qt::ClosedHandCursor); + pForm->EnableZoom(true); + } + else + { + pForm->EnableZoom(false); + } + } +} + +void FormViewer::on_pushButton_FlipHorizontal_clicked() +{ + int i = 0; + for(i=0 ; i<9 ; i++) + { + FormImageSelect* pForm = m_ListFormImageSelect[i]; + bool bSelect = pForm->IsSelect(); + + if(bSelect==true) + { + pForm->DisplayFlipHorizontal(); + } + } +} + +void FormViewer::on_pushButton_FlipVertical_clicked() +{ + int i = 0; + for(i=0 ; i<9 ; i++) + { + FormImageSelect* pForm = m_ListFormImageSelect[i]; + bool bSelect = pForm->IsSelect(); + + if(bSelect==true) + { + pForm->DisplayFlipVertical(); + } + } +} + +void FormViewer::on_pushButton_Move_clicked() +{ + int i = 0; + for(i=0 ; i<9 ; i++) + { + FormImageSelect* pForm = m_ListFormImageSelect[i]; + bool bSelect = pForm->IsSelect(); + + if(bSelect==true) + { + pForm->setCursor(Qt::ClosedHandCursor); + pForm->EnableMove(true); + } + else + { + pForm->EnableMove(false); + } + } +} + + +void FormViewer::resizeEvent(QResizeEvent *event) +{ + int nDisplayType = MainWindow::GetCommonData()->GetDisplayType(); + + int nFontSize = 22; + int nFontSizeCaptureTitle = 30; + int nFontSizeButton = 22; + int nFontInfoLabel = 22; + int nFontInfoInfo = 22; + int nScrollWidth = 26; + if(nDisplayType==SDISPLAY_1280X1024) + { + nFontSize = 16; + nFontSizeCaptureTitle = 25; + nFontSizeButton = 18; + nFontInfoLabel = 18; + nFontInfoInfo = 22; + //ui->frame_Viewer_Vertical->hide(); + //ui->frame_Viewer_Horizontal->show(); + ui->frame_capture->setGeometry(40, 45, 1200, 1024-90); + ui->label_Viewer->setGeometry(38, 24, 300, 45); + ui->pushButton_EXIT->setGeometry(1003, 22, 140, 45); + ui->frame_Line->setGeometry(38, 69, 965+140, 27); + ui->display_line->setGeometry(0, 27/2, 965+140, 1); + //ui->frame_InfoString->setGeometry(38, 69+27, 965+140, 59); + ui->frame_InfoString->setGeometry(152, 24, 760, 45); + { + ui->label_ID->setGeometry(0, 0, 30, 45); + ui->info_ID->setGeometry(40, 0, 160, 45); + ui->label_Name->setGeometry(180, 0, 70, 45); + ui->info_Name->setGeometry(260, 0, 160, 45); + ui->label_StudyDate->setGeometry(450, 0, 120, 45); + ui->info_StudyDate->setGeometry(600, 0, 160, 45); + ui->label_Birth->hide(); + ui->info_Birth->hide(); + } + ui->gridLayoutWidget->setGeometry(39, 155, 1103, 621); + ui->pushButton_SEND->setGeometry(1029, 155+621+61-45, 115, 45); + ui->pushButton_DELETE->setGeometry(1029, 155+621+133-45, 115, 45); + + ui->pushButton_AddCapture->setGeometry(39, 155+621+61-45, 125, 45); + + ui->info_DisplayIndex->setGeometry(880, 96, 260, 48); + + { + nScrollWidth = 20; + ui->frame_verticalScrollBar->setGeometry(1144, 155, 20, 622); + ui->verticalScrollBar->setGeometry(0, 0, 20, 622); + //ui->horizontalSlider_Hue->setGeometry(310, 40, 300, 16); + //ui->horizontalSlider_Saturation->setGeometry(650, 40, 300, 16); + } + + ui->comboBox_ViewerMode->setGeometry(80-40, 140-45, 120, 30); + + //ui->frame_Viewer_Horizontal->setGeometry(95, 155+621+61-45, 1029-150, 117); + } + else if(nDisplayType==SDISPLAY_1920X1080) + { + nFontSizeCaptureTitle = 30; + nFontSizeButton = 22; + nFontInfoLabel = 22; + nFontInfoInfo = 22; + //ui->frame_Viewer_Vertical->show(); + //ui->frame_Viewer_Horizontal->hide(); + ui->frame_capture->setGeometry(36, 36, 1855, 1028); + ui->label_Viewer->setGeometry(55, 30, 200, 40); + ui->pushButton_EXIT->setGeometry(1580, 27, 161, 51); + ui->frame_Line->setGeometry(55, 80, 1749, 53); + ui->display_line->setGeometry(0, 53/2, 1749, 1); + //ui->frame_Info->setGeometry(0, 133, 1855, 96); + //ui->pushButton_ACQ->setGeometry(1399, 0, 153, 63); + //ui->pushButton_VID->setGeometry(1591, 0, 153, 63); + ui->frame_InfoString->setGeometry(55, 0, 800, 63); + { + ui->label_ID->setGeometry(0, 0, 30, 63); + ui->info_ID->setGeometry(40, 0, 161, 63); + ui->label_Name->setGeometry(200, 0, 70, 63); + ui->info_Name->setGeometry(280, 0, 161, 63); + ui->label_Birth->setGeometry(490, 0, 70, 63); + ui->info_Birth->setGeometry(570, 0, 161, 63); + } + //ui->widget_Video->setGeometry(55, 230, 1280, 720); + ui->pushButton_SEND->setGeometry(1398, 940, 161, 51); + ui->pushButton_DELETE->setGeometry(1582, 940, 161, 51); + + { + //ui->horizontalSlider_Hue->setGeometry(310, 40, 451, 16); + //ui->horizontalSlider_Saturation->setGeometry(840, 40, 451, 16); + } + } + + QString strCaptureTitle = QString( + "QLabel \ + { \ + font-family: 'Roboto'; \ + font-size: %1px; \ + font-weight: bold; \ + color: #000000; \ + }").arg(nFontSizeCaptureTitle); + ui->label_Viewer->setStyleSheet(strCaptureTitle); + + QString strPushButton_Exit_Delete = QString( + "QPushButton \ + { \ + background: #FFFFFF; \ + font-family: 'Roboto'; \ + font-size: %1px; \ + font-weight: bold; \ + border-radius: 8px; \ + color: black; \ + } \ + QPushButton:pressed \ + { \ + background: #D8D8D8; \ + }").arg(nFontSizeButton); + ui->pushButton_EXIT->setStyleSheet(strPushButton_Exit_Delete); + ui->pushButton_DELETE->setStyleSheet(strPushButton_Exit_Delete); + + QString strPushButton_ACQ_VID = QString( + "QPushButton \ + { \ + background: #153B44; \ + font-family: 'Roboto'; \ + font-size: %1px; \ + font-weight: bold; \ + border-radius: 8px; \ + color: white; \ + } \ + QPushButton:pressed \ + { \ + background: #1B4C54; \ + }").arg(nFontSizeButton); + //ui->pushButton_ACQ->setStyleSheet(strPushButton_ACQ_VID); + //ui->pushButton_VID->setStyleSheet(strPushButton_ACQ_VID); + ui->pushButton_SEND->setStyleSheet(strPushButton_ACQ_VID); + + + + QString strPushButton_AddCapture = QString( + "QPushButton \ + { \ + background: #153B44; \ + font-family: 'Roboto'; \ + font-size: %1px; \ + font-weight: bold; \ + border-radius: 8px; \ + color: white; \ + } \ + QPushButton:pressed \ + { \ + background: #1B4C54; \ + }").arg(nFontSizeButton-2); + + ui->pushButton_AddCapture->setStyleSheet(strPushButton_AddCapture); + + + QString strInfoLabel = QString( + "QLabel \ + { \ + font-family: 'Roboto'; \ + font-size: %1px; \ + font-weight: bold; \ + color: #000000; \ + }").arg(nFontInfoLabel); + ui->label_ID->setStyleSheet(strInfoLabel); + ui->label_Name->setStyleSheet(strInfoLabel); + ui->label_Birth->setStyleSheet(strInfoLabel); + ui->label_StudyDate->setStyleSheet(strInfoLabel); + + QString strInfoInfo = QString( + "QLabel \ + { \ + font-family: 'Roboto'; \ + font-size: %1px; \ + font-weight: normal; \ + color: #000000; \ + }").arg(nFontInfoInfo); + ui->info_ID->setStyleSheet(strInfoInfo); + ui->info_Name->setStyleSheet(strInfoInfo); + ui->info_Birth->setStyleSheet(strInfoInfo); + ui->info_StudyDate->setStyleSheet(strInfoInfo); + + QString strVerticalScroll = QString( + "QScrollBar\n" + "{ \n" + "background: none; \n" + "border: none; \n" + "border-image: url(://image/scrollbar_vertical_bg.png); \n" + "} \n" + "QScrollBar:vertical { \n" + " background: white; \n" + " width: %1px; \n" + " margin: %1px 0px %1px 0px; \n" + "} \n" + "QScrollBar::handle:vertical { \n" + " background: none; \n" + " margin: 4px; \n" + " width: 18px; \n" + " min-height: 20px; \n" + " max-height: 20px; \n" + " height: 36px; \n" + " border-image: url(://image/ScrollBar_Vertical_Icon.png); \n" + "} \n" + "QScrollBar::add-line:vertical { \n" + " border: solid 1px black; \n" + " background: none; \n" + " border-image: url(://image/scrollbar_down.png); \n" + " height: %1px; \n" + " margin: 0px 0px; \n" + " subcontrol-position: bottom; \n" + " subcontrol-origin: margin; \n" + " border-bottom-left-radius: %2px; \n" + " border-bottom-right-radius: %2px; \n" + "} \n" + "QScrollBar::sub-line:vertical { \n" + " border: none; \n" + " background: none; \n" + " border-image: url(://image/scrollbar_up.png); \n" + " height: %1px; \n" + " subcontrol-position: top; \n" + " subcontrol-origin: margin; \n" + "}").arg(nScrollWidth).arg(nScrollWidth/2); + + ui->verticalScrollBar->setStyleSheet(strVerticalScroll); + + QString strVerticalFrame = QString( + "QFrame \n" + "{ \n" + " border: 1px solid black; \n" + " border-radius: %1px; \n" + "}").arg(nScrollWidth/2-2); + ui->frame_verticalScrollBar->setStyleSheet(strVerticalFrame); +} + +void FormViewer::on_pushButton_DELETE_clicked() +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + vector* pListHistoryImage = pCommonData->GetListHistoryImage(); + + + //vector listHistory; + + m_ListImageSelect.clear(); + + int i=0; + int nTotalImageCount = 0; + for(i=0 ; isize() ; i++) + { + ImageSelect* pImageSelect = (*pListHistoryImage)[i]; + if(pImageSelect->m_bSelect==true) + { + QString strFile = pImageSelect->m_strFile; + QString strImageInstanceUID = pImageSelect->m_strImageInstanceUID; + + if(pImageSelect->m_nType==DISPLAY_VIDEO) + { + QFileInfo fileCheck(strFile); + if(fileCheck.exists()==true) + { + QString strPath = fileCheck.path(); + QString strFilename = fileCheck.fileName(); + + QStringList filter; + if(strFilename.size()>0) + { + strFilename = strFilename.left(strFilename.size()-4); + filter << strFilename + QString("*") + MOVIE_FILE_EXTENSION; + } + + QDirIterator it(strPath, filter, QDir::AllEntries | QDir::NoSymLinks | QDir::NoDotAndDotDot, QDirIterator::NoIteratorFlags); + while(it.hasNext()==true) + { + QString strVideoFilename = it.next(); + QFile fileDelete(strVideoFilename); + if(fileDelete.exists()==true) + { + fileDelete.remove(); + fileDelete.close(); + } + } + } + + QFile fileDelete(strFile); + if(fileDelete.exists()==true) + { + fileDelete.remove(); + fileDelete.close(); + } + + strFile.replace(".bmp", MOVIE_FILE_EXTENSION); + strFile.replace(".jpg", MOVIE_FILE_EXTENSION); + strFile.replace(".png", MOVIE_FILE_EXTENSION); + } + + + { + SUTIL::SDatabase db(QString("ImageDeleteTask_%1").arg(reinterpret_cast(this))); + if (db.OpenDatabase("/home/birdhead/test.db") == 0) // 0이 성공 + { + // 2. 지역 인스턴스 'db'를 사용하여 안전하게 함수를 호출합니다. + // 리팩토링된 함수는 bool 값을 반환하므로, 성공 여부를 확인할 수 있습니다. + bool bSuccess = db.ImageDeleteFromImageInstanceUID(strImageInstanceUID, true); + + if (bSuccess) { + qDebug() << "Successfully marked image for deletion:" << strImageInstanceUID; + } else { + qWarning() << "Failed to mark image for deletion:" << strImageInstanceUID; + } + } + else + { + qWarning() << "DB open failed for ImageDeleteTask."; + } + } + + pImageSelect->DeleteImageData(); + //pImageSelect->m_bDelete = true; + //delete pImageSelect->m_pImage; + + } + else + { + nTotalImageCount++; + + //listHistory.push_back(pImageSelect); + m_ListImageSelect.push_back(pImageSelect); + } + } + + pListHistoryImage->clear(); + for(i=0 ; ipush_back(pImageSelect); + } + + pCommonData->ReleaseListHistoryImage(); + + + if(nTotalImageCount!=m_nTotalImageCount) + { + SetTotalImageCount(nTotalImageCount); + + m_nIndexCurrent = 0; + //ChangeViewMode(m_nMode); + + + ui->verticalScrollBar->setValue(0); + + UpdateViewer(); + } +} + +void FormViewer::on_pushButton_AddCapture_clicked() +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + + SThreadImageSave* pThread = pCommonData->GetThreadCaptureImage(); + int nCurrentState = pThread->GetCurrentState(); + + if(nCurrentState&0x08) + { + //Loading State + pThread->CancelLoad(); + + while(pThread->GetCurrentState()&0x08) + { + usleep(10*1000); + } + + } + + if(m_bExecMenu==false) + { + ACQUISITION_INFO* pAcquisitionInfo = pCommonData->GetAcquisitionInfo(); + //vector* pListHistoryImage = pCommonData->GetListHistoryImage(); + HISTORY_STUDY* pHistoryStudy = pCommonData->GetCurrentHistoryStudy(); + + pAcquisitionInfo->GetPatientInfo()->strPatientAge = pHistoryStudy->pStrPatientAge->toStdString().c_str(); + pAcquisitionInfo->GetPatientInfo()->strPatientID = pHistoryStudy->pStrPatientID->toStdString().c_str(); + pAcquisitionInfo->GetPatientInfo()->strPatientName = pHistoryStudy->pStrPatientName->toStdString().c_str(); + pAcquisitionInfo->GetPatientInfo()->strPatientSex = pHistoryStudy->pStrPatientSex->toStdString().c_str(); + pAcquisitionInfo->GetPatientInfo()->strPatientBirthDate = pHistoryStudy->pStrPatientBirthDate->toStdString().c_str(); + pAcquisitionInfo->GetPatientInfo()->strPatientLocation = pHistoryStudy->pStrPatientLocation->toStdString().c_str(); + + pAcquisitionInfo->GetStudyInfo()->nPatientIndex = pHistoryStudy->pStrPatientIndex->toInt(); + pAcquisitionInfo->GetStudyInfo()->strStudyInstanceUID = pHistoryStudy->pStrStudyInstanceUID->toStdString().c_str(); + pAcquisitionInfo->GetStudyInfo()->strStudyDate = pHistoryStudy->pStrStudyDate->toStdString().c_str(); + pAcquisitionInfo->GetStudyInfo()->strStudyTime = pHistoryStudy->pStrStudyTime->toStdString().c_str(); + pAcquisitionInfo->GetStudyInfo()->strAccessionNumber = pHistoryStudy->pStrAccessionNumber->toStdString().c_str(); + pAcquisitionInfo->GetStudyInfo()->strStudyDescription = pHistoryStudy->pStrStudyDescription->toStdString().c_str(); + pAcquisitionInfo->GetStudyInfo()->strReferringPhysiciansName = pHistoryStudy->pStrReferringPhysiciansName->toStdString().c_str(); + + pAcquisitionInfo->GetSeriesInfo()->strSeriesInstanceUID = pHistoryStudy->pStrSeriesInstanceUID->toStdString().c_str(); + pAcquisitionInfo->GetSeriesInfo()->strModality = pHistoryStudy->pStrModality->toStdString().c_str(); + pAcquisitionInfo->GetSeriesInfo()->strSeriesDate = pHistoryStudy->pStrSeriesDate->toStdString().c_str(); + pAcquisitionInfo->GetSeriesInfo()->strSeriesTime = pHistoryStudy->pStrSeriesTime->toStdString().c_str(); + pAcquisitionInfo->GetSeriesInfo()->strSeriesDescription = pHistoryStudy->pStrSeriesDescription->toStdString().c_str(); + pAcquisitionInfo->GetSeriesInfo()->strOperatorsName = pHistoryStudy->pStrOperatorsName->toStdString().c_str(); + pAcquisitionInfo->GetSeriesInfo()->nSeriesNumber = pHistoryStudy->pStrSeriesNumber->toInt(); + + pAcquisitionInfo->m_nIndexStudy = pHistoryStudy->pStrStudyIndex->toInt(); + + { + SUTIL::SDatabase db(QString("GetSeriesIndices_Task_%1").arg(reinterpret_cast(this))); + if (db.OpenDatabase("/home/birdhead/test.db") == 0) // 0이 성공 + { + // 2. 지역 인스턴스 'db'를 사용하여 안전하게 함수를 호출합니다. + // Get...Index... 함수들은 이전에 리팩토링되어 이미 안전합니다. + // pStrStudyInstanceUID가 QString* 이므로 역참조(*)하여 const QString& 타입으로 전달합니다. + pAcquisitionInfo->m_nIndexSeries_Image = db.GetSeriesImageIndexWithInstanceUID(*pHistoryStudy->pStrStudyInstanceUID); + pAcquisitionInfo->m_nIndexSeries_Video = db.GetSeriesVideoIndexWithInstanceUID(*pHistoryStudy->pStrStudyInstanceUID); + } + else + { + qWarning() << "DB open failed for GetSeriesIndices task."; + // 기본값으로 초기화 + pAcquisitionInfo->m_nIndexSeries_Image = 0; + pAcquisitionInfo->m_nIndexSeries_Video = 0; + } + } + + pAcquisitionInfo->m_nIndexPatient = pHistoryStudy->pStrPatientIndex->toInt(); + + pAcquisitionInfo->m_nAcquisitionImageMax = pHistoryStudy->pStrImageCount->toInt(); + pAcquisitionInfo->m_nAcquisitionVideoMax = pHistoryStudy->pStrMovieCount->toInt(); + + //pAcquisitionInfo->m_nAcuqisitionMax = pDatabase->GetImageMaxIndex(pHistoryStudy->pStrSeriesInstanceUID); + + pCommonData->ReleaseCurrentHistoryStudy(); + + pCommonData->ReleaseAcquisitionInfo(); + + m_bExecMenu = true; + //ExecuteCapture(); + + pCommonData->AddCaptureImageWithHistory(); + + ChangeMenu(SMENU_CAPTURE); + } +} + + + +void FormViewer::ImageLoadComplete() +{ + ui->pushButton_AddCapture->show(); + ui->pushButton_DELETE->show(); + ui->pushButton_SEND->show(); +} diff --git a/formviewer.h b/formviewer.h new file mode 100644 index 0000000..abdb791 --- /dev/null +++ b/formviewer.h @@ -0,0 +1,112 @@ +#ifndef FORMVIEWER_H +#define FORMVIEWER_H + +#include + +#include +using namespace std; + +#include "common.h" + +#include "formimageselect.h" + +#include "sslidebar.h" + +#include "dialogprogress.h" + + +namespace Ui { +class FormViewer; +} + +class FormViewer : public QWidget +{ + Q_OBJECT + +public: + + +public: + explicit FormViewer(QWidget *parent = nullptr); + virtual ~FormViewer(); + + void ChangeViewMode(int nMode); + + virtual void Init(); + virtual void UpdateViewer(); + + virtual void wheelEvent(QWheelEvent *event); + + void SetTotalImageCount(int nCount); + + void UpdateMakeDICOMInfo(int nCount, int nTotalCount); + void UpdateSendInfo(int nCount, int nTotalCount); + void UpdateSendComplete(); + void UpdateSendFailed(); + + bool m_bExecMenu; + +public: + virtual void resizeEvent(QResizeEvent *event); + +protected: + DialogProgress* m_pDialogSendProgress; + + int m_nMode; + vector m_ListFormImageSelect; + vector m_ListImageSelect; + int m_nMaxItemShow; + SSlideBar* m_pSlideBarVertical; + int m_nCurrentPos; + int m_nIndexCurrent; + int m_nTotalImageCount; + + int m_nPageTotal; + int m_nPageCurrent; + +signals: + void ExitViewer(); + void ChangeMenu(int nID); + + void BackupNetworkShareFolder(QString strFilename); + +public slots: + void SingleUp(); + void SingleDown(); + + void valueChangedScrollBarVertical(int value); + + void actionTriggered(int action); + + void SetImageLoadInfo(int nLoad, int nTotal, ImageSelect* pImageSelect); + + void ImageLoadComplete(); + + +private slots: + void on_comboBox_ViewerMode_currentIndexChanged(int index); + + void on_pushButton_EXIT_clicked(); + + void on_pushButton_SEND_clicked(); + + void on_pushButton_Rotate_clicked(); + + void on_pushButton_ZoomInOut_clicked(); + + void on_pushButton_FlipHorizontal_clicked(); + + void on_pushButton_FlipVertical_clicked(); + + void on_pushButton_Move_clicked(); + + void on_pushButton_DELETE_clicked(); + + void on_pushButton_AddCapture_clicked(); + + +private: + Ui::FormViewer *ui; +}; + +#endif // FORMVIEWER_H diff --git a/formviewer.ui b/formviewer.ui new file mode 100644 index 0000000..04c8e09 --- /dev/null +++ b/formviewer.ui @@ -0,0 +1,889 @@ + + + FormViewer + + + + 0 + 0 + 1920 + 1080 + + + + Form + + + QWidget +{ + border: none; +} + + + + + 0 + 0 + 1920 + 1080 + + + + QFrame#frame_background +{ + background: rgb(39, 102, 120); +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + 36 + 36 + 1855 + 1028 + + + + QFrame#frame_capture +{ + background: #A6B1C2; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 1420 + 10 + 211 + 63 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; + qproperty-alignment: 'AlignRight | AlignVCenter'; +} + + + INDEX: 2/21 + + + + + + 0 + 0 + 1855 + 91 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 30 + 20 + 200 + 40 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 30px; + font-weight: bold; + color: #000000; + +} + + + VIEWER + + + + + + 30 + 60 + 1811 + 31 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 0 + 10 + 1811 + 1 + + + + QFrame +{ + border: none; + background: black; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + 255 + 10 + 1071 + 63 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 340 + 0 + 30 + 63 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; +} + + + ID: + + + + + + 380 + 0 + 161 + 63 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; +} + + + 12345678 + + + + + + 620 + 0 + 181 + 61 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; +} + + + TEST1234 + + + + + + 540 + 0 + 70 + 63 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; +} + + + NAME: + + + + + + 830 + 0 + 70 + 63 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; +} + + + BIRTH: + + + + + + 910 + 0 + 161 + 63 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; +} + + + 1999/01/01 + + + + + + 0 + 0 + 141 + 63 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; +} + + + STUDY_DATE: + + + + + + 150 + 0 + 161 + 63 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; +} + + + 12345678 + + + + + + + 1660 + 10 + 181 + 63 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + color: #000000; +} + + + IMG: 20, VID: 2 + + + + + + + 1670 + 90 + 161 + 51 + + + + QPushButton +{ + background: #153B44; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: white; +} + +QPushButton:pressed +{ + background: #1B4C54; +} + + + SEND + + + + + + 1670 + 160 + 161 + 51 + + + + QPushButton +{ + background: #FFFFFF; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: black; +} + +QPushButton:pressed +{ + background: #D8D8D8; +} + + + DELETE + + + + + + 1622 + 90 + 26 + 911 + + + + QFrame +{ + border: 1px solid black; + border-radius: 8px; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 0 + 0 + 26 + 911 + + + + Qt::WheelFocus + + + QScrollBar +{ + background: none; + border: none; + border-image: url(://image/scrollbar_vertical_bg.png); +} + +QScrollBar:vertical { + background: white; + width: 26px; + margin: 26px 0px 26px 0px; +} +QScrollBar::handle:vertical { + background: none; + margin: 4px; + width: 18px; + min-height: 36px; + max-height: 36px; + height: 36px; + border-image: url(://image/ScrollBar_Vertical_Icon.png); +} +QScrollBar::add-line:vertical { + border: solid 1px black; + background: none; + border-image: url(://image/scrollbar_down.png); + height: 26px; + margin: 0px 0px; + subcontrol-position: bottom; + subcontrol-origin: margin; + border-bottom-left-radius: 13px; + border-bottom-right-radius: 13px; +} + +QScrollBar::sub-line:vertical { + border: none; + background: none; + border-image: url(://image/scrollbar_up.png); + height: 26px; + subcontrol-position: top; + subcontrol-origin: margin; +} + + + 99 + + + Qt::Vertical + + + true + + + + + + + 1670 + 950 + 161 + 51 + + + + QPushButton +{ + background: #FFFFFF; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: black; +} + +QPushButton:pressed +{ + background: #D8D8D8; +} + + + EXIT + + + + + + 1680 + 310 + 151 + 31 + + + + QComboBox { + border: 1px solid gray; + border-radius: 3px; + padding: 1px 18px 1px 3px; + min-width: 6em; +} + +QComboBox:editable { + background: white; +} + +QComboBox:!editable, QComboBox::drop-down:editable { + background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, + stop: 0 #E1E1E1, stop: 0.4 #DDDDDD, + stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3); +} + +/* QComboBox gets the "on" state when the popup is open */ +QComboBox:!editable:on, QComboBox::drop-down:editable:on { + background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, + stop: 0 #D3D3D3, stop: 0.4 #D8D8D8, + stop: 0.5 #DDDDDD, stop: 1.0 #E1E1E1); +} + +QComboBox:on { /* shift the text when the popup opens */ + padding-top: 3px; + padding-left: 4px; +} + +QComboBox::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 30px; + + border-left-width: 1px; + border-left-color: darkgray; + border-left-style: solid; /* just a single line */ + border-top-right-radius: 3px; /* same radius as the QComboBox */ + border-bottom-right-radius: 3px; +} + +QComboBox::down-arrow { + border-image: url(://image/Arrow_under_3.png); +} + +QComboBox::down-arrow:on { /* shift the arrow when popup is open */ + top: 1px; + left: 1px; +} + + + +QComboBox QAbstractItemView { + border: 2px solid darkgray; + selection-background-color: red; +} + +QComboBox QListView::item +{ + border: 2px solid darkgray; +} + +QComboBox::item +{ + border: 2px solid darkgray; + height: 40px; + selection-background-color: red; +} + +QComboBox::item:selected +{ + background: red; +} + + + + 32 + 32 + + + + + 1X1 + + + + + 2X2 + + + + + 3X3 + + + + + + + 1680 + 280 + 151 + 31 + + + + View Mode + + + + + + 30 + 90 + 1618 + 911 + + + + + 10 + + + + + + + 1680 + 390 + 151 + 41 + + + + QPushButton +{ + background: #FFFFFF; + font-family: 'Roboto'; + font-size: 18px; + font-weight: normal; + border-radius: 8px; + color: black; +} + +QPushButton:pressed +{ + background: #D8D8D8; +} + + + Rotate + + + + + + 1680 + 470 + 151 + 41 + + + + QPushButton +{ + background: #FFFFFF; + font-family: 'Roboto'; + font-size: 18px; + font-weight: normal; + border-radius: 8px; + color: black; +} + +QPushButton:pressed +{ + background: #D8D8D8; +} + + + Flip Horizontal + + + + + + 1680 + 620 + 151 + 41 + + + + QPushButton +{ + background: #FFFFFF; + font-family: 'Roboto'; + font-size: 18px; + font-weight: normal; + border-radius: 8px; + color: black; +} + +QPushButton:pressed +{ + background: #D8D8D8; +} + + + Zoom - In/Out + + + + + + 1680 + 540 + 151 + 41 + + + + QPushButton +{ + background: #FFFFFF; + font-family: 'Roboto'; + font-size: 18px; + font-weight: normal; + border-radius: 8px; + color: black; +} + +QPushButton:pressed +{ + background: #D8D8D8; +} + + + Flip Vertical + + + + + + 1680 + 690 + 151 + 41 + + + + QPushButton +{ + background: #FFFFFF; + font-family: 'Roboto'; + font-size: 18px; + font-weight: normal; + border-radius: 8px; + color: black; +} + +QPushButton:pressed +{ + background: #D8D8D8; +} + + + Move + + + + + + 1680 + 780 + 151 + 41 + + + + QPushButton +{ + background: #FFFFFF; + font-family: 'Roboto'; + font-size: 16px; + font-weight: normal; + border-radius: 8px; + color: black; +} + +QPushButton:pressed +{ + background: #D8D8D8; +} + + + ADD Capture + + + info_DisplayIndex + frame_top + pushButton_SEND + pushButton_DELETE + pushButton_EXIT + comboBox_ViewerMode + label + gridLayoutWidget + pushButton_Rotate + pushButton_FlipHorizontal + pushButton_ZoomInOut + pushButton_FlipVertical + pushButton_Move + frame_verticalScrollBar + pushButton_AddCapture + + + + + SSlideBar + QScrollBar +
sslidebar.h
+
+
+ + +
diff --git a/formworklist.cpp b/formworklist.cpp new file mode 100644 index 0000000..02bb4b4 --- /dev/null +++ b/formworklist.cpp @@ -0,0 +1,543 @@ +#include "formworklist.h" +#include "ui_formworklist.h" +#include "mainwindow.h" + +#include "formcalendarview.h" + +#include "dialogemergengy.h" + +FormWorklist::FormWorklist(QWidget *parent) : + QWidget(parent), + ui(new Ui::FormWorklist) +{ + ui->setupUi(this); + + m_nSearchDurationType = SEARCH_TODAY; + + ui->widgetList->ChangeHeader(); + + m_pDialogSearchProgress = new DialogProgress(this); + m_pDialogSearchProgress->Init(1); + ui->pushButton_DateEnd->hide(); + + //m_pScrollArea = new QScrollArea; + //m_pScrollArea->setWidget(ui->widgetList); + + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + connect(this, SIGNAL(ChangeMenu(int)), pMainWindow, SLOT(ChangeMenu(int))); + + connect(&m_TimerSearch, SIGNAL(timeout()), this, SLOT(OverTime())); + + m_TimerSearch.setSingleShot(true); + + //m_TimerSearch.setInterval(1000*3); + //m_TimerSearch.start(); + + + CreateThreadWorklistSearch(); + + + +} + +FormWorklist::~FormWorklist() +{ + if(m_pDialogSearchProgress!=NULL) + { + delete m_pDialogSearchProgress; + } + + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + disconnect(this, SIGNAL(ChangeMenu(int)), pMainWindow, SLOT(ChangeMenu(int))); + + delete ui; +} + +void FormWorklist::CreateThreadWorklistSearch() +{ + m_pThreadWorklistSearch = new SThreadWorklistSearch; + + connect(m_pThreadWorklistSearch, SIGNAL(worklistUpdateComplete()), this, SLOT(worklistUpdateComplete())); + connect(m_pThreadWorklistSearch, SIGNAL(worklistError()), this, SLOT(worklistError())); + connect(m_pThreadWorklistSearch, SIGNAL(SetWorklistProgress(int)), this, SLOT(SetWorklistProgress(int))); + + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + connect(m_pThreadWorklistSearch, SIGNAL(SetDisplayError(QString)), pMainWindow, SLOT(SetDisplayError(QString))); + + m_pThreadWorklistSearch->start(); +} + +void FormWorklist::TerminateThreadWorklistSearch() +{ + disconnect(m_pThreadWorklistSearch, SIGNAL(worklistUpdateComplete()), this, SLOT(worklistUpdateComplete())); + disconnect(m_pThreadWorklistSearch, SIGNAL(worklistError()), this, SLOT(worklistError())); + disconnect(m_pThreadWorklistSearch, SIGNAL(SetWorklistProgress(int)), this, SLOT(SetWorklistProgress(int))); + + //m_pThreadWorklistSearch->terminate(); + m_pThreadWorklistSearch->TerminateThread(); + //m_pThreadWorklistSearch->ExitThread(); + + while(m_pThreadWorklistSearch->isRunning()==true) + { + usleep(1000*100); + } + + //SAFE_DELETE(m_pThreadWorklistSearch); + m_pThreadWorklistSearch->deleteLater(); + usleep(1000*100); + //m_pThreadWorklistSearch->exit(0); + + m_pThreadWorklistSearch = NULL; +} + +void FormWorklist::ClickSearchDateStartEnd() +{ + QDate date = QDate::currentDate(); + + CommonData* pCommonData = MainWindow::GetCommonData(); + QDate dateStart = pCommonData->GetDateSearchWorklistStart(); + QDate dateEnd = pCommonData->GetDateSearchWorklistEnd(); + + DialogCalendar dlg(this); + dlg.SetCalendarDate(date.year(), date.month(), 1); + dlg.SetDateStart(dateStart); + dlg.SetDateEnd(dateEnd); + //dlg.SetModeChangeStart(); + + + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + pMainWindow->StopScreenSaverTimer(); + + connect(&dlg, SIGNAL(SetSearchDateUpdate(int)), this, SLOT(SetSearchDateUpdate(int))); + + dlg.exec(); + m_nSearchDurationType = dlg.GetTypeSearchDuration(); + + disconnect(&dlg, SIGNAL(SetSearchDateUpdate(int)), this, SLOT(SetSearchDateUpdate(int))); + + pMainWindow->ResetScreenSaverTimer(); + pMainWindow->StartScreenSaverTimer(); +} + +void FormWorklist::on_pushButton_DateStart_clicked() +{ + WRITE_FUNCTION_LOG(); + ClickSearchDateStartEnd(); +} + +void FormWorklist::on_pushButton_DateEnd_clicked() +{ + WRITE_FUNCTION_LOG(); + ClickSearchDateStartEnd(); +} + +void FormWorklist::SetSearchDateUpdate(int nTypeSearchDuration) +{ + WRITE_FUNCTION_LOG(); + CommonData* pCommonData = MainWindow::GetCommonData(); + //QDate dateStart = pMainWindow->GetDateSearchWorklistStart();// FormCalendarView::GetDateStart(); + //QDate dateEnd = pMainWindow->GetDateSearchWorklistEnd();// FormCalendarView::GetDateEnd(); + QDate dateStart = FormCalendarView::GetDateStart(); + QDate dateEnd = FormCalendarView::GetDateEnd(); + QDate dateToday = QDate::currentDate(); + + m_nSearchDurationType = nTypeSearchDuration; + + pCommonData->GetSearchDateStartEnd(m_nSearchDurationType, dateStart, dateEnd); + pCommonData->SetDateSearchWorklistStart(dateStart); + pCommonData->SetDateSearchWorklistEnd(dateEnd); + + QString strDateStart; + QString strDateEnd; + + int nStartYear = dateStart.year(); + int nStartMonth = dateStart.month(); + int nStartDay = dateStart.day(); + + int nEndYear = dateEnd.year(); + int nEndMonth = dateEnd.month(); + int nEndDay = dateEnd.day(); + + strDateStart = QString("%1/%2/%3").arg(QString::number(nStartYear).rightJustified(4, '0')).arg(QString::number(nStartMonth).rightJustified(2, '0')).arg(QString::number(nStartDay).rightJustified(2, '0')); + + strDateEnd = QString("%1/%2/%3").arg(QString::number(nEndYear).rightJustified(4, '0')).arg(QString::number(nEndMonth).rightJustified(2, '0')).arg(QString::number(nEndDay).rightJustified(2, '0')); + + if(m_nSearchDurationType==SEARCH_TODAY) + { + ui->label_DateStart->setText("Today"); + } + else + { + QString strSearchDate = QString("%1 ~ %2").arg(strDateStart).arg(strDateEnd); + ui->label_DateStart->setText(strSearchDate); + ui->pushButton_DateStart->update(); + //ui->label_DateEnd->setText(strSearchDate); + } + + /* + if(dateToday==dateStart) + { + ui->label_DateStart->setText("Today"); + } + else + { + + } + + if(dateToday==dateEnd) + { + ui->label_DateEnd->setText("Today"); + } + else + { + ui->label_DateEnd->setText(strDateEnd); + } + */ + + + SEARCH_ITEM* pSearchItem = pCommonData->GetSearchItemWorklist(); + pSearchItem->m_strStudyDate = QString("%1-%2").arg(strDateStart).arg(strDateEnd); + + //ui->pushButton_DateStart->setText(strDateStart); + //ui->pushButton_DateEnd->setText(strDateEnd); + +} + +void FormWorklist::Init() +{ + WRITE_FUNCTION_LOG(); + ui->widgetList->Clear(); + ui->widgetList->ChangeHeader(); + ui->widgetList->Init(); + ui->widgetList->UpdateList(); +} + +void FormWorklist::on_pushButton_Execution_clicked() +{ + WRITE_FUNCTION_LOG(); + Exit(); +} + + +void FormWorklist::resizeEvent(QResizeEvent *event) +{ + WRITE_FUNCTION_LOG(); + int nDisplayType = MainWindow::GetCommonData()->GetDisplayType(); + + int nFontSize = 22; + if(nDisplayType==SDISPLAY_1280X1024) + { + nFontSize = 16; + + ui->frame_PatientID->setGeometry(20, 28, 156, 32); + ui->frame_PatientName->setGeometry(195, 28, 156, 32); + ui->pushButton_DateStart->setGeometry(376, 28, 278, 32); + ui->pushButton_DateEnd->setGeometry(580, 28, 178, 32); + + ui->plainTextEdit_PatientID->setGeometry(30, 31, 140, 40); + ui->plainTextEdit_PatientName->setGeometry(205, 31, 140, 40); + + ui->label_DateStart->setGeometry(18, 0, 260, 36); + ui->label_DateEnd->setGeometry(18, 0, 160, 36); + + ui->widgetList->setGeometry(20, 91, 1150, 665-15); + + ui->pushButton_Execution->setGeometry(1024, 91+665+30, 145, 45); + + ui->pushButton_Emergency->setGeometry(20, 91+665+30, 145, 45); + + ui->pushButton->setGeometry(1025, 21, 145, 45); + } + else if(nDisplayType==SDISPLAY_1920X1080) + { + ui->frame_PatientID->setGeometry(30, 34, 195, 40); + ui->frame_PatientName->setGeometry(250, 34, 195, 40); + ui->pushButton_DateStart->setGeometry(477, 34, 268, 40); + ui->pushButton_DateEnd->setGeometry(770, 34, 268, 40); + + ui->plainTextEdit_PatientID->setGeometry(40, 40, 175, 50); + ui->plainTextEdit_PatientName->setGeometry(260, 40, 175, 50); + + ui->label_DateStart->setGeometry(20, 0, 201, 40); + ui->label_DateEnd->setGeometry(20, 0, 201, 40); + + ui->widgetList->setGeometry(30, 108, 1750, 640); + + ui->pushButton_Execution->setGeometry(1598, 780, 180, 56); + + ui->pushButton->setGeometry(1600, 24, 180, 56); + } + + QString strPushButton = QString( + "QPushButton \ + { \ + background: #153B44; \ + font-family: 'Roboto'; \ + font-size: %1px; \ + font-weight: bold; \ + border-radius: 8px; \ + color: white; \ + } \ + \ + QPushButton:pressed \ + { \ + background: #1B4C54; \ + }").arg(nFontSize); + + ui->pushButton->setStyleSheet(strPushButton); + + + + QString strPushButton_Execution = QString( + "QPushButton \ + { \ + background: #FFFFFF; \ + font-family: 'Roboto'; \ + font-size: %1px; \ + font-weight: bold; \ + border-radius: 8px; \ + color: black; \ + } \ + \ + QPushButton:pressed \ + { \ + background: #D8D8D8; \ + }").arg(nFontSize); + + ui->pushButton_Execution->setStyleSheet(strPushButton_Execution); + + ui->pushButton_Execution->hide(); +} + +#include + +void FormWorklist::on_pushButton_clicked() +{ + WRITE_FUNCTION_LOG(); + //QString strExec = "smplayer /home/birdhead/Videos/1.mp4"; + //strExec = "nautilus /home/birdhead/Videos"; + + //QProcess::execute(strExec); + + //return; + + CommonData* pCommonData = MainWindow::GetCommonData(); + + QDate dateStart = pCommonData->GetDateSearchWorklistStart(); + QDate dateEnd = pCommonData->GetDateSearchWorklistEnd(); + pCommonData->GetSearchDateStartEnd(m_nSearchDurationType, dateStart, dateEnd); + pCommonData->SetDateSearchWorklistStart(dateStart); + pCommonData->SetDateSearchWorklistEnd(dateEnd); + + vector* pListWorklist = pCommonData->GetWorklistData(); + pListWorklist->clear(); + pCommonData->ReleaseWorklistData(); + + ui->widgetList->Clear(); + ui->widgetList->Init(); + + + //SThreadSendDICOM* pThread = pCommonData->GetThreadSendDICOM(); + + m_pDialogSearchProgress->Init(); + + //pThread->SearchWorklist(); + //m_TimerSearch.setSingleShot(true); + m_TimerSearch.start(1000*20); + m_pThreadWorklistSearch->SearchWorklist(); + m_pDialogSearchProgress->exec(); + //m_pDialogSearchProgress->show(); +} + +void FormWorklist::worklistUpdateComplete() +{ + WRITE_FUNCTION_LOG(); + m_TimerSearch.stop(); + ui->widgetList->UpdateList(); + m_pDialogSearchProgress->OnWorklistComplete(); +} + +void FormWorklist::worklistError() +{ + WRITE_FUNCTION_LOG(); + + //CommonData::RestartNetworkManager(); + + + m_TimerSearch.stop(); + ui->widgetList->UpdateList(); + m_pDialogSearchProgress->OnWorklistError(); + + +} + +void FormWorklist::SetWorklistProgress(int nValue) +{ + if(nValue<0) + { + worklistError(); + return; + } + m_pDialogSearchProgress->DisplayInfo(nValue); + //m_TimerSearch.stop(); +} + +void FormWorklist::on_plainTextEdit_PatientName_textChanged() +{ + WRITE_FUNCTION_LOG(); + CommonData* pCommonData = MainWindow::GetCommonData(); + SEARCH_ITEM* pSearchItem = pCommonData->GetSearchItemWorklist(); + + QString strPatientName = ui->plainTextEdit_PatientName->toPlainText(); + pSearchItem->m_strPatientName = strPatientName; +} + +void FormWorklist::on_plainTextEdit_PatientID_textChanged() +{ + WRITE_FUNCTION_LOG(); + CommonData* pCommonData = MainWindow::GetCommonData(); + SEARCH_ITEM* pSearchItem = pCommonData->GetSearchItemWorklist(); + + QString strPatientID = ui->plainTextEdit_PatientID->toPlainText(); + pSearchItem->m_strPatientID = strPatientID; +} + +void FormWorklist::on_pushButton_Emergency_clicked() +{ + /* + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + pMainWindow->Exit(); + return; + */ + WRITE_FUNCTION_LOG(); + DialogEmergengy dlg(this); + + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + pMainWindow->StopScreenSaverTimer(); + + if(dlg.exec()==QDialog::Accepted) + { + CommonData* pCommonData = MainWindow::GetCommonData(); + ACQUISITION_INFO* pAcquisitionInfo = pCommonData->GetAcquisitionInfo(); + + QDateTime dt = QDateTime::currentDateTime(); + int nYear = dt.date().year(); + int nMonth = dt.date().month(); + int nDay = dt.date().day(); + int nHour = dt.time().hour(); + int nMinute = dt.time().minute(); + int nSecond = dt.time().second(); + + QString strPatientID; + QString strPatientName; + QString strPatientBirthDate; + QString strPatientSex; + + QString strModality; + + strModality = pCommonData->GetModality(); + + strPatientID = dlg.GetPatientID(); + strPatientName = dlg.GetPatientName(); + strPatientBirthDate = dlg.GetPatientBirthDate(); + strPatientSex = dlg.GetPatientSex(); + + if(strPatientSex=="Male") + { + strPatientSex = "M"; + } + else if(strPatientSex=="Female") + { + strPatientSex = "F"; + } + else if(strPatientSex=="Other") + { + strPatientSex = "O"; + } + + if(strPatientBirthDate.size()<8) + { + strPatientBirthDate = QString("%1/%2/%3").arg(QString::number(nYear).rightJustified(4, '0')).arg(QString::number(nMonth).rightJustified(2, '0')) + .arg(QString::number(nDay).rightJustified(2, '0')); + } + + strPatientBirthDate.remove('/'); + strPatientBirthDate.remove('.'); + + if(strPatientID.size()>0 && strPatientName.size()>0 && strPatientSex.size()>0 && strPatientBirthDate.size()==8) + { + pAcquisitionInfo->Clear(); + pAcquisitionInfo->GetPatientInfo()->strPatientID = strPatientID.toStdString().c_str(); + pAcquisitionInfo->GetPatientInfo()->strPatientName = strPatientName.toStdString().c_str(); + pAcquisitionInfo->GetStudyInfo()->strStudyInstanceUID = (QString("1.1.22.33.%1.1%2%3.1%4").arg(pAcquisitionInfo->GetPatientInfo()->strPatientID).arg(QString::number(nHour)).arg(QString::number(nMinute)).arg(QString::number(nSecond))).toStdString().c_str(); + pAcquisitionInfo->GetStudyInfo()->strStudyDescription = "Emergengy Desc."; + pAcquisitionInfo->GetSeriesInfo()->strSeriesDescription = "Emergency Desc."; + pAcquisitionInfo->GetSeriesInfo()->strOperatorsName = ""; + + pAcquisitionInfo->GetPatientInfo()->strPatientSex = strPatientSex.toStdString().c_str(); + pAcquisitionInfo->GetPatientInfo()->strPatientWeight = ""; + pAcquisitionInfo->GetPatientInfo()->strPatientBirthDate = strPatientBirthDate.toStdString().c_str(); + + pAcquisitionInfo->GetSeriesInfo()->strModality = strModality.toStdString().c_str(); + + pCommonData->ReleaseAcquisitionInfo(); + + ChangeMenu(SMENU_CAPTURE); + } + else + { + pCommonData->ReleaseAcquisitionInfo(); + } + + + } + + pMainWindow->ResetScreenSaverTimer(); + pMainWindow->StartScreenSaverTimer(); +} + +void FormWorklist::keyReleaseEvent(QKeyEvent *event) +{ + WRITE_FUNCTION_LOG(); + int nKey = event->key(); + + SThreadImageSave* pThread = MainWindow::GetCommonData()->GetThreadCaptureImage(); + + if(nKey==Qt::Key_F10) + { + pThread->MissCapture(); + } + else if(nKey==Qt::Key_F11) + { + pThread->MissCapture(); + } + +} + + + +void FormWorklist::OverTime() +{ + TerminateThreadWorklistSearch(); + + CommonData::RestartNetworkManager(); + + usleep(1000*100); + CreateThreadWorklistSearch(); + + m_TimerSearch.stop(); + ui->widgetList->UpdateList(); + m_pDialogSearchProgress->DisplayInfo(-12); + //m_pDialogSearchProgress->exec(); + + +} + + +void FormWorklist::ErrorPatientInfo() +{ + ui->widgetList->SetExecMenu(false); +} + + + diff --git a/formworklist.h b/formworklist.h new file mode 100644 index 0000000..b16763e --- /dev/null +++ b/formworklist.h @@ -0,0 +1,85 @@ +#ifndef FORMWORKLIST_H +#define FORMWORKLIST_H + +#include + +#include "common.h" + +#include "dialogcalendar.h" +#include +#include "dialogprogress.h" +#include "sthreadworklistsearch.h" + +#include + +namespace Ui { +class FormWorklist; +} + +class FormWorklist : public QWidget +{ + Q_OBJECT + +public: + explicit FormWorklist(QWidget *parent = nullptr); + ~FormWorklist(); + + virtual void Init(); + + void CreateThreadWorklistSearch(); + + void TerminateThreadWorklistSearch(); + + void ErrorPatientInfo(); + + + + void ClickSearchDateStartEnd(); + +protected: + DialogProgress* m_pDialogSearchProgress; + int m_nSearchDurationType; + +public: + virtual void resizeEvent(QResizeEvent *event); + virtual void keyReleaseEvent(QKeyEvent *event); + +signals: + void Exit(); + + void ChangeMenu(int); + +public slots: + void SetSearchDateUpdate(int nTypeSearchDuration); + void worklistUpdateComplete(); + void worklistError(); + void SetWorklistProgress(int nValue); + + void OverTime(); + +private slots: + void on_pushButton_DateStart_clicked(); + + void on_pushButton_DateEnd_clicked(); + + void on_pushButton_Execution_clicked(); + + void on_pushButton_clicked(); + + void on_plainTextEdit_PatientName_textChanged(); + + void on_plainTextEdit_PatientID_textChanged(); + + void on_pushButton_Emergency_clicked(); + +private: + Ui::FormWorklist *ui; + + SThreadWorklistSearch* m_pThreadWorklistSearch; + + QTimer m_TimerSearch; + + +}; + +#endif // FORMWORKLIST_H diff --git a/formworklist.ui b/formworklist.ui new file mode 100644 index 0000000..88b2b84 --- /dev/null +++ b/formworklist.ui @@ -0,0 +1,429 @@ + + + FormWorklist + + + + 0 + 0 + 1808 + 857 + + + + Form + + + + + + + + 0 + 0 + 1808 + 857 + + + + QFrame#frame_background + { + background: #a6b1c2; + border: none; + } + + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + 477 + 34 + 368 + 40 + + + + + + + + + 0 + 0 + 368 + 40 + + + + QFrame +{ + background: white; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 20 + 0 + 301 + 40 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + color: #938182; +} + + + Search Date: Today + + + + + + 320 + 0 + 40 + 40 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + + 870 + 34 + 268 + 40 + + + + + + + + + 0 + 0 + 268 + 40 + + + + QFrame +{ + background: white; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 20 + 0 + 201 + 40 + + + + QLabel +{ + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + color: #938182; +} + + + END DATE: Today + + + + + + 220 + 0 + 40 + 40 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + + 250 + 34 + 195 + 40 + + + + QFrame#frame_PatientName +{ + background: white; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + 1600 + 24 + 180 + 56 + + + + QPushButton +{ + background: #153B44; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: white; +} + +QPushButton:pressed +{ + background: #1B4C54; +} + + + SEARCH + + + + + + 30 + 34 + 195 + 40 + + + + QFrame#frame_PatientID +{ + background: white; + border: none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + 30 + 108 + 1750 + 640 + + + + + + + 1598 + 780 + 180 + 56 + + + + QPushButton +{ + background: #FFFFFF; + font-family: 'Roboto'; + font-size: 22px; + font-weight: bold; + border-radius: 8px; + color: black; +} + +QPushButton:pressed +{ + background: #D8D8D8; +} + + + EXECUTION + + + + + + 260 + 40 + 175 + 50 + + + + QPlainTextEdit +{ + qproperty-placeholderText: 'NAME'; + qproperty-lineWrapMode: 'NoWrap'; + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + padding-left: 0px; + padding-top: 0px; + qproperty-backgroundVisible: false; + border: none; + qproperty-verticalScrollBarPolicy: 'ScrollBarAlwaysOff'; + background: transparent; +} + + + Qt::ImhNone + + + true + + + false + + + + + + 40 + 40 + 175 + 50 + + + + QPlainTextEdit +{ + qproperty-placeholderText: 'ID'; + qproperty-lineWrapMode: 'NoWrap'; + font-family: 'Roboto'; + font-size: 18px; + font-weight: light; + padding-left: 0px; + padding-top: 0px; + qproperty-backgroundVisible: false; + border: none; + qproperty-verticalScrollBarPolicy: 'ScrollBarAlwaysOff'; + background: transparent; +} + + + Qt::ImhNone + + + true + + + false + + + + + + 30 + 780 + 180 + 56 + + + + QPushButton +{ + background: #FFFFFF; + font-family: 'Roboto'; + font-size: 18px; + font-weight: bold; + border-radius: 8px; + color: black; +} + +QPushButton:pressed +{ + background: #D8D8D8; +} + + + Emergency + + + + + + STextEdit + QPlainTextEdit +
stextedit.h
+
+ + FormListWidgetWorklist + QWidget +
formlistwidgetworklist.h
+ 1 +
+
+ + plainTextEdit_PatientID + plainTextEdit_PatientName + pushButton + pushButton_Execution + pushButton_DateStart + pushButton_DateEnd + + + +
diff --git a/gitignore b/gitignore new file mode 100644 index 0000000..09c81ba --- /dev/null +++ b/gitignore @@ -0,0 +1,40 @@ +# ---> C++ +# Prerequisites +*.d + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + +SVG.pro +*.pro.user.* + +[Bb]uild +build/* + diff --git a/headertype1.cpp b/headertype1.cpp new file mode 100644 index 0000000..b365ef0 --- /dev/null +++ b/headertype1.cpp @@ -0,0 +1,430 @@ +#include "headertype1.h" + +#include + +#include + +#include +#include "mainwindow.h" + +#include "common.h" + +#include "slistwidget.h" + + +HeaderType1::HeaderType1(Qt::Orientation orientation, QWidget *parent) : QHeaderView(orientation, parent) +{ + m_bResizeEnable = false; + m_nListType = 0; + m_nHorizontalOffset = 0; + int i=0; + for(i=0 ; i<2 ; i++) + { + FormHeaderType1* pHeaderType1 = new FormHeaderType1(this); + pHeaderType1->SetID(i); + + connect(pHeaderType1, SIGNAL(Clicked(int)), this, SLOT(Clicked(int))); + + pHeaderType1->hide(); + pHeaderType1->Unselect(); + m_ListHeader.push_back(pHeaderType1); + } + + connect(this, SIGNAL(sectionResized(int, int, int)), this, SLOT(sectionResized(int, int, int))); + + m_pHeaderCurrent = m_ListHeader[0]; + //m_pHeaderCurrent->Select(Qt::AscendingOrder); + + setStyleSheet( + //"QTableWidget {background-color: transparent; border: none; outline: none; color:black;}" + //"QHeaderView { border:none; border-bottom: 3px solid rgb(0, 160, 230); background: rgb(57, 58, 60); min-height: 60px;}" + "QHeaderView { border:none; border-bottom: 0px solid #153b44; background: transparent; min-height: 60px;}" + + "QHeaderView::section:horizontal { border:none; border-right: 1px solid white; color: white; background: transparent ; padding-left: 10px; }" + "QHeaderView::section:horizontal:hover { background: rgb(0, 160, 230);}" + "QHeaderView::section:horizontal:pressed { background: rgb(0, 180, 255);}" + "QHeaderView::up-arrow { width: 23px; height: 12px; padding-right: 25px; image: url(://image/Arrow_top_2.png); subcontrol-position: center right; }" + "QHeaderView::down-arrow { width: 23px; height: 12px; padding-right: 25px; image: url(://image/Arrow_under_2.png); subcontrol-position: center right; }"); + + setSortIndicatorShown(true); + + //setStretchLastSection(true); +} + +HeaderType1::~HeaderType1() +{ + +} + +void HeaderType1::ChangeStyle() +{ + +} + +void HeaderType1::Clicked(int nID) +{ + SListWidget* pParentWidget = (SListWidget*)this->parentWidget(); + if(pParentWidget!=NULL) + { + pParentWidget->setSortingEnabled(true); + } + if(nID==m_pHeaderCurrent->GetID()) + { + int nOrder = m_pHeaderCurrent->GetOrder(); + + if(nOrder==Qt::AscendingOrder) + { + nOrder = Qt::DescendingOrder; + } + else + { + nOrder = Qt::AscendingOrder; + } + + m_pHeaderCurrent->Select(nOrder); + + if(nID==0) + { + //Resort(-1, (Qt::SortOrder)nOrder); + setSortIndicator(nID, (Qt::SortOrder)nOrder); + } + else + { + setSortIndicator(nID, (Qt::SortOrder)nOrder); + } + + + + } + else + { + if(nID<(int)m_ListHeader.size()) + { + m_pHeaderCurrent->Unselect(); + m_pHeaderCurrent = m_ListHeader[nID]; + + m_pHeaderCurrent->Select(Qt::AscendingOrder); + + if(nID==0) + { + setSortIndicator(nID, Qt::AscendingOrder); + //Resort(-1, Qt::AscendingOrder); + } + else + { + setSortIndicator(nID, Qt::AscendingOrder); + } + } + + } +} + +bool HeaderType1::event(QEvent* event) +{ + int nEvent = 0; + switch((int)event->type()) + { + case QEvent::HoverEnter: + { + nEvent = 1; + } + break; + + case QEvent::HoverLeave: + { + nEvent = 2; + } + break; + + case QEvent::HoverMove: + { + nEvent = 3; + } + break; + } + + + + + + return QHeaderView::event(event); +} + +void HeaderType1::paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const +{ + int i=0; + + //painter->fillRect(rect, Qt::transparent); + + + //QHeaderView::paintSection(painter, rect, logicalIndex); + //return; + + QSize nSize = size(); + + + if(logicalIndex < (int)m_ListHeader.size()) + { + m_ListHeader[logicalIndex]->show(); + } + + + + + if(logicalIndex>=(int)m_ListHeader.size()) + { + return; + } + + if(rect.left()<0 && rect.right()>0) + { + for(i=0 ; ihide(); + } + } + else if(rect.left()nSize.width()) + { + for(i=logicalIndex+1 ; i<(int)m_ListHeader.size() ; i++) + { + m_ListHeader[i]->hide(); + } + } + + painter->fillRect(rect, QColor(21, 59, 68)); + + if(logicalIndex==0) + { + //QHeaderView::paintSection(painter, rect, logicalIndex); + + + + QRect rectCenter = rect; + + rectCenter = QRect(rect.left()+5, rect.top()+1, rect.width()-10, rect.bottom()-2); + + m_ListHeader[logicalIndex]->setGeometry(rectCenter); + m_ListHeader[logicalIndex]->show(); + //m_pType1->setGeometry(rectCenter); + //m_pType1->show(); + + QRect rectBorder; + rectBorder = QRect(rect.right(), rect.top(), 1, rect.height()); + + painter->fillRect(rectBorder, QColor(0, 0, 0)); + } + else + { + //QHeaderView::paintSection(painter, rect, logicalIndex); + + //QHeaderView::paintSection(painter, rect, logicalIndex); + + QRect rectCenter = rect; + + rectCenter = QRect(rect.left()+5, rect.top()+1, rect.width()-10, rect.bottom()-2); + + m_ListHeader[logicalIndex]->setGeometry(rectCenter); + m_ListHeader[logicalIndex]->show(); + + //m_pType2->setGeometry(rectCenter); + //m_pType2->show(); + + QRect rectBorder; + rectBorder = QRect(rect.right()-1, rect.top(), 3, rect.height()); + //rectBorder = QRect(rect.left(), rect.top(), 1, rect.height()); + + painter->fillRect(rectBorder, QColor(0, 0, 0)); + } + + +} + + + +void HeaderType1::SetOrderHeaderIndex(int nID) +{ + if(nID<(int)m_ListHeader.size()) + { + m_pHeaderCurrent = m_ListHeader[nID]; + } +} + +void HeaderType1::ChangeHeader(QStringList& list) +{ + ClearHeader(); + + int i=0; + for(i=0 ; iSetID(i); + + QString strText = list[i]; + pHeaderType1->SetHeaderText(strText); + + connect(pHeaderType1, SIGNAL(Clicked(int)), this, SLOT(Clicked(int))); + + pHeaderType1->hide(); + pHeaderType1->Unselect(); + m_ListHeader.push_back(pHeaderType1); + } + + m_pHeaderCurrent = m_ListHeader[0]; + //m_pHeaderCurrent->Select(Qt::AscendingOrder); + + update(); +} + +void HeaderType1::ClearHeader() +{ + int i=0; + for(i=0 ; isize().width()+10; + } + + //nWidth = m_ListHeader[m_ListHeader.size()-1]->width() + m_ListHeader[m_ListHeader.size()-1]->x(); + + + return nWidth; +} + + +void HeaderType1::resizeEvent(QResizeEvent *event) +{ + int nDisplayType = MainWindow::GetCommonData()->GetDisplayType(); + + //int nFontSize = 24; + if(nDisplayType==SDISPLAY_1280X1024) + { + setStyleSheet( + "QHeaderView { border:none; border-bottom: 0px solid #153b44; background: transparent; min-height: 50px; max-height: 50px;}" + + "QHeaderView::section:horizontal { border:none; border-right: 1px solid white; color: white; background: transparent ; padding-left: 10px; }" + "QHeaderView::section:horizontal:hover { background: rgb(0, 160, 230);}" + "QHeaderView::section:horizontal:pressed { background: rgb(0, 180, 255);}" + "QHeaderView::up-arrow { width: 23px; height: 12px; padding-right: 25px; image: url(://image/Arrow_top_2.png); subcontrol-position: center right; }" + "QHeaderView::down-arrow { width: 23px; height: 12px; padding-right: 25px; image: url(://image/Arrow_under_2.png); subcontrol-position: center right; }"); + + m_pHeaderCurrent->resize(196, 50); + } + else if(nDisplayType==SDISPLAY_1920X1080) + { + setStyleSheet( + //"QTableWidget {background-color: transparent; border: none; outline: none; color:black;}" + //"QHeaderView { border:none; border-bottom: 3px solid rgb(0, 160, 230); background: rgb(57, 58, 60); min-height: 60px;}" + "QHeaderView { border:none; border-bottom: 0px solid #153b44; background: transparent; min-height: 60px;}" + + "QHeaderView::section:horizontal { border:none; border-right: 1px solid white; color: white; background: transparent ; padding-left: 10px; }" + "QHeaderView::section:horizontal:hover { background: rgb(0, 160, 230);}" + "QHeaderView::section:horizontal:pressed { background: rgb(0, 180, 255);}" + "QHeaderView::up-arrow { width: 23px; height: 12px; padding-right: 25px; image: url(://image/Arrow_top_2.png); subcontrol-position: center right; }" + "QHeaderView::down-arrow { width: 23px; height: 12px; padding-right: 25px; image: url(://image/Arrow_under_2.png); subcontrol-position: center right; }"); + m_pHeaderCurrent->resize(196, 60); + } +} + + +void HeaderType1::sectionResized(int logicalIndex, int oldSize, int newSize) +{ + qDebug() << logicalIndex << ": " << oldSize << ", " << newSize; + + if(m_bResizeEnable==false) + { + return; + } + + // 1. 어떤 테이블을 업데이트할지 먼저 결정합니다. + QString tableName; + if (m_nListType == 0) { // Worklist + tableName = "WorklistTableHeader"; + } else if (m_nListType == 1) { // History + tableName = "HistoryTableHeader"; + } else { + return; // 유효하지 않은 타입이면 아무 작업도 하지 않음 + } + + + // 2. 이 업데이트 작업을 위한 지역 DB 인스턴스를 생성합니다. + SUTIL::SDatabase db(QString("SectionResize_%1").arg(reinterpret_cast(this))); + if (db.OpenDatabase("/home/birdhead/test.db") == 0) // 0이 성공 + { + // 3. 파라미터 바인딩을 사용하는 안전한 쿼리를 작성합니다. + // (테이블 이름은 바인딩할 수 없으므로, 변수로 처리하는 것이 안전합니다) + QString query = QString("UPDATE %1 SET DisplayWidth = ? WHERE DisplayIndex = ? AND Visible = 1;") + .arg(tableName); + + // 4. 값을 안전하게 파라미터로 전달합니다. + QVariantList params; + params << newSize << logicalIndex; + + // 5. 새로운 ExecuteNonQuery 함수를 호출합니다. + db.ExecuteNonQuery(query, params); + } + else + { + qWarning() << "DB open failed for sectionResized update."; + } + + // 6. DB 업데이트 후, CommonData의 모델을 다시 로드하여 UI에 변경사항을 반영합니다. + // (Init... 함수들은 이제 내부적으로 DB에 안전하게 접근합니다) + CommonData* pCommonData = MainWindow::GetCommonData(); + if (m_nListType == 0) { + pCommonData->InitWorklistIndex(); + } else if (m_nListType == 1) { + pCommonData->InitHistoryIndex(); + } + + // GetDatabase/ReleaseDatabase 호출이 필요 없습니다. + // 'db' 객체는 스코프가 끝나면 자동으로 소멸됩니다. +} + +void HeaderType1::SetListType(int nType) +{ + m_nListType = nType; +} + + +void HeaderType1::InitHeader() +{ + if(m_pHeaderCurrent!=NULL) + { + + m_pHeaderCurrent->Unselect(); + } + + m_pHeaderCurrent = m_ListHeader[0]; + //m_pHeaderCurrent->Select(Qt::AscendingOrder); + + if(m_nListType==0) + { + //setSortIndicator(-1, Qt::AscendingOrder); + } + else + { + //setSortIndicator(-1, Qt::AscendingOrder); + } + +} + + +void HeaderType1::SetResizeEnable(bool bEnable) +{ + m_bResizeEnable = bEnable; +} diff --git a/headertype1.h b/headertype1.h new file mode 100644 index 0000000..cd2ce20 --- /dev/null +++ b/headertype1.h @@ -0,0 +1,64 @@ +#ifndef HEADERTYPE1_H +#define HEADERTYPE1_H + +#include +#include "formheadertype1.h" + +#include +using namespace std; + +class HeaderType1 : public QHeaderView +{ + Q_OBJECT +public: + explicit HeaderType1(Qt::Orientation orientation, QWidget *parent = nullptr); + virtual ~HeaderType1(); + + virtual void paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const; + //virtual void paintSection(QPainter *painter, const QRect &rect, int logicalIndex); + + virtual void InitHeader(); + + void ChangeStyle(); + + bool event(QEvent *e) override; + + void SetOrderHeaderIndex(int nID); + + virtual void ChangeHeader(QStringList& list); + + virtual void ClearHeader(); + + int GetDisplayWidth(); + + void resizeEvent(QResizeEvent *event) override; + + void SetListType(int nType); + + void SetResizeEnable(bool bEnable); + + + +protected: + int m_nListType; + int m_nHorizontalOffset; + vector m_ListHeader; + + FormHeaderType1* m_pHeaderCurrent; + + + bool m_bResizeEnable; + + + +signals: + void Resort(int nIndex, int nOrder); + +public slots: + void Clicked(int nID); + void sectionResized(int logicalIndex, int oldSize, int newSize); + + +}; + +#endif // HEADERTYPE1_H diff --git a/image/1/Common/All chart_.png b/image/1/Common/All chart_.png new file mode 100644 index 0000000000000000000000000000000000000000..bff12933f59ead70a356a6e5321344c076b8bdf5 GIT binary patch literal 348084 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

Vs= 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 literal 0 HcmV?d00001 diff --git a/image/1/Common/Arrow_top_1.png b/image/1/Common/Arrow_top_1.png new file mode 100644 index 0000000000000000000000000000000000000000..cb516a2e29baf3747ffb41f651bc2939831b0567 GIT binary patch literal 428 zcmV;d0aN~oP)N(vBLto`UM?y z6Y$!5bgkmt9%zB*(Jxn^Lgc2k>PhP%oZA6S1Uk$CIIHbK)8lX+StO?8wmc4X0`#D2 z8y1#5qi+Y8oV)p9(1w+zi)h2N^X*=(BsBurQ{}=0=-ub zLg7zDL9>ThhG5&3b`HjzNqD?Z^4s#oy z)x?|R$RZkz&q{UNX1^@s6PR1M}00009a7bBm001r{ z001r{0eGc9b^rhYFiAu~R9J=0mfH=2KoCW*#(ycn4xj`}paUtvQs_XaKue$m?7$MB zf;DSq6HpfRF@v0hKZZS-EHihfl!5>WfCfMdppZD=An{QEC4iKk4#1WD1l@7wr&7NZ z+~=$zZD5t>lrCnZ4f)o@U8FUgQYzbuxT`d)eC#;PXzU$5>w2nvg&w>QEsT%`)jVk4 z2NBxw6D^kz=^;-5XPWh1gmgTiZpBK27E}{b=qqkkc^Yz<1^uncx5)RZw9L{&YM)%= z)A34BT63X{2gJB!=gO*R^((h*UbH#`bW75-svTJn(^(_dp7YL z!2OTX2CMv(c+4u7U^3TykHf7=!X1^@s6PR1M}00009a7bBm001r{ z001r{0eGc9b^rhYUr9tkR9J=8mcdN}F%U(6wt;ZR2Rhi4Kmk|+37-QUrGvoP2Uclr|Rtb^!L?*$43k0Gb+y0@wg( z0j!lan;H$o9aq{s1>kR=AHB2TyO=~Bk3a`)l{TUyBjz}PZD)SF^Uih>{Y1bMp@ZH5 zTzhBtr9F#Bg#jJ346lvSW>wm^$Z-M)&)$+*8k}EwXAil(vmGyh2Gw-*-e)Pxaiz^w zST32+$9koif8!Ri9VeGM0cg;Y+T|3oz>ijWo6{_!mfnAsxQv4n_B=c=b)QW6#fTz z;VQ48leuPeIsYIuV!7tial!miOQT%VKt6xe(kRz7mGVb5_#qlBE^qF`c>D+GF9FXV XVib-oSAT3U00000NkvXXu0mjf&4aVk literal 0 HcmV?d00001 diff --git a/image/1/Common/Arrow_under_1.png b/image/1/Common/Arrow_under_1.png new file mode 100644 index 0000000000000000000000000000000000000000..a1791106157eb03375f9b4a3f14e73dda3930a60 GIT binary patch literal 419 zcmV;U0bKrxP)v( zE{(Psc)U}-*Cy92yjQHg^LkW_i{U#IYieb(c@yJH59ph3RZ8}NqB_j$a`A#x(GPrz*is`CjoqnOr=8im?T}-S~^|a$j};_yA@l3dKCGP~iXo N002ovPDHLkV1g-~ws-&l literal 0 HcmV?d00001 diff --git a/image/1/Common/Arrow_under_2.png b/image/1/Common/Arrow_under_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c5e97fd323270fc94c9b5bf2d58e01946c267b1f GIT binary patch literal 356 zcmV-q0h|7bP)X1^@s6PR1M}00009a7bBm001r{ z001r{0eGc9b^rhY7D+@wR9J=8*5M6;Fc5~}S0-Q+9l=p>14qJ5904|g32Kg1qe#oO zlmcJUAJis1HhOm_V@v~_IaVG8a0S`}u^&JsH!cq)@I1iHxAvmD!ftf(Er5Pwm@gl+ zoGHEzHui%(;(ySL;OrFN+h0TXy*Y+s@%MZ#Z+d%?&G^t1Tv7wK?Yu*rXgqLsfWN!Y zL!=zetlH#HHRsa6bK_^xA@E%ITI&gcmonGv0UZio6CZ?@^`2Eil6tQB>x!EA%AqSM z=b9)qk#G`?2GM91z*&f&oIgUc1Wx2!<89^Yg#Mcyt5Q~v&KPq^@y=9mEnd|XbHkbG zuF24Az+L#H=(XTud~jFPteDQJ$-BEs<&d(MHoyy7fIG94KMctL0000X1^@s6PR1M}00009a7bBm001r{ z001r{0eGc9b^rhY97#k$R9J=8*1HYDKoErCA4C@v0VPlXAqAKYToM-((unDS0-ytQ zcqN{9>>g`lPvpRYPaAkH?MEJ!D;b3VEaGsElD&f zIK#l#DKt4acYNrCmCsiGJDDt8@Kw+FuV^%I`o#wg8ZBH>cigT)4y1}2-tjarp)p>( zEBvvfH%xH+cgl*0KP|8aj&e_c7Isn z0!O!NR8_8x8=U+!a7E({=QCctKP;Jf|DYs(X_i1^t#Va>E9)n!Z=$R;^8f$<07*qo IM6N<$g1i!v#Q*>R literal 0 HcmV?d00001 diff --git a/image/1/Common/Button_1.png b/image/1/Common/Button_1.png new file mode 100644 index 0000000000000000000000000000000000000000..760f3d0e9306969bd8e40d560fb76f28511f33a1 GIT binary patch literal 1947 zcmeAS@N?(olHy`uVBq!ia0y~yV0s5+zv5s6l7EE{d<9aR1s;*b3=De8Ak0{?)V_>? zf!){B#WAE}&fB~Ge$nY7#~uosP4Ih_d4kL1_|_KftHskMylIe~@~%Pkf^5Y*$Id5} zC-^R{bpOZ|6Z_rRXvTkwg7~kMDrpas3XOiee6d?Tf7NOY`Zfshy$}@DXt@@++BJY|X z?&$t199_!5P%&kFXsOkF-}7?6d;7V*A1wH@@V8@VX@(sG!-tglt6x>v&5pDA!dT7! zw;ibI_J(@Fw?LVk*x>ri-oFap^X{-8{^q2cc9ZSUPb-~94B)_@WCvI2ah}X1sgz`^CD7{iZ;{`r>FF28KNy@4n6ad;8JfW5(~KXO~^%V_?uGy}QY4(;80^Ob7|(5bTR=6B7CpY~MmUjDb6k&)rR>ffoK=Y4-I z{XO_IBSS;nj!Vy`KeUtRv$s-WW?#wV%nS|;4}tz+Y_VowU=bJ<91W1s z#4vO-!mfgN2@y~(U&Q^L8(duM2Ic7s^@n7E#s8W^wMoEg;6nD~y+3n)?OkOzTNtSJ z((`pUuU~hZ2QD5it-5;sp)pH6cjn`JM}ND9)*7h;OU}UgQQi4F4ez|( zUtur&9$0`U*==RpfAQMsmDhRO9tZCJ@^|e_pw@G1&uuxMe);omxtiCeiAo#l`Bt+f478~QgD=<*LL zvEKXZeYRXrHh(u8=<>SIxm&E&=GFsih}*iisu!yRHQf%b^Y`cb?%VwE#|qY(aYSV>fcU*bN)TXlzoM4TG+JenYn$vygC?9LyaFZVp}d*Aas_kLcV zvUgcb|E;^W0)T%~A|nN0lMBuN-hxBDZ%5Ap8eYmtOcMe`lGYlgKuOOBz#mUy97!#> z#y`O$ znFi_7+;aE;DJ>)rx8kz3sxJR)=#Ol48eY$Z+v{_N*dDkTvYM>?6!!Kzedc$s0G;l%6HJ zB211|th*l%kTJ&T9_OTY2_!QW$lekl+-JhTc>kb5!*%+;WA=87ZNvA!26#Tj70R?h zGh|ucytkL_v?M(V0GO$_U{*gJYN^5#J^6LMciJ{XPiM8jBASs*zR%>);{HIQ(DT~Z zrEAK&(asvTM85@qW{xWNbXl!x`tt5u0Mf%PgHxilyUV&r;Q+Z0GP38-loLI8`zL6Z zkY{|>vHmi=Q4G`y-KQI@JhN=gh&tUq)KRiBZ7gE`sXdPckT1M7rY7jo#i+c!W~5#Y z;HpD|cOp|$f_gI~c*giLLo*VRwsCr=B(=6jVfJw+;wyP-52v ziqQ|w`gy7-7)Yqs-~2^PeKox@g|!ZyzZCbqPl*TR!#|^lWa(e2bck$x2f~K@^A4V> zozLgrEKz4j3f@Z|IUED9cyM8V)kU2^(>)PJ$vuZk4^7{QfQYwQTzT~9Fr)}%Ha)6r zG^vdRbh0v}dIvyP!=zz?(CFuxjj*tF2vJ?tlZJ6}{4N)VVv!f3vv<6HCdkPdYKm?^ zJoW}P<#DuGrx2&P8UvkyYDSQw=6NU4^OKtqYteqQ9XVVv8Sv~f_w3+T%ip$(Rf56! z)QN=x7d2GgE52t8b+vDsz&mXr zZvqs@X=!{}>-4$Y?nl`_ex|k>k81YRS4prST`ezKQR2M1x;q-h_1Vyu_t;+>^n1J? P)mlh;o5i?yH1ooLz#f4u literal 0 HcmV?d00001 diff --git a/image/1/Common/Button_2.png b/image/1/Common/Button_2.png new file mode 100644 index 0000000000000000000000000000000000000000..80af6c58f3a1ff181f0ce8d76ccee253973d5d25 GIT binary patch literal 1887 zcmeH{{ZG?Z6o*d>lfr;u)DUP~>qszhjFB}C972I$Dj`%bb{)lvkxi)5m&t&V+5#He zup%sG33k+>xTV;R;(VzE6q+rAFi=(tl$5qm*_5=jNNV|3N@2JAFP8AbeL3fzd(XL_ z-21c?(`hkLiBSL$Q*bo@H~`**=1#&6)CYGNd}xRi94)N@NKFbgobYFA9YDm+g8bYQ zLZ#bgE9qqJmKwQ`fk1PpS zn(xoFN{Q`XJ`k@8CyhqcKNm_f)9$EC8AVKqXXQl;4#*ST>SuEm_V>+w!9Ayl9vY+e zBxCrkIUL}&n7D67lqt7C8ZxDD2nhqPwWR zgtZ_2ucVY^6~p(aDgv6AnN?h|g(cFcs;&Fojd!@uu{XcQ3sbBruF1oqp)<<@y-!H3n5^y3i#&|}Z72;@KJx-=ds=PLAF~9nb?*hR zoAnLDSo3s|WAhIM3h}4OddF72pdO%{H$O*$l3eC#k=^`z@OhRS;IAv1I(u-$S)!;2 zWwm8gU6oYSF7oD(A?~*gv=gzU{}v8a^-74I(X&Ve_5jD{=$R1E{vHmQwslS)8y5-i z=6tdh2R9o{`>d)R@1VHOm`ZD(=G?pz;AWY8pS2@&S@9f&1hCX4Kx)8ms9-#y9)Lhb zTggq^&TT=qAH)CrBN*a5^DzkO18ZUeR!G4^la?Lp$WBKHU$ShNF7$7lWNcmE1@MjQ z)oRbgl>{8*bfk{l{^T+x6r5^%ur4@p)_;i8iHYwc2QNi^F2f?p;vtwgr!FFxe5mT3 z=BInUav@5w`)xY2C0%712!k9d?~(hV?rYKw=Jc&*92jH?ylV>Wkl!vH9xEvuNBCLc z8-LhnD{^EjYp9=+5gy}45guoEdoJ@CwP)x6ueEfReBN8EXAUm0ABTYA8#9pYc~Wr&|F|?;p~Q*c08p z)~f+EXE1s*-it0%892pgJbZAL_HiU;{DsZ%4wj-iKX264EPFd1Gy0JCryJvnhq9X2 zsFtm_z6McrSNs#nQ_(%Spgf&3%1L&Wn~=Ixy~95qx3oBE>rrn(v8m^7(!$Ug1b8So LLeJOcoxb!h4X|PB literal 0 HcmV?d00001 diff --git a/image/1/Common/Button_2_select.png b/image/1/Common/Button_2_select.png new file mode 100644 index 0000000000000000000000000000000000000000..1289ef0bfd2796dcdfd4653151d540662edb9d90 GIT binary patch literal 1928 zcmeAS@N?(olHy`uVBq!ia0y~yV0s5+zv5s6l7EE{d<9aR1s;*b3=De8Ak0{?)V_>? zf!)f}#WAE}&fB}^18=)a9Dmr#R-koYyR8$uqG$_WleULf0cRQe66PRB7xseW{2fg* zxK8NA847jme{}x6b=^EkUUoLds@fkv=B92ftgMW@b~WmEfY(j!rEm0V?nM3WWMoh{ z@2dGU#U|}?bv?po3|$W(kb`8os;-p`kVb( zb_RyHGuJmZ)_>sn)BMnG(cb_53CC*~7#qL$T~zJkH*eP57yLP2l9Ay+%HK=o@2a0MGcZivrhW$)5WmW* zcf6MpVPNpNHLn2Z+?Ts=?Z}q|^RF%Y$-r>n3uie41BU`otwIAx0mC7n9ZVdff};U4 zniz(7M)*=-Z>GV(Fk{POxp&XgSb&8>*}cQHX>Pz0Ce!#Kuw1%qetXTS)l8>rwls2ko072;xq^_{ux~z?Y-fK&8>+ zq{5wbvhTJ5s}cjv>$ktb zd9mTFnv-h_ryIS$7j3M4pMT}c>PnzTC(BL``d5{+;k>Qoo##>6 z)sJtTus;K=Bjvu7Yd+m@&8qsG_t!TC^Rw61N{AnM-`igNfq~(}<3GQ0Z2Gd+-oIYy zdyVh=Y_}8NADevc2g+=IaXh|i!TdGSue`l9|1%dXy_>P@*0-I&s+Gah)z4*}Q$iB} Dm@<50 literal 0 HcmV?d00001 diff --git a/image/1/Common/Category_tab_1.png b/image/1/Common/Category_tab_1.png new file mode 100644 index 0000000000000000000000000000000000000000..c3a008ad8638e3e94b2b9f8749a994d3551c2e6a GIT binary patch literal 5300 zcmeHLdrVVT7(W#Rhqj`Tnb@*cWno(a=y()l(2FpEY&4tWg2;2~V7yvN<&DsY88}3` zmrg*)oS@wDP`tQR12kuKo#8W7TsyG|NZBlwtC1QM zj;ZP~Hl|9Y>6A(5SF1=qvSh9(hMSgktdXg=_tjY9FQuR>?kr`0ncF}?*}EWmh%++7 zYd%3Q?n|_P#lqhLR;_&VaoTCmY~8(%hrXolpEQR@Sz91RXMsD*(KziWz%8R?WnP(s zO&SZ!qUNq@cGKlKM#2hpGN!tWHA-Pi#yr~n<-a*UwcfZ~&fK^>UZJL7ssk@bkOs|r z{2zF24%-%!XTinj))|7G!`=&0x>|T{1I;| zyM;V)iHda5VI;P$qn?`5Vh@4>PUf*-L=lx8?aXP|?I$Z3jUD2I(Y3b{U_7krId6(P zY?63b?>rl|43t+a!-Tdx6jkG~(<;B@a$Ht?4BfimbhbiS6su2CF4_?94$rjXWJJ5R z*Ws%F8t}W1=Q`UkYVs;9CW@w$<*$FyOqw{jeGN3ZGk@sC)w$+jaOgQ4B;?1AusD*q zh1B(IBg7Wa&Q?p7P4MiD1jwha?J$P1fhG*A=1uk4ItiYfG>FZGI9sWAC>ep+pj#UX zw4!lX)aAl;cUsjpg(r(ttVy^u%%|z|Cc@AB<5`5_rJ6d(I9H$bu|#hKokQ}4F5)e*bBs7Aoc>W7w`xWM*(pZ z5J$lqJ_Jyi*ixQ!NqqfFm@WeJ}zcU`J-i!9qT+=~zl-g_flk+YrG*b}BuU0p|EjZ4?;KLw*hmUE zWJDEgoEU=68Yqs4AF(4#s%JL*gIcYDJvorS_(?185}ulwq*Ph5E9y94RXn*C(yg%) zVMCU=s}t^At&GgrdWKoDQ)p*U5t^_0#aH>GOTWHzjWmJb4JDDPY!a>_4WpyLGkd8& zJl!AcAKf8LqjpO$U8@Uh$?$X`rqc+k>49#0fVf}Zb+a_{fD8dO=WZ0<;7t{lY43dG z0>oENFig<~ZU98-d@1fjlb+twD6iM8Wo#{K%m_v^dhETo7x$$@G=P+%sPw92cHW+{ zGRPm%3>pdPj`2-jpuuR;TuXz(2sTVHdo+zbIl!BGG_Y_Pdr4}afB(9L>4dp{LEn$r KUNw6oj{gmaV1xz$ literal 0 HcmV?d00001 diff --git a/image/1/Common/Category_tab_button.png b/image/1/Common/Category_tab_button.png new file mode 100644 index 0000000000000000000000000000000000000000..639d7b02422c310ac9cb37b66929d5ebdc321a6c GIT binary patch literal 2373 zcmeHI`BPI@6uyB10fu157A1tD#Ti;?nSu~s!2nfOr-n7y5J;(@WLhY(EG9&jA(XTY zq;L2#CFD|BDVkyt(h3ch33F{pQX0 zeVIUxadE;s0RUX$Vk46Puq6P1Ie@i?nO4amJvNwx1f)`)>Lpu*xTFtc!m|I?LeQS_k^50^EMxVisRZ8brB^)u6f2l zdW@W4j70NkP!y)Cg$B{ zryY5JK;m9AnSH+%_;8Qr!XTbS4Ee!6CRDng2$yRwRGqoD^umiYsA`N}o9?m!z|WFI z;e4%Cn=)^zjMIn|g&Th*uL~Z^qM>Bch8qAMOc+^#B>L8QFL}!JF*^YI2DqIR{%(Oo z6zsot$uQhzA?n}JLbQ@6Gr3~{;r|62E1ho}eIP%D?dY~d20(2<|KJ<QFx{08cM--cUcU%6fo86w-{bv1-QdR^#^&-)8+K z2LQf#9f3Ex(9pR)>I+}`Z)m$(;KitF7g^jn>=FrHF3Xe}Sj zPr5>zBgj*s9t)B5t&78sF?&3HjMk2+ry2&rVs==#ItDJc6T+t!cIUQFij*oGdx;Ol zTj!o}kTCA`O4Ie+n~8=?0&lT10B@;=N6JE-w=cIU6F(G*IAunMf72I+N9K~9SF@Ru z<^{{(I`oHT>YK!ne528rnkF-4D^5^yC~LQUt$tgiJ~^v8=)q6L2{!Pa`7^)ejynKb%l8Y-pU4Wd z9@7YNI*mn;@x$If4995Bsytg+ag6ak1bNiWo#Pqq4rF)*0bn_mF5^WukczI3C`w!e z?7Sxu%|p?net7p6H&)TdjX_24;&F;{^Hp@)?yPdxQX*{;dL{sIQRK)gM=~q_0Vue@ AcmMzZ literal 0 HcmV?d00001 diff --git a/image/1/Common/Category_tab_button_select.png b/image/1/Common/Category_tab_button_select.png new file mode 100644 index 0000000000000000000000000000000000000000..136f2359dbc1e2a012aa9a53e9d07037b81e58c0 GIT binary patch literal 2391 zcmeHJ`!}0s9DgtiB{8i_P7;Sz+s&vmbH-bj(H{3}8>!Nit)dtqaV>&ndRkpildMNv zDn+}9iaIE%u2Uh^vFa&{OIyZ?8*L&9Y4J1J@4oFen0Q|exB!iKF@cj zBLdL}a0dVY=-?nfA^-*i0Q8O+y$=z=Lw5yy8PkJevjK3n*FAdq0-rpH83+5FB<0^( zo*fA%$6^N*hj4Z_eI%wQ)`KbROI)(dG8Fb5#?!7iVjD|+4V5{*9!8d*ddy=@u}Ys! z)-grFkp`!OfkkVo`>S<~x!Jk7%2w7u`7UwjqDJ`5N(C{`bB_Z6GklgyY|Qql>OZ;n z)6&;@R)pi9MT9yG3b;KHUswRJbz59X91eA`j{AA=wZsJ%$tI_0x68})0GQWCg`B`+ zcB*7rGdyZA#Y@NuEw;b`@He@;+2oqyuFvdz)df!^K>0$`m2_gQM;|cVl~HksDQb6h zN&76#Fi@6y0Rb2QXhd&iX2)=w`VKF;@w4s#~=&~uOpw-rI=PwEck`LYBNJn?tyyG_#=pt8qf&l9l<`X#Yqr#DTIjkTSevZ6jSp#77qY1n2g+4q=8qej5vv4Vn(MxH7 zUB7&*D@=F~1;7XP2-E{BfxGqG23jF?` zzd4NI2ybpej|^&(WTxw!x9<{~9a?S(fPQNlJuKV`+Go2icn^!wsNJPn=*d0YtV;tr z%U!X;cTT>o<2gaoz1KZZZ8&&U=dw0JPLwwlnW3CLGzNJ*=x&(OFHa$3IML9Ic}T$ytu6ye&AIcW zN*7UM_osP6mA467HN}Ts-giSRUT+wGCQm8z!i2*~^8MpTgb`bd`pwa6{D46bcTJL` z2bk95QwTL#VqNHh3~~NMtZiVce&A zokJWLjixYmUr$=$O-86*kFw}oTd7(c7gaK^f#cC4iZ_-QJbKs9OI%!G9;aoGP(1;V zhc}T~WB!}er%8NBFJq6r>s(^Mpzf`uZIrO`S{e56A`oW6QRYd@STKLIJFSanZls^0 zBrVCSCoz@vqEG{~A}M65%AANlnEUXrcvfyMj_}Wnitm1z@`U$N56JiUb%RZ`nwpF( eH_A}~cMpWkn5$kj5j9Xs5bPh}*Lv!!(tiOj?6qeA literal 0 HcmV?d00001 diff --git a/image/1/Common/Chart_category_1.png b/image/1/Common/Chart_category_1.png new file mode 100644 index 0000000000000000000000000000000000000000..17a14c4b753d208e2ffde82f50293fadad9fb7b9 GIT binary patch literal 1519 zcmeAS@N?(olHy`uVBq!ia0y~yVAch)e{rw@$u);p@Bk^!0*}aI1_nK45N51cYG1~{ zz`D@W#WAE}&f8lXbD07~To1Ny?aMh`#Oe3qa_*!6mI-THTsdYR=1h~Sh~IT_;=jDK zb<7M57ruN?lVD(2;Ijp2YUUzV1_qC4Ir;BDch7(N_;eNn!-30l``aV+m+#&@J7Xv7 z>EGY`OBom%mfzN$?eftU=#mU!pxYc~WiT=@Tyo)NV3?p51(Y|r$i%>~q*IK6LBSVc z@Tk(!5Eu=C(GVC;A&^^HbEnEO5?B&ebiUq|cP?+y(;Axyb_RwMA3(*U2g0wr(w@nC YhYI=af3o`{u&ib9boFyt=akR{0JRZd?*IS* literal 0 HcmV?d00001 diff --git a/image/1/Common/Chart_category_10.png b/image/1/Common/Chart_category_10.png new file mode 100644 index 0000000000000000000000000000000000000000..dfde6f75150a4a16502e26f7df3c985ee0b71e90 GIT binary patch literal 1253 zcmeAS@N?(olHy`uVBq!ia0y~yVA2M%e{rw@$%J6`ZXm^3;1OBOz@VoL!i*J5?aLS# zSf+crIEGZrd3$qXr&FMa>&4YI%2N*t`Mf#&&v3JV;~6%Q;Ipah*`^=#=A;~sK6?hJ zf7ZF|!wd|mNvsSW!rBZDw?0+gc~>zjb@z5Dh7ZNtUq5|)a(zT)`>AK|6J!|_4w?%v zOi&ABXfWBx#IU4OltICF4Ff|aO!KS=MutmAxJH$Xh6{tkXkr*CnFLg3{C}Kh$e@sH oYU~dzQv%cPJ0KFk1yf`FOn4~*dK| ze={%~i2kvUm4RW23nv4^1RqlsWNGmMr5@Dfqyy!yX&`^$jEX~kt=N$UnI xY9pRLidJA?aBzrWWME)9A_^=?ql}B$`yO%4>;A-~4=jEeJYD@<);T3K0RTDqa2)^u literal 0 HcmV?d00001 diff --git a/image/1/Common/Chart_category_2.png b/image/1/Common/Chart_category_2.png new file mode 100644 index 0000000000000000000000000000000000000000..4d7df959002aa3e36644866d6cc64dc3169b6203 GIT binary patch literal 1457 zcmeAS@N?(olHy`uVBq!ia0y~yU}grge{rw@$-m*V^MMp+fk$L91B0G22s2hJwJ&2} zU`_UPaSW-L^Y)gb7jvM9>p}5M_rN2n7KQ&;2c1yq=mEG4a|K+8f z0~-6}j)f%ygGnbN14D-pkT0+`=KQ|us(GpP?`;_v4z$hT(=WE#^G|w9SEDz_9Xp#{ z)(i|eC%)epY#G)fW!UbXYsKU|U8BG-6 zd^VaD22EC&_WGv1{QG-Mz>@9E`|HoME&z*0K3)a}+kKpj$VHl~@n?3jNu0*}aI1_nK45N51cYG1~{ zz$WkM;uumf=j|;+Kc_$u*Nfdh!@PQ&7ZlF(o80EeaM#~p+K22C@oe7*`<{eYSMHv< zlNV@`NzHx@XmmFw|9W>kw7kkoV%1sWrQWQ^+ypurQALKqnsJOn{rSi%tsB!fnk zkA}=>B2XAj1fz+7l0*Iec*rRT4^z`c%FXwq7<-%{UaS;k5=efr9ESx X;v?j@;=@`qpb7?0S3j3^P6fofk$L91B0G22s2hJwJ&2} zVCnUAaSW-L^Y*5p7mK5S!^J2`WzmluYWMzgRZF(|y12x+#u%2U%lx@mU0Lo}`e|Xg zaj_Ib!~gC3H>5BuP_kiY==s3FV08NDg4e&>BiH5aVPM#B^5X}K2A t{k`z;H)+pOwlX**yhkn%j-C0#Pfofk$L91B0G22s2hJwJ&2} zVCnUAaSW-L^Y*5p7mK5S!^J2`WzmluYWMzgRZF(|y12x+#u%2U%lx@mU0Lo}`e|Xg zaj_Ib!~gC3H>5BuP_kiY==s3FV08NDg4e&>BiH5aVPM#B^5X}K2A t{k`z;H)+pOwlX**yhkn%j-C0#PnVdUW5rT?pbC~- zo-U3d6?5L+G|X}e6mh+n{Uc0`r9I)X%^dreMgoqPSohs{#qwwNR<{p&%Wr-tGv3U{ zzz|*j(?F5Ip?L!{Lx%v+5W&-*CFd{ytkbUln~7o1#@Fx9pMD&7=$&Bc@Ar#k85zuu zh3halw7^v#;$u*7y1~fc!ePzOz>&z#AfWh$fkCN7c2v=55R9gR(TqU2EZAr>|KtDi x&AJQ+*xsh4naVI6coti8lnGI!1Q-~XZ`!~$Pwn#*MPSj#;OXk;vd$@?2>>cVI?ez9 literal 0 HcmV?d00001 diff --git a/image/1/Common/Chart_category_7.png b/image/1/Common/Chart_category_7.png new file mode 100644 index 0000000000000000000000000000000000000000..6a311845c4d1e620582c65b3c0cf15c6ec8b7c13 GIT binary patch literal 1042 zcmeAS@N?(olHy`uVBq!ia0y~yV4MJC|KeZ+lKsmCU4Rs4fk$L91B0G22s2hJwJ&2} zU_RpM;uumf=j{!{EGI?**NcI5T2m*eE-C!~+Vio}6+eR|oEa(~@@xI<&t~hLNlSaj z%%Gji%jTe{z@Wm!=}P{9>4v&{VKzc>EdDx zoec~VI5ozcF)u0JkT7Td*jTRyFLtSp0=_&D1o!!fhyzAyuNh; V4C#LyUH~&WgQu&X%Q~loCIC8-5aj>> literal 0 HcmV?d00001 diff --git a/image/1/Common/Chart_category_8.png b/image/1/Common/Chart_category_8.png new file mode 100644 index 0000000000000000000000000000000000000000..7e0fdf989e7acf8943cd00944bb6d4fc452b58c3 GIT binary patch literal 1163 zcmeAS@N?(olHy`uVBq!ia0y~yVEhSW|KeZ+l8Zv^{sAe@0*}aI1_nK45N51cYG1~{ zz+&s^;uumf=j{!{ET%w_wu{*_LOMIVJto)gsK1n|*mQ$adD}UzXOHKI?l~P_^MTKJ zGao}h@lOLy29r)31{V<4eV<l literal 0 HcmV?d00001 diff --git a/image/1/Common/Chart_category_9.png b/image/1/Common/Chart_category_9.png new file mode 100644 index 0000000000000000000000000000000000000000..129d5770c2da36217fcaa7b6ca3fee04aba72549 GIT binary patch literal 1144 zcmeAS@N?(olHy`uVBq!ia0y~yV7v}w|KeZ+lAjOq&IMAO1s;*b3=De8Ak0{?)V_>? zfkn&H#WAE}&f6P?Ue19ct{0_$h6Nr`ykYS_P;&{VQj&<_q)UIEiSLeCy>HJW6X|<- zY3G<3Qu2H_8FUL-8)ocaa>&_P_wL=x%4vW1&Sgw!zWgxNul;&``|2HWhpK*m$na;l z@!0h(C@X3eypmoN0>#jjfez@mh~)78&qol`;+0J`E| A761SM literal 0 HcmV?d00001 diff --git a/image/1/Common/Chart_contents_1.png b/image/1/Common/Chart_contents_1.png new file mode 100644 index 0000000000000000000000000000000000000000..82dfcc420f1c9ccdf7a7819f4e5b3b2a0310fb42 GIT binary patch literal 1482 zcmeAS@N?(olHy`uVBq!ia0y~yVAch)KXI@DNrwqqi9m|8z$3Dlfk96hgc&QA+Ltjf zu-16GIEGZrd3$?f?;!^f*Nf-7oL;b4H3n(0mK&+&cxtz27rkbC-r|?GL_9XLX68&& z?1IEGZrd3)P&;vokChl^?4j1~u(&ULV;G)#Vwpz3l;?09Q-SAC`b0iV$CFT>T^ zXGW$yvjUoS|N9@q5(b6^Dqai>4O28285n|&e?NWx`R6-%=Fvc2S^56^&p%fDvHqs) z<+uEDjGp*qcA)6?b+3<4oR<$&pc%--z_7%HlYwD^5YVj-UQ>XkjtY(j$Y^31%?N|I zWU$&7zc2T;&gmp=28ILgu9g0^_+((bo@u9)IRk@0Mb$o5nA@xV25;JHH#35nf#E}` b@&5XgH^pDsOntd%DkhkQy%c zJ}qtL%+Em6KCJ!S{}M?5^N(RwW978JRyuBURdniD_;bLO*1h0dh8ylLvURyah&2{)ze9-Z|C7+tHy?Nz(Bjfdq z3=BneYh)N0W*q?<>Cy@0ckHU`+q>@do%iM6fkNt^YV4kWtoS4SLYr+`>df13)7~>M z6co+lWMpudBEi7WpkWA96_^Ah79orf0=iZ}73f$6FCKd(N>`(aVl*qztE4FX zD^q>{`^{}gTe~DWM4fQuh2> literal 0 HcmV?d00001 diff --git a/image/1/Common/Chart_contents_3.png b/image/1/Common/Chart_contents_3.png new file mode 100644 index 0000000000000000000000000000000000000000..3f05f45fa6824bf21a1de9eb078a517ceb355193 GIT binary patch literal 1582 zcmeAS@N?(olHy`uVBq!ia0y~yU|tPmf8t;RlB>Ie)qxaefk$L91B0G22s2hJwJ&2} zV13}};uumf=k4u{yiA57tOxlQ8N{c%r>a{mWbtx162l{X#w5X8KkDSZGiPSaOa_{= z;9;F93y?NV5@ld$kl6^d(&60OH%`YNa%%&H_ixO-ecf{T#$DHpIDy>y$C3s>$`VO& zUj!=ygM#}SCI*HH%3+KQ3?~FZPJPl53M7k;XpJf#4VlqIFq%C^O9IR?^3FNEE$??P z1s0J%W}iN@W~QYNkm+#bu5kj8hL)Z4?N_g#Svdn(@He!~d@ill&9f&y)F}_BfWgz% K&t;ucLK6VUh-bL~ literal 0 HcmV?d00001 diff --git a/image/1/Common/Chart_contents_4.png b/image/1/Common/Chart_contents_4.png new file mode 100644 index 0000000000000000000000000000000000000000..7b42fd10fe315bba5f1da3278911fd9dd0e1c4a6 GIT binary patch literal 1210 zcmeAS@N?(olHy`uVBq!ia0y~yV3G&2KXI@D$+r^AmjEfw0*}aI1_nK45N51cYG1~{ zz>?$X;uumf=j|=W+`|q64i`N|8QM}j8XqWZ=2GP0StzhdZuO6}r}OVI8)%=6+qb29 z_RP|>Z;T8-_B@}i%FLkpk&$7^5q5?NyXMPod%v%Nf#JHXTz}=>xc|@Q96P>i-8Ei@ zm~A?zZ*!d2V{q`QVPMdNX%Lbh6&MYV(c}QhK0`D&yi0G-z5Ps#q2YAj;|l3QP}xxS vnw5dcAC}!$?zfk>H~yUamf^thvoiY|!i9P^N*i1R7Df!7u6{1-oD!M&z#AfWh$fkCN7mcgL~ZqBHp(Qq0~DkC|!9QpfM>UiOq%6Z>d z8FtLLeP&M&8$&_m?Bx;ALgVAVFVdQ&MBb@ E09uha761SM literal 0 HcmV?d00001 diff --git a/image/1/Common/Chart_contents_6.png b/image/1/Common/Chart_contents_6.png new file mode 100644 index 0000000000000000000000000000000000000000..8681f4621d1eaf4529ed96ee444083c04246124f GIT binary patch literal 1035 zcmeAS@N?(olHy`uVBq!ia0y~yV4MhKf8t;Rl09ZW#DNrNfk$L91B0G22s2hJwJ&2} zVBYKL;uumf=k3jny@vusTn`@aV!Fer8z3b6Kh znKM?#=NTK`@2TTqb5K=cNKs;PD6_TSb2o2u?rc{^iwYaL&vpCx@Bed6iJZ3c{`+an z4-(!Vo>?r$FtdYULMO*4H5vq?sQ_n2xcT+ZhtEIH>{=(r3d%P(Q`5dB+4!;^m>zd7 p5}enz{TII3AEPhK^kM4E`}SRDME7)s`~~H122WQ%mvv4FO#rNoT@wHR literal 0 HcmV?d00001 diff --git a/image/1/Common/Chart_contents_7.png b/image/1/Common/Chart_contents_7.png new file mode 100644 index 0000000000000000000000000000000000000000..9addd71ac5f46631f1e8f919b6298c17c61c1411 GIT binary patch literal 1159 zcmeAS@N?(olHy`uVBq!ia0y~yVEhSWf8t;Rl74J^CIczX0*}aI1_nK45N51cYG1~{ zz+&m?;uumf=k3kF-a`%&ZWrhCGQDEqwpc7Qfx)kBw4AuemuE7p#y{oqtZdJo zu`=Gy$lw)c|BR(UZ6bSv1`x0K{Cun4^wW3Vmsc|%Xta^*ue6*0pYM<8&(z3gReNuV zGVrC`-nRa5)jEiBkd{$A8U~|jVDO{?P!|4HJHIscEiVK6rrg`t6a9@p>-{=Afnma@ vPci%qfl5I9zW&qi-;?hhU=T3+{F~ihPCUmsbdn9QWMS}h^>bP0l+XkK)&+V9 literal 0 HcmV?d00001 diff --git a/image/1/Common/Chart_contents_8.png b/image/1/Common/Chart_contents_8.png new file mode 100644 index 0000000000000000000000000000000000000000..7842f47b361db971e20f45caeb6fdeb7f0fc6b39 GIT binary patch literal 1249 zcmeAS@N?(olHy`uVBq!ia0y~yVA2M%KXI@D$sUH*XF!Uxz$3Dlfk96hgc&QA+Ltjf zuuS%JaSW-L^Y)fw@1Xz*w~O;RnO?DQTPzluz~I-_JTX91cpCHXXL{!hKg4~?&HGg~ zYi4O$9y7y*&%X@07y{J77#d7AGBGTfYp-9vGv-;{{%BqXi#v}$&UpU$=ldJ$BO<4z zuDiavl%e5p?(J`-OVSk>6nxh(Fk~jNGI$7UGdRqOU}U&-go|MU+@wy?Q6;0{0!>z< ziD9T`k}aQ~KmArazch9&8-q;V?QQFo{f$5CO`dJZ(6C@Syf}DYANK9Lx|lH|gQfBQ Z`p4bkIlYIbt^}4@44$rjF6*2UngAs0Uj6_8 literal 0 HcmV?d00001 diff --git a/image/1/Common/Chart_contents_9.png b/image/1/Common/Chart_contents_9.png new file mode 100644 index 0000000000000000000000000000000000000000..7842f47b361db971e20f45caeb6fdeb7f0fc6b39 GIT binary patch literal 1249 zcmeAS@N?(olHy`uVBq!ia0y~yVA2M%KXI@D$sUH*XF!Uxz$3Dlfk96hgc&QA+Ltjf zuuS%JaSW-L^Y)fw@1Xz*w~O;RnO?DQTPzluz~I-_JTX91cpCHXXL{!hKg4~?&HGg~ zYi4O$9y7y*&%X@07y{J77#d7AGBGTfYp-9vGv-;{{%BqXi#v}$&UpU$=ldJ$BO<4z zuDiavl%e5p?(J`-OVSk>6nxh(Fk~jNGI$7UGdRqOU}U&-go|MU+@wy?Q6;0{0!>z< ziD9T`k}aQ~KmArazch9&8-q;V?QQFo{f$5CO`dJZ(6C@Syf}DYANK9Lx|lH|gQfBQ Z`p4bkIlYIbt^}4@44$rjF6*2UngAs0Uj6_8 literal 0 HcmV?d00001 diff --git a/image/1/Common/Chart_contents_color_1.png b/image/1/Common/Chart_contents_color_1.png new file mode 100644 index 0000000000000000000000000000000000000000..01dab6864d28c8e9f3df626c923b83ddc2fbc264 GIT binary patch literal 1489 zcmeAS@N?(olHy`uVBq!ia0y~yVAch)KXI@DNrwqqi9m|8z$3Dlfk96hgc&QA+Ltjf zur_!xBop=QGu3K6;&Z zZ_m*)Z_?7Nf#%t~{*h$Gz|int7-SV=Au9ueK*YVcjdAPK_t$UMWnehKJiqwu!8%+YWdO$4KvVVIW$r*CWP zO+Q^zv*)%L1H*&H&o4{LH_VuM_e@SNu%!O5WpR2Vye!@EulQ^6-U1^w&p+6 YT2b+7dLpI&fGQX~UHx3vIVCg!0QAZ@IsgCw literal 0 HcmV?d00001 diff --git a/image/1/Common/Chart_contents_color_2.png b/image/1/Common/Chart_contents_color_2.png new file mode 100644 index 0000000000000000000000000000000000000000..059d99e8e2af440bfbb13e83d25491169fa96ac8 GIT binary patch literal 1424 zcmeAS@N?(olHy`uVBq!ia0y~yU}gcbKXI@D$tBIZ`#xQ0ka)HR9f7y zWnkDd^XtZaJWoyvFfgeW7lWs(pUXO@geCwYs^?(< literal 0 HcmV?d00001 diff --git a/image/1/Common/Chart_contents_color_3.png b/image/1/Common/Chart_contents_color_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6b22081f65df717c57395ea82899eaf667783263 GIT binary patch literal 1608 zcmeAS@N?(olHy`uVBq!ia0y~yU|t1ef8t;Rk}jSWl0b^Hz$3Dlfk96hgc&QA+Ltjf zu>SINaSW-L^Y-?}TqZ{m*NgqGe#*BSSDs-JNDQ8qeS>Yy+9OIPeS+o|%Nu3icCRzp zJbUKpGjrI1#xdRN0g?`#0jvxR3a%@d7#JpOs<%0_NvC*kT@)t+L&Ngu>!p6n`|aod z6kpYTIPqS;dp1zR2cdQUKx&mj7#SEm1VOG`!VwB2gIctJq^6T7P^-v7pidmSkc=Kx zJ{mHkX=XHgj20ZIW#p-U9}RAAJNx!qsw%MbocHeDg8nk&;+Zoy-{%LGppC2dBg)rz m`62ab&u;4gMfTh|^M{GmUO3>6*{=maK7*&LpUXO@geCyrb3elX literal 0 HcmV?d00001 diff --git a/image/1/Common/Chart_contents_color_4.png b/image/1/Common/Chart_contents_color_4.png new file mode 100644 index 0000000000000000000000000000000000000000..dc76927c5807812e4e609fa5051b5097ad451675 GIT binary patch literal 1216 zcmeAS@N?(olHy`uVBq!ia0y~yV3G&2KXI@D$+r^AmjEfw0*}aI1_nK45N51cYG1~{ zz*6Mt;uumf=k2Y7nNE%(4j0o4@|DX39CNha`Mx&&ZXV$#y=85rJ||1d~lSfFCZ&@kl(14Gd3jXEampk>#OMM zKbvMefA`!>W`_KSH(41xI{6tCRAG7^F^>w2hR0}ffaIW|nH#SB`nc)#TeIh%`*j%@ z^mm#ctq(IUo;h>xM<#~G=5%pLZol&P{PC+N7#oh9c`t8XEBuka>|!UdNMi7G^>bP0 Hl+XkKD)njZ literal 0 HcmV?d00001 diff --git a/image/1/Common/Chart_contents_color_5.png b/image/1/Common/Chart_contents_color_5.png new file mode 100644 index 0000000000000000000000000000000000000000..e6011aaaa82d44794a5a10ae0e822181ffec86cf GIT binary patch literal 1291 zcmeAS@N?(olHy`uVBq!ia0y~yU@8N$KXI@D$pf!Ced5OL?sedcXCeAA9TQ04}fZVaBT KelF{r5}E)h4m>mf literal 0 HcmV?d00001 diff --git a/image/1/Common/Chart_contents_color_6.png b/image/1/Common/Chart_contents_color_6.png new file mode 100644 index 0000000000000000000000000000000000000000..a6373fbe6b628d110b3a54f7602e481e01793c33 GIT binary patch literal 1040 zcmeAS@N?(olHy`uVBq!ia0y~yV4MhKf8t;Rl09ZW#DNrNfk$L91B0G22s2hJwJ&2} zU_RvO;uumf=k3jnxlE2Ct{3}V{gg`*q>MRTwrO_r$pkdGs$Of`-M8bTTt=zUAQ(*rxHH1H+s)^n7w2uy?`GPt=}Tg^x$*UxJ7;h; yh~JG(XPnT-0RB9 zOpV)T-sEQpD5^A8XE5osVQ>NAwest?-pzYn@n?fM!=4H2KVPqzfBrw;ACaGD(~RHm zo*T>fpjGGk)0Z3Oy=GMKdNPVf!(cQG47N0o^|xZ}?YCyjFE8H<%&sxhf!THSOv^K8 z?oD8rQ1mf|pCM2Qh`-l=+W+0ZikaEr#F_K*aY^FSR>XTX0E-s}Pgg&ebxsLQ0Pa$b A_W%F@ literal 0 HcmV?d00001 diff --git a/image/1/Common/Chart_contents_color_8.png b/image/1/Common/Chart_contents_color_8.png new file mode 100644 index 0000000000000000000000000000000000000000..a4a9c8a9b006fe96071f9a132feaba830a6a86af GIT binary patch literal 1118 zcmeAS@N?(olHy`uVBq!ia0y~yV7v}wf8t;RlJb-KKL9Dt0*}aI1_nK45N51cYG1~{ zz#`!3;uumf=k3jnzRZpyt{3y4SZx!G;dmWXz#JepX=Q@-4YwYSjl$e_Kg_8xIq1F4 zq41Hu7+b@P9ZU{BPz}Q23>}@?3`dTLG9*3XVlXUZ9hC-#<7lvqCI_12lH2<&vtIB}8pTxNn>)yb>p z)}=i&F#gTR@M7m4Nmd38VQmJ7SrLp3m#+0szn!}VANq%+ZY4~!sr3Ea=e~EZ+jrfX-p-po2X)_F z-`)4S=RH2}T72EN>%|wIDW3hnY{zkm8|uR^InIMMj&tvx!UFf11y40U<~|g?QUB^& zj`PSv=C8o|PglI{I66_gBHMp)?hy10S{UL4_bryfCoHi0X%38=EGDx zM8{qBk><~8R0Ssa!y@cp%hQ1lI+5^z2Rvv2JZKH(10L|81@NFXm=Dw9;lKyM(R9}W zkbPRRt88zZ)TH(-n8z%7C~1!@iyg9WXv0wDs>OO5x*aW=?Dtr(L#!8}EE_t|fdQfg z@SruA4|u?X7QlnnU_Rgh4_W{ZT7&t3ha2^j>|mqOfeyNS@PG$A zXaPKE4d%lP@-X|g&t`kq0`SJopf`>;i#Lm@s|E0&HJA@~wukP>@jO$YEQtnS^y7PgZY35=h$HR9Ft-0#e;*@+e(WB2zLs$G3Y=C zSr!f+@PG#`fCsI?e82-9v;ZEo2J-GB#Y4#93+0zAlj&d!(18wG01sM&If(~6XaPKE4dw$L@Sp|opf#8e zc))`e$cl%xBRgi90~K6p9x1Es$~W6nx+|{v0^bL(V3W{+4#~yw$Im}pNL~wo4QwQB zFm=5atP9qKXTdz;0S|c40(j6G%m+N+K?~qPYownKHRlJq&E7|Xo6l|BU%AWurKfr8 z^vnI*>|mSFfeyMl@PG$AXaPKE4dw$L@Sp|opf#8ec))`ez=PIcK4i*6XYcZb=Cu}` zY3prUu%wiG9NV&4?C|R=Wowex0@%a*{+`A2@g3WHf^)DX=s*W=O_)bK-~kU>01sM& z`G5yJXaPKE4dw$L@Sp{<>A`>5hyP3x&u}YYn}QB>NGu9>0}pt>gBHMp)?hy10S{UL z4_bryfCoHi0X%4pJ7qq+v+=9C#I*qBTEM@ZsV3tu0r4Nndxje#+Y)r3gSRHkBOdU8 z2Q7dHt-*Z210J*h9<&DY0S|c40(j6G%!iD7=#CuEGcVe4^}yxr`@*qpP3~=TuVGt) z4s`I=gn7gR9`K+A@SruA4|u?X7QlnnU_Rgh4_d(I;o9ScpC_&b@bBq9!y@uUo3In1 z;#rblf|rJy%#$rU504&d++9C$H}2YOyU>9SxuA?7Ld@TTg z0Xzc$>nZY|ZC(u)FN@c+U>@;+2Rvv2Jj81RFAX=D&6b^qM-Mgbt~cA01sM&`GAM4dN?*%KF1tz?!|+H)!RyoZqHly zYErv>Ti&6VZ_{6Zw_BUQ{{MLBSh49zxfXzE|0kNe51|NU3($cMS^y7PgE@%@JZJ$t zXbt8=_B@>IX$`nXi-xZEkJU9+JRhB>?}UGwTM64HbfAN-4m{ui4_W{ZT7&t32Rvv2 zJZKH(10L|81@NFXm=Brs;JfTYQ;*x`4#hSI9qz;qJDZ%RPqle8h|KnGnLc)$Z5v;ZEo2J-GAKJm5hKuD8?v2q-%-tlfl#q~ua~<%`Dab<@%LX2)XCW|nFdfeyMr@PLObdsu&J-d}}Fs!p$a@p*IPhT0dxU#@J~`Y!^a%9Q{B literal 0 HcmV?d00001 diff --git a/image/1/Common/Scroll_bar.png b/image/1/Common/Scroll_bar.png new file mode 100644 index 0000000000000000000000000000000000000000..45e44d73e751bc87a5c9ef0612f12291366c943a GIT binary patch literal 5610 zcmeAS@N?(olHy`uVBq!ia0vp^nG6h^g&b@^mh=1*@<58Sz$3Dlfk96hgc&QA+Ltjf zh|ckJaSW-L^Y%($?qLQ2)`Q-n4s8O;Calhdl2aX5{ZZw3G&Nmd&ONX4*)yLPq`mI9 zd9EIG;P2lfxwq3Ir>)NaRQh^X-JB1CFGXK`tcc0%XL+yZu!LbElM9!C<|tz{5JpqN zXf7Dd1*5rOG#8BKg3(+snhQpA!DucR%>|>mU^Ewu=7P~&Fq#WSbHQjX7@@gf$Nu>{ z-v5?4Uij75@41=r`PKaeMXSrjKU9_P50`&&5V<1zs6TLmhP=@?45HINzr)PRS_ao|vImS01k?j(4;VaM{an^LB{Ts5a-|+c+*2zUlg+=KuisEVKgG4{Kv{iAciH7(uW-lG z-i|e{DKr1|F8;9h>cI|=$4<8PJA@~0JY`&;e{lK_WhL(7BY`{E=I@?xtfi{%!y2aj zrbP#3wFN6p-DO(kePcF+EtKjN7Bn>4f2~Z>{F#zb_u_)c=dM|TS)FsP7%W|#6m)2b z-o}E3^W-HuFY|TTq^(O@xROEb%4g=_rM~;B8s=<}v^(1`@BWad)U+euJim`iUHhFt z>lr2nZZ6rX3ukGI_thp}{~5A!YSqozo8qr%?t9nib8*i9=-az5O%Zzav+6jN>nyOcKYP>Z0f3?0}{mf&Hl5?y5 z1hc-*aDL)>+ew{EIV5^<>G|Si-2aaS?$G!($Gb&O!}wundY0Z!C(|pxFQtb)y{7th zuIQ@$$4vFrUq4u=G5?wCi-7I`!TX<=)h!FS+q8RG?BZpXyRA!uoI2FO_3Aw z7d8Lin=ZK3M`*^Gg%*q|Ab41 zOzZoc584~~J*r>+tcp#3!IQQtSYtwS$xd-8_lHKgekWbe7`1BkTsl2t`BmGe4nXy8 zFP2?)ej%pLIAg24mF$cuoAzXummKH}=nYyor)y?P?V~$=wa?m5&YS-D&P?qP=bx?r zjBY+zdUQ{^SFqR$pLwOunv*v>ef2)S_HLPZ5RzyV}TaMKXMcW z7HZCu_bFZeO04WsRpsSv9N+51Lsq<5a__a!Th6K^9qGCEK8V{qa0<4um&n{wmU(j5 z#h0ivJ-;S)yfFD1_wRYY#BZ&6UHXLJ>=Ik4vOyF0*g OmBG{1&t;ucLK6T~Ds%h* literal 0 HcmV?d00001 diff --git a/image/1/Common/Search_bar_1.png b/image/1/Common/Search_bar_1.png new file mode 100644 index 0000000000000000000000000000000000000000..2a3bf981b029682da6715906efe3bc37f43c2476 GIT binary patch literal 1013 zcmeAS@N?(olHy`uVBq!ia0y~yVAch)mvgWINtw%=Re=;|fk$L91B0G22s2hJwJ!sz zTJGuM7*a9k?R7`N1_z!42M#63WLg~bJntsATkO-Rt-Gy(8hzjE@-Q$2q(w0>G?-jw zVqjP@Q;dN@;p`TmT;?)X1_lpfpk)rTG8q{dF8OdXFiaR#IvN6_AwY2moIg_|1k6*O b#{U`59b?bq+$|mn%yJB#u6{1-oD!M<8m94@ literal 0 HcmV?d00001 diff --git a/image/1/Common/Search_bar_2.png b/image/1/Common/Search_bar_2.png new file mode 100644 index 0000000000000000000000000000000000000000..10a82daa0208bd087b8ff74b265d6f82ab48a9e2 GIT binary patch literal 1222 zcmeAS@N?(olHy`uVBq!ia0y~yV2K5?mvgWI$-@hk?SK?#fk$L91B0G22s2hJwJ!sz zs_=Ai45^s&_J*Tig9Fcj1BV{m7v?Jn@rkM1E%fQk*4@@XjSO?X+$&-N(doNDToxa3 zAlcCH5+o*I0J4aIX&E<=bU0AL2&6b>=z+u-FS7zkg@jQ}qX99RB1W?Y)A=)d4uQ%H c8I#X{>))}@6I<(~0OT@wy85}Sb4q9e03Y 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 Xs{h&llkY6;g&lfvZ~vKZzc%)Nf?i}o literal 0 HcmV?d00001 diff --git a/image/1/History/All chart_.png b/image/1/History/All chart_.png new file mode 100644 index 0000000000000000000000000000000000000000..bff12933f59ead70a356a6e5321344c076b8bdf5 GIT binary patch literal 348084 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

Vs= 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 literal 0 HcmV?d00001 diff --git a/image/1/History/Arrow_top_1.png b/image/1/History/Arrow_top_1.png new file mode 100644 index 0000000000000000000000000000000000000000..cb516a2e29baf3747ffb41f651bc2939831b0567 GIT binary patch literal 428 zcmV;d0aN~oP)N(vBLto`UM?y z6Y$!5bgkmt9%zB*(Jxn^Lgc2k>PhP%oZA6S1Uk$CIIHbK)8lX+StO?8wmc4X0`#D2 z8y1#5qi+Y8oV)p9(1w+zi)h2N^X*=(BsBurQ{}=0=-ub zLg7zDL9>ThhG5&3b`HjzNqD?Z^4s#oy z)x?|R$RZkz&q{UNX1^@s6PR1M}00009a7bBm001r{ z001r{0eGc9b^rhYFiAu~R9J=0mfH=2KoCW*#(ycn4xj`}paUtvQs_XaKue$m?7$MB zf;DSq6HpfRF@v0hKZZS-EHihfl!5>WfCfMdppZD=An{QEC4iKk4#1WD1l@7wr&7NZ z+~=$zZD5t>lrCnZ4f)o@U8FUgQYzbuxT`d)eC#;PXzU$5>w2nvg&w>QEsT%`)jVk4 z2NBxw6D^kz=^;-5XPWh1gmgTiZpBK27E}{b=qqkkc^Yz<1^uncx5)RZw9L{&YM)%= z)A34BT63X{2gJB!=gO*R^((h*UbH#`bW75-svTJn(^(_dp7YL z!2OTX2CMv(c+4u7U^3TykHf7=!X1^@s6PR1M}00009a7bBm001r{ z001r{0eGc9b^rhYUP(kjR9J=8mN8PpFc3w5e1XuQnj1JhDkxA7CkWgqHwc^n_i9q; z0O1CyRly0&?2HUCM7CC11^A`Mt9|olrTvS(?;$Ov%>{rRfW3G2LA(KgrpBQFHUL@x zYo*PmMgwujl{QZV{O$9jcb2}3N!0NOG-<1}5gi#Z#{<}Q=C^zAY$wrA1UwO%^bX+0 zJG(FKSv)EXXws5i8>P*vv~Q8)0f3&pC9{;AUwLN_xxKR;FMvj<>B4)Tr7XvlHdnM< zGNF(48fN~DTgY}ixYP+iBP^+1P9Y2YXqC4)%_3^U`_B^BacSs5Yc6~;csRHQ^dMHQ zNxGa9tGtGia?Pyc!G&`{BQ@7dI?mjR(wfXQQSe`e24-^2NpPjj9e|f}(9I|c{{y^m zmDkY8Tr;|ye-Ik6T=VI;VE(A3QLbqqpFe78lxvzw`J)>A5DgZW*S9nt{{i|-!1D)O W>WcbE-VMtD0000X1^@s6PR1M}00009a7bBm001r{ z001r{0eGc9b^rhYSxH1eR9J=8md#BAF%X4cwgI@~108Hipa3j^gwF{brGvoP2UcGA^q{O< zlk_+zM!AHNa?Pyc)#NdZ$u(-N?2-o93Kz|B&J_5+pldroE RQ*ZzP002ovPDHLkV1lsFxY7Us literal 0 HcmV?d00001 diff --git a/image/1/History/Arrow_under_1.png b/image/1/History/Arrow_under_1.png new file mode 100644 index 0000000000000000000000000000000000000000..a1791106157eb03375f9b4a3f14e73dda3930a60 GIT binary patch literal 419 zcmV;U0bKrxP)v( zE{(Psc)U}-*Cy92yjQHg^LkW_i{U#IYieb(c@yJH59ph3RZ8}NqB_j$a`A#x(GPrz*is`CjoqnOr=8im?T}-S~^|a$j};_yA@l3dKCGP~iXo N002ovPDHLkV1g-~ws-&l literal 0 HcmV?d00001 diff --git a/image/1/History/Arrow_under_2.png b/image/1/History/Arrow_under_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c5e97fd323270fc94c9b5bf2d58e01946c267b1f GIT binary patch literal 356 zcmV-q0h|7bP)X1^@s6PR1M}00009a7bBm001r{ z001r{0eGc9b^rhY7D+@wR9J=8*5M6;Fc5~}S0-Q+9l=p>14qJ5904|g32Kg1qe#oO zlmcJUAJis1HhOm_V@v~_IaVG8a0S`}u^&JsH!cq)@I1iHxAvmD!ftf(Er5Pwm@gl+ zoGHEzHui%(;(ySL;OrFN+h0TXy*Y+s@%MZ#Z+d%?&G^t1Tv7wK?Yu*rXgqLsfWN!Y zL!=zetlH#HHRsa6bK_^xA@E%ITI&gcmonGv0UZio6CZ?@^`2Eil6tQB>x!EA%AqSM z=b9)qk#G`?2GM91z*&f&oIgUc1Wx2!<89^Yg#Mcyt5Q~v&KPq^@y=9mEnd|XbHkbG zuF24Az+L#H=(XTud~jFPteDQJ$-BEs<&d(MHoyy7fIG94KMctL0000X1^@s6PR1M}00009a7bBm001r{ z001r{0eGc9b^rhY8%ab#R9J=8*1HYDKoErCA4Ch(0XYc)g_sUp5?2Q)1(-I7paXPx zC7yTe9&2Myv9@qpd?S}1BK`@@Bb?#lqosO8^9tvVuY0AXbCF9ouW!7;Y4JN?`#38e@iZ`@FX1^@s6PR1M}00009a7bBm001r{ z001r{0eGc9b^rhY97#k$R9J=8*1HYDKoErCA4C@v0VPlXAqAKYToM-((unDS0-ytQ zcqN{9>>g`lPvpRYPaAkH?MEJ!D;b3VEaGsElD&f zIK#l#DKt4acYNrCmCsiGJDDt8@Kw+FuV^%I`o#wg8ZBH>cigT)4y1}2-tjarp)p>( zEBvvfH%xH+cgl*0KP|8aj&e_c7Isn z0!O!NR8_8x8=U+!a7E({=QCctKP;Jf|DYs(X_i1^t#Va>E9)n!Z=$R;^8f$<07*qo IM6N<$g1i!v#Q*>R literal 0 HcmV?d00001 diff --git a/image/1/History/Button_1.png b/image/1/History/Button_1.png new file mode 100644 index 0000000000000000000000000000000000000000..760f3d0e9306969bd8e40d560fb76f28511f33a1 GIT binary patch literal 1947 zcmeAS@N?(olHy`uVBq!ia0y~yV0s5+zv5s6l7EE{d<9aR1s;*b3=De8Ak0{?)V_>? zf!){B#WAE}&fB~Ge$nY7#~uosP4Ih_d4kL1_|_KftHskMylIe~@~%Pkf^5Y*$Id5} zC-^R{bpOZ|6Z_rRXvTkwg7~kMDrpas3XOiee6d?Tf7NOY`Zfshy$}@DXt@@++BJY|X z?&$t199_!5P%&kFXsOkF-}7?6d;7V*A1wH@@V8@VX@(sG!-tglt6x>v&5pDA!dT7! zw;ibI_J(@Fw?LVk*x>ri-oFap^X{-8{^q2cc9ZSUPb-~94B)_@WCvI2ah}X1sgz`^CD7{iZ;{`r>FF28KNy@4n6ad;8JfW5(~KXO~^%V_?uGy}QY4(;80^Ob7|(5bTR=6B7CpY~MmUjDb6k&)rR>ffoK=Y4-I z{XO_IBSS;nj!Vy`KeUtRv$s-WW?#wV%nS|;4}tz+Y_VowU=bJ<91W1s z#4vO-!mfgN2@y~(U&Q^L8(duM2Ic7s^@n7E#s8W^wMoEg;6nD~y+3n)?OkOzTNtSJ z((`pUuU~hZ2QD5it-5;sp)pH6cjn`JM}ND9)*7h;OU}UgQQi4F4ez|( zUtur&9$0`U*==RpfAQMsmDhRO9tZCJ@^|e_pw@G1&uuxMe);omxtiCeiAo#l`Bt+f478~QgD=<*LL zvEKXZeYRXrHh(u8=<>SIxm&E&=GFsih}*iisu!yRHQf%b^Y`cb?%VwE#|qY(aYSV>fcU*bN)TXlzoM4TG+JenYn$vygC?9LyaFZVp}d*Aas_kLcV zvUgcb|E;^W0)T%~A|nN0lMBuN-hxBDZ%5Ap8eYmtOcMe`lGYlgKuOOBz#mUy97!#> z#y`O$ znFi_7+;aE;DJ>)rx8kz3sxJR)=#Ol48eY$Z+v{_N*dDkTvYM>?6!!Kzedc$s0G;l%6HJ zB211|th*l%kTJ&T9_OTY2_!QW$lekl+-JhTc>kb5!*%+;WA=87ZNvA!26#Tj70R?h zGh|ucytkL_v?M(V0GO$_U{*gJYN^5#J^6LMciJ{XPiM8jBASs*zR%>);{HIQ(DT~Z zrEAK&(asvTM85@qW{xWNbXl!x`tt5u0Mf%PgHxilyUV&r;Q+Z0GP38-loLI8`zL6Z zkY{|>vHmi=Q4G`y-KQI@JhN=gh&tUq)KRiBZ7gE`sXdPckT1M7rY7jo#i+c!W~5#Y z;HpD|cOp|$f_gI~c*giLLo*VRwsCr=B(=6jVfJw+;wyP-52v ziqQ|w`gy7-7)Yqs-~2^PeKox@g|!ZyzZCbqPl*TR!#|^lWa(e2bck$x2f~K@^A4V> zozLgrEKz4j3f@Z|IUED9cyM8V)kU2^(>)PJ$vuZk4^7{QfQYwQTzT~9Fr)}%Ha)6r zG^vdRbh0v}dIvyP!=zz?(CFuxjj*tF2vJ?tlZJ6}{4N)VVv!f3vv<6HCdkPdYKm?^ zJoW}P<#DuGrx2&P8UvkyYDSQw=6NU4^OKtqYteqQ9XVVv8Sv~f_w3+T%ip$(Rf56! z)QN=x7d2GgE52t8b+vDsz&mXr zZvqs@X=!{}>-4$Y?nl`_ex|k>k81YRS4prST`ezKQR2M1x;q-h_1Vyu_t;+>^n1J? P)mlh;o5i?yH1ooLz#f4u literal 0 HcmV?d00001 diff --git a/image/1/History/Category_tab_1.png b/image/1/History/Category_tab_1.png new file mode 100644 index 0000000000000000000000000000000000000000..c3a008ad8638e3e94b2b9f8749a994d3551c2e6a GIT binary patch literal 5300 zcmeHLdrVVT7(W#Rhqj`Tnb@*cWno(a=y()l(2FpEY&4tWg2;2~V7yvN<&DsY88}3` zmrg*)oS@wDP`tQR12kuKo#8W7TsyG|NZBlwtC1QM zj;ZP~Hl|9Y>6A(5SF1=qvSh9(hMSgktdXg=_tjY9FQuR>?kr`0ncF}?*}EWmh%++7 zYd%3Q?n|_P#lqhLR;_&VaoTCmY~8(%hrXolpEQR@Sz91RXMsD*(KziWz%8R?WnP(s zO&SZ!qUNq@cGKlKM#2hpGN!tWHA-Pi#yr~n<-a*UwcfZ~&fK^>UZJL7ssk@bkOs|r z{2zF24%-%!XTinj))|7G!`=&0x>|T{1I;| zyM;V)iHda5VI;P$qn?`5Vh@4>PUf*-L=lx8?aXP|?I$Z3jUD2I(Y3b{U_7krId6(P zY?63b?>rl|43t+a!-Tdx6jkG~(<;B@a$Ht?4BfimbhbiS6su2CF4_?94$rjXWJJ5R z*Ws%F8t}W1=Q`UkYVs;9CW@w$<*$FyOqw{jeGN3ZGk@sC)w$+jaOgQ4B;?1AusD*q zh1B(IBg7Wa&Q?p7P4MiD1jwha?J$P1fhG*A=1uk4ItiYfG>FZGI9sWAC>ep+pj#UX zw4!lX)aAl;cUsjpg(r(ttVy^u%%|z|Cc@AB<5`5_rJ6d(I9H$bu|#hKokQ}4F5)e*bBs7Aoc>W7w`xWM*(pZ z5J$lqJ_Jyi*ixQ!NqqfFm@WeJ}zcU`J-i!9qT+=~zl-g_flk+YrG*b}BuU0p|EjZ4?;KLw*hmUE zWJDEgoEU=68Yqs4AF(4#s%JL*gIcYDJvorS_(?185}ulwq*Ph5E9y94RXn*C(yg%) zVMCU=s}t^At&GgrdWKoDQ)p*U5t^_0#aH>GOTWHzjWmJb4JDDPY!a>_4WpyLGkd8& zJl!AcAKf8LqjpO$U8@Uh$?$X`rqc+k>49#0fVf}Zb+a_{fD8dO=WZ0<;7t{lY43dG z0>oENFig<~ZU98-d@1fjlb+twD6iM8Wo#{K%m_v^dhETo7x$$@G=P+%sPw92cHW+{ zGRPm%3>pdPj`2-jpuuR;TuXz(2sTVHdo+zbIl!BGG_Y_Pdr4}afB(9L>4dp{LEn$r KUNw6oj{gmaV1xz$ literal 0 HcmV?d00001 diff --git a/image/1/History/Category_tab_button.png b/image/1/History/Category_tab_button.png new file mode 100644 index 0000000000000000000000000000000000000000..639d7b02422c310ac9cb37b66929d5ebdc321a6c GIT binary patch literal 2373 zcmeHI`BPI@6uyB10fu157A1tD#Ti;?nSu~s!2nfOr-n7y5J;(@WLhY(EG9&jA(XTY zq;L2#CFD|BDVkyt(h3ch33F{pQX0 zeVIUxadE;s0RUX$Vk46Puq6P1Ie@i?nO4amJvNwx1f)`)>Lpu*xTFtc!m|I?LeQS_k^50^EMxVisRZ8brB^)u6f2l zdW@W4j70NkP!y)Cg$B{ zryY5JK;m9AnSH+%_;8Qr!XTbS4Ee!6CRDng2$yRwRGqoD^umiYsA`N}o9?m!z|WFI z;e4%Cn=)^zjMIn|g&Th*uL~Z^qM>Bch8qAMOc+^#B>L8QFL}!JF*^YI2DqIR{%(Oo z6zsot$uQhzA?n}JLbQ@6Gr3~{;r|62E1ho}eIP%D?dY~d20(2<|KJ<QFx{08cM--cUcU%6fo86w-{bv1-QdR^#^&-)8+K z2LQf#9f3Ex(9pR)>I+}`Z)m$(;KitF7g^jn>=FrHF3Xe}Sj zPr5>zBgj*s9t)B5t&78sF?&3HjMk2+ry2&rVs==#ItDJc6T+t!cIUQFij*oGdx;Ol zTj!o}kTCA`O4Ie+n~8=?0&lT10B@;=N6JE-w=cIU6F(G*IAunMf72I+N9K~9SF@Ru z<^{{(I`oHT>YK!ne528rnkF-4D^5^yC~LQUt$tgiJ~^v8=)q6L2{!Pa`7^)ejynKb%l8Y-pU4Wd z9@7YNI*mn;@x$If4995Bsytg+ag6ak1bNiWo#Pqq4rF)*0bn_mF5^WukczI3C`w!e z?7Sxu%|p?net7p6H&)TdjX_24;&F;{^Hp@)?yPdxQX*{;dL{sIQRK)gM=~q_0Vue@ AcmMzZ literal 0 HcmV?d00001 diff --git a/image/1/History/Category_tab_button_select.png b/image/1/History/Category_tab_button_select.png new file mode 100644 index 0000000000000000000000000000000000000000..136f2359dbc1e2a012aa9a53e9d07037b81e58c0 GIT binary patch literal 2391 zcmeHJ`!}0s9DgtiB{8i_P7;Sz+s&vmbH-bj(H{3}8>!Nit)dtqaV>&ndRkpildMNv zDn+}9iaIE%u2Uh^vFa&{OIyZ?8*L&9Y4J1J@4oFen0Q|exB!iKF@cj zBLdL}a0dVY=-?nfA^-*i0Q8O+y$=z=Lw5yy8PkJevjK3n*FAdq0-rpH83+5FB<0^( zo*fA%$6^N*hj4Z_eI%wQ)`KbROI)(dG8Fb5#?!7iVjD|+4V5{*9!8d*ddy=@u}Ys! z)-grFkp`!OfkkVo`>S<~x!Jk7%2w7u`7UwjqDJ`5N(C{`bB_Z6GklgyY|Qql>OZ;n z)6&;@R)pi9MT9yG3b;KHUswRJbz59X91eA`j{AA=wZsJ%$tI_0x68})0GQWCg`B`+ zcB*7rGdyZA#Y@NuEw;b`@He@;+2oqyuFvdz)df!^K>0$`m2_gQM;|cVl~HksDQb6h zN&76#Fi@6y0Rb2QXhd&iX2)=w`VKF;@w4s#~=&~uOpw-rI=PwEck`LYBNJn?tyyG_#=pt8qf&l9l<`X#Yqr#DTIjkTSevZ6jSp#77qY1n2g+4q=8qej5vv4Vn(MxH7 zUB7&*D@=F~1;7XP2-E{BfxGqG23jF?` zzd4NI2ybpej|^&(WTxw!x9<{~9a?S(fPQNlJuKV`+Go2icn^!wsNJPn=*d0YtV;tr z%U!X;cTT>o<2gaoz1KZZZ8&&U=dw0JPLwwlnW3CLGzNJ*=x&(OFHa$3IML9Ic}T$ytu6ye&AIcW zN*7UM_osP6mA467HN}Ts-giSRUT+wGCQm8z!i2*~^8MpTgb`bd`pwa6{D46bcTJL` z2bk95QwTL#VqNHh3~~NMtZiVce&A zokJWLjixYmUr$=$O-86*kFw}oTd7(c7gaK^f#cC4iZ_-QJbKs9OI%!G9;aoGP(1;V zhc}T~WB!}er%8NBFJq6r>s(^Mpzf`uZIrO`S{e56A`oW6QRYd@STKLIJFSanZls^0 zBrVCSCoz@vqEG{~A}M65%AANlnEUXrcvfyMj_}Wnitm1z@`U$N56JiUb%RZ`nwpF( eH_A}~cMpWkn5$kj5j9Xs5bPh}*Lv!!(tiOj?6qeA literal 0 HcmV?d00001 diff --git a/image/1/History/Chart_category_1.png b/image/1/History/Chart_category_1.png new file mode 100644 index 0000000000000000000000000000000000000000..17a14c4b753d208e2ffde82f50293fadad9fb7b9 GIT binary patch literal 1519 zcmeAS@N?(olHy`uVBq!ia0y~yVAch)e{rw@$u);p@Bk^!0*}aI1_nK45N51cYG1~{ zz`D@W#WAE}&f8lXbD07~To1Ny?aMh`#Oe3qa_*!6mI-THTsdYR=1h~Sh~IT_;=jDK zb<7M57ruN?lVD(2;Ijp2YUUzV1_qC4Ir;BDch7(N_;eNn!-30l``aV+m+#&@J7Xv7 z>EGY`OBom%mfzN$?eftU=#mU!pxYc~WiT=@Tyo)NV3?p51(Y|r$i%>~q*IK6LBSVc z@Tk(!5Eu=C(GVC;A&^^HbEnEO5?B&ebiUq|cP?+y(;Axyb_RwMA3(*U2g0wr(w@nC YhYI=af3o`{u&ib9boFyt=akR{0JRZd?*IS* literal 0 HcmV?d00001 diff --git a/image/1/History/Chart_category_10.png b/image/1/History/Chart_category_10.png new file mode 100644 index 0000000000000000000000000000000000000000..dfde6f75150a4a16502e26f7df3c985ee0b71e90 GIT binary patch literal 1253 zcmeAS@N?(olHy`uVBq!ia0y~yVA2M%e{rw@$%J6`ZXm^3;1OBOz@VoL!i*J5?aLS# zSf+crIEGZrd3$qXr&FMa>&4YI%2N*t`Mf#&&v3JV;~6%Q;Ipah*`^=#=A;~sK6?hJ zf7ZF|!wd|mNvsSW!rBZDw?0+gc~>zjb@z5Dh7ZNtUq5|)a(zT)`>AK|6J!|_4w?%v zOi&ABXfWBx#IU4OltICF4Ff|aO!KS=MutmAxJH$Xh6{tkXkr*CnFLg3{C}Kh$e@sH oYU~dzQv%cPJ0KFk1yf`FOn4~*dK| ze={%~i2kvUm4RW23nv4^1RqlsWNGmMr5@Dfqyy!yX&`^$jEX~kt=N$UnI xY9pRLidJA?aBzrWWME)9A_^=?ql}B$`yO%4>;A-~4=jEeJYD@<);T3K0RTDqa2)^u literal 0 HcmV?d00001 diff --git a/image/1/History/Chart_category_2.png b/image/1/History/Chart_category_2.png new file mode 100644 index 0000000000000000000000000000000000000000..4d7df959002aa3e36644866d6cc64dc3169b6203 GIT binary patch literal 1457 zcmeAS@N?(olHy`uVBq!ia0y~yU}grge{rw@$-m*V^MMp+fk$L91B0G22s2hJwJ&2} zU`_UPaSW-L^Y)gb7jvM9>p}5M_rN2n7KQ&;2c1yq=mEG4a|K+8f z0~-6}j)f%ygGnbN14D-pkT0+`=KQ|us(GpP?`;_v4z$hT(=WE#^G|w9SEDz_9Xp#{ z)(i|eC%)epY#G)fW!UbXYsKU|U8BG-6 zd^VaD22EC&_WGv1{QG-Mz>@9E`|HoME&z*0K3)a}+kKpj$VHl~@n?3fofk$L91B0G22s2hJwJ&2} zVCnUAaSW-L^Y*5p7mK5S!^J2`WzmluYWMzgRZF(|y12x+#u%2U%lx@mU0Lo}`e|Xg zaj_Ib!~gC3H>5BuP_kiY==s3FV08NDg4e&>BiH5aVPM#B^5X}K2A t{k`z;H)+pOwlX**yhkn%j-C0#Pfofk$L91B0G22s2hJwJ&2} zVCnUAaSW-L^Y*5p7mK5S!^J2`WzmluYWMzgRZF(|y12x+#u%2U%lx@mU0Lo}`e|Xg zaj_Ib!~gC3H>5BuP_kiY==s3FV08NDg4e&>BiH5aVPM#B^5X}K2A t{k`z;H)+pOwlX**yhkn%j-C0#PnVdUW5rT?pbC~- zo-U3d6?5L+G|X}e6mh+n{Uc0`r9I)X%^dreMgoqPSohs{#qwwNR<{p&%Wr-tGv3U{ zzz|*j(?F5Ip?L!{Lx%v+5W&-*CFd{ytkbUln~7o1#@Fx9pMD&7=$&Bc@Ar#k85zuu zh3halw7^v#;$u*7y1~fc!ePzOz>&z#AfWh$fkCN7c2v=55R9gR(TqU2EZAr>|KtDi x&AJQ+*xsh4naVI6coti8lnGI!1Q-~XZ`!~$Pwn#*MPSj#;OXk;vd$@?2>>cVI?ez9 literal 0 HcmV?d00001 diff --git a/image/1/History/Chart_category_7.png b/image/1/History/Chart_category_7.png new file mode 100644 index 0000000000000000000000000000000000000000..6a311845c4d1e620582c65b3c0cf15c6ec8b7c13 GIT binary patch literal 1042 zcmeAS@N?(olHy`uVBq!ia0y~yV4MJC|KeZ+lKsmCU4Rs4fk$L91B0G22s2hJwJ&2} zU_RpM;uumf=j{!{EGI?**NcI5T2m*eE-C!~+Vio}6+eR|oEa(~@@xI<&t~hLNlSaj z%%Gji%jTe{z@Wm!=}P{9>4v&{VKzc>EdDx zoec~VI5ozcF)u0JkT7Td*jTRyFLtSp0=_&D1o!!fhyzAyuNh; V4C#LyUH~&WgQu&X%Q~loCIC8-5aj>> literal 0 HcmV?d00001 diff --git a/image/1/History/Chart_category_8.png b/image/1/History/Chart_category_8.png new file mode 100644 index 0000000000000000000000000000000000000000..7e0fdf989e7acf8943cd00944bb6d4fc452b58c3 GIT binary patch literal 1163 zcmeAS@N?(olHy`uVBq!ia0y~yVEhSW|KeZ+l8Zv^{sAe@0*}aI1_nK45N51cYG1~{ zz+&s^;uumf=j{!{ET%w_wu{*_LOMIVJto)gsK1n|*mQ$adD}UzXOHKI?l~P_^MTKJ zGao}h@lOLy29r)31{V<4eV<l literal 0 HcmV?d00001 diff --git a/image/1/History/Chart_category_9.png b/image/1/History/Chart_category_9.png new file mode 100644 index 0000000000000000000000000000000000000000..129d5770c2da36217fcaa7b6ca3fee04aba72549 GIT binary patch literal 1144 zcmeAS@N?(olHy`uVBq!ia0y~yV7v}w|KeZ+lAjOq&IMAO1s;*b3=De8Ak0{?)V_>? zfkn&H#WAE}&f6P?Ue19ct{0_$h6Nr`ykYS_P;&{VQj&<_q)UIEiSLeCy>HJW6X|<- zY3G<3Qu2H_8FUL-8)ocaa>&_P_wL=x%4vW1&Sgw!zWgxNul;&``|2HWhpK*m$na;l z@!0h(C@X3eypmoN0>#jjfez@mh~)78&qol`;+0J`E| A761SM literal 0 HcmV?d00001 diff --git a/image/1/History/Chart_contents_1.png b/image/1/History/Chart_contents_1.png new file mode 100644 index 0000000000000000000000000000000000000000..82dfcc420f1c9ccdf7a7819f4e5b3b2a0310fb42 GIT binary patch literal 1482 zcmeAS@N?(olHy`uVBq!ia0y~yVAch)KXI@DNrwqqi9m|8z$3Dlfk96hgc&QA+Ltjf zu-16GIEGZrd3$?f?;!^f*Nf-7oL;b4H3n(0mK&+&cxtz27rkbC-r|?GL_9XLX68&& z?1IEGZrd3)P&;vokChl^?4j1~u(&ULV;G)#Vwpz3l;?09Q-SAC`b0iV$CFT>T^ zXGW$yvjUoS|N9@q5(b6^Dqai>4O28285n|&e?NWx`R6-%=Fvc2S^56^&p%fDvHqs) z<+uEDjGp*qcA)6?b+3<4oR<$&pc%--z_7%HlYwD^5YVj-UQ>XkjtY(j$Y^31%?N|I zWU$&7zc2T;&gmp=28ILgu9g0^_+((bo@u9)IRk@0Mb$o5nA@xV25;JHH#35nf#E}` b@&5XgH^pDsOntd%DkhkQy%c zJ}qtL%+Em6KCJ!S{}M?5^N(RwW978JRyuBURdniD_;bLO*1h0dh8ylLvURyah&2{)ze9-Z|C7+tHy?Nz(Bjfdq z3=BneYh)N0W*q?<>Cy@0ckHU`+q>@do%iM6fkNt^YV4kWtoS4SLYr+`>df13)7~>M z6co+lWMpudBEi7WpkWA96_^Ah79orf0=iZ}73f$6FCKd(N>`(aVl*qztE4FX zD^q>{`^{}gTe~DWM4fQuh2> literal 0 HcmV?d00001 diff --git a/image/1/History/Chart_contents_3.png b/image/1/History/Chart_contents_3.png new file mode 100644 index 0000000000000000000000000000000000000000..3f05f45fa6824bf21a1de9eb078a517ceb355193 GIT binary patch literal 1582 zcmeAS@N?(olHy`uVBq!ia0y~yU|tPmf8t;RlB>Ie)qxaefk$L91B0G22s2hJwJ&2} zV13}};uumf=k4u{yiA57tOxlQ8N{c%r>a{mWbtx162l{X#w5X8KkDSZGiPSaOa_{= z;9;F93y?NV5@ld$kl6^d(&60OH%`YNa%%&H_ixO-ecf{T#$DHpIDy>y$C3s>$`VO& zUj!=ygM#}SCI*HH%3+KQ3?~FZPJPl53M7k;XpJf#4VlqIFq%C^O9IR?^3FNEE$??P z1s0J%W}iN@W~QYNkm+#bu5kj8hL)Z4?N_g#Svdn(@He!~d@ill&9f&y)F}_BfWgz% K&t;ucLK6VUh-bL~ literal 0 HcmV?d00001 diff --git a/image/1/History/Chart_contents_4.png b/image/1/History/Chart_contents_4.png new file mode 100644 index 0000000000000000000000000000000000000000..7b42fd10fe315bba5f1da3278911fd9dd0e1c4a6 GIT binary patch literal 1210 zcmeAS@N?(olHy`uVBq!ia0y~yV3G&2KXI@D$+r^AmjEfw0*}aI1_nK45N51cYG1~{ zz>?$X;uumf=j|=W+`|q64i`N|8QM}j8XqWZ=2GP0StzhdZuO6}r}OVI8)%=6+qb29 z_RP|>Z;T8-_B@}i%FLkpk&$7^5q5?NyXMPod%v%Nf#JHXTz}=>xc|@Q96P>i-8Ei@ zm~A?zZ*!d2V{q`QVPMdNX%Lbh6&MYV(c}QhK0`D&yi0G-z5Ps#q2YAj;|l3QP}xxS vnw5dcAC}!$?zfk>H~yUamf^thvoiY|!i9P^N*i1R7Df!7u6{1-oD!M&z#AfWh$fkCN7mcgL~ZqBHp(Qq0~DkC|!9QpfM>UiOq%6Z>d z8FtLLeP&M&8$&_m?Bx;ALgVAVFVdQ&MBb@ E09uha761SM literal 0 HcmV?d00001 diff --git a/image/1/History/Chart_contents_6.png b/image/1/History/Chart_contents_6.png new file mode 100644 index 0000000000000000000000000000000000000000..8681f4621d1eaf4529ed96ee444083c04246124f GIT binary patch literal 1035 zcmeAS@N?(olHy`uVBq!ia0y~yV4MhKf8t;Rl09ZW#DNrNfk$L91B0G22s2hJwJ&2} zVBYKL;uumf=k3jny@vusTn`@aV!Fer8z3b6Kh znKM?#=NTK`@2TTqb5K=cNKs;PD6_TSb2o2u?rc{^iwYaL&vpCx@Bed6iJZ3c{`+an z4-(!Vo>?r$FtdYULMO*4H5vq?sQ_n2xcT+ZhtEIH>{=(r3d%P(Q`5dB+4!;^m>zd7 p5}enz{TII3AEPhK^kM4E`}SRDME7)s`~~H122WQ%mvv4FO#rNoT@wHR literal 0 HcmV?d00001 diff --git a/image/1/History/Chart_contents_7.png b/image/1/History/Chart_contents_7.png new file mode 100644 index 0000000000000000000000000000000000000000..9addd71ac5f46631f1e8f919b6298c17c61c1411 GIT binary patch literal 1159 zcmeAS@N?(olHy`uVBq!ia0y~yVEhSWf8t;Rl74J^CIczX0*}aI1_nK45N51cYG1~{ zz+&m?;uumf=k3kF-a`%&ZWrhCGQDEqwpc7Qfx)kBw4AuemuE7p#y{oqtZdJo zu`=Gy$lw)c|BR(UZ6bSv1`x0K{Cun4^wW3Vmsc|%Xta^*ue6*0pYM<8&(z3gReNuV zGVrC`-nRa5)jEiBkd{$A8U~|jVDO{?P!|4HJHIscEiVK6rrg`t6a9@p>-{=Afnma@ vPci%qfl5I9zW&qi-;?hhU=T3+{F~ihPCUmsbdn9QWMS}h^>bP0l+XkK)&+V9 literal 0 HcmV?d00001 diff --git a/image/1/History/Chart_contents_8.png b/image/1/History/Chart_contents_8.png new file mode 100644 index 0000000000000000000000000000000000000000..7842f47b361db971e20f45caeb6fdeb7f0fc6b39 GIT binary patch literal 1249 zcmeAS@N?(olHy`uVBq!ia0y~yVA2M%KXI@D$sUH*XF!Uxz$3Dlfk96hgc&QA+Ltjf zuuS%JaSW-L^Y)fw@1Xz*w~O;RnO?DQTPzluz~I-_JTX91cpCHXXL{!hKg4~?&HGg~ zYi4O$9y7y*&%X@07y{J77#d7AGBGTfYp-9vGv-;{{%BqXi#v}$&UpU$=ldJ$BO<4z zuDiavl%e5p?(J`-OVSk>6nxh(Fk~jNGI$7UGdRqOU}U&-go|MU+@wy?Q6;0{0!>z< ziD9T`k}aQ~KmArazch9&8-q;V?QQFo{f$5CO`dJZ(6C@Syf}DYANK9Lx|lH|gQfBQ Z`p4bkIlYIbt^}4@44$rjF6*2UngAs0Uj6_8 literal 0 HcmV?d00001 diff --git a/image/1/History/Chart_contents_9.png b/image/1/History/Chart_contents_9.png new file mode 100644 index 0000000000000000000000000000000000000000..7842f47b361db971e20f45caeb6fdeb7f0fc6b39 GIT binary patch literal 1249 zcmeAS@N?(olHy`uVBq!ia0y~yVA2M%KXI@D$sUH*XF!Uxz$3Dlfk96hgc&QA+Ltjf zuuS%JaSW-L^Y)fw@1Xz*w~O;RnO?DQTPzluz~I-_JTX91cpCHXXL{!hKg4~?&HGg~ zYi4O$9y7y*&%X@07y{J77#d7AGBGTfYp-9vGv-;{{%BqXi#v}$&UpU$=ldJ$BO<4z zuDiavl%e5p?(J`-OVSk>6nxh(Fk~jNGI$7UGdRqOU}U&-go|MU+@wy?Q6;0{0!>z< ziD9T`k}aQ~KmArazch9&8-q;V?QQFo{f$5CO`dJZ(6C@Syf}DYANK9Lx|lH|gQfBQ Z`p4bkIlYIbt^}4@44$rjF6*2UngAs0Uj6_8 literal 0 HcmV?d00001 diff --git a/image/1/History/Chart_contents_color_1.png b/image/1/History/Chart_contents_color_1.png new file mode 100644 index 0000000000000000000000000000000000000000..01dab6864d28c8e9f3df626c923b83ddc2fbc264 GIT binary patch literal 1489 zcmeAS@N?(olHy`uVBq!ia0y~yVAch)KXI@DNrwqqi9m|8z$3Dlfk96hgc&QA+Ltjf zur_!xBop=QGu3K6;&Z zZ_m*)Z_?7Nf#%t~{*h$Gz|int7-SV=Au9ueK*YVcjdAPK_t$UMWnehKJiqwu!8%+YWdO$4KvVVIW$r*CWP zO+Q^zv*)%L1H*&H&o4{LH_VuM_e@SNu%!O5WpR2Vye!@EulQ^6-U1^w&p+6 YT2b+7dLpI&fGQX~UHx3vIVCg!0QAZ@IsgCw literal 0 HcmV?d00001 diff --git a/image/1/History/Chart_contents_color_2.png b/image/1/History/Chart_contents_color_2.png new file mode 100644 index 0000000000000000000000000000000000000000..059d99e8e2af440bfbb13e83d25491169fa96ac8 GIT binary patch literal 1424 zcmeAS@N?(olHy`uVBq!ia0y~yU}gcbKXI@D$tBIZ`#xQ0ka)HR9f7y zWnkDd^XtZaJWoyvFfgeW7lWs(pUXO@geCwYs^?(< literal 0 HcmV?d00001 diff --git a/image/1/History/Chart_contents_color_3.png b/image/1/History/Chart_contents_color_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6b22081f65df717c57395ea82899eaf667783263 GIT binary patch literal 1608 zcmeAS@N?(olHy`uVBq!ia0y~yU|t1ef8t;Rk}jSWl0b^Hz$3Dlfk96hgc&QA+Ltjf zu>SINaSW-L^Y-?}TqZ{m*NgqGe#*BSSDs-JNDQ8qeS>Yy+9OIPeS+o|%Nu3icCRzp zJbUKpGjrI1#xdRN0g?`#0jvxR3a%@d7#JpOs<%0_NvC*kT@)t+L&Ngu>!p6n`|aod z6kpYTIPqS;dp1zR2cdQUKx&mj7#SEm1VOG`!VwB2gIctJq^6T7P^-v7pidmSkc=Kx zJ{mHkX=XHgj20ZIW#p-U9}RAAJNx!qsw%MbocHeDg8nk&;+Zoy-{%LGppC2dBg)rz m`62ab&u;4gMfTh|^M{GmUO3>6*{=maK7*&LpUXO@geCyrb3elX literal 0 HcmV?d00001 diff --git a/image/1/History/Chart_contents_color_4.png b/image/1/History/Chart_contents_color_4.png new file mode 100644 index 0000000000000000000000000000000000000000..dc76927c5807812e4e609fa5051b5097ad451675 GIT binary patch literal 1216 zcmeAS@N?(olHy`uVBq!ia0y~yV3G&2KXI@D$+r^AmjEfw0*}aI1_nK45N51cYG1~{ zz*6Mt;uumf=k2Y7nNE%(4j0o4@|DX39CNha`Mx&&ZXV$#y=85rJ||1d~lSfFCZ&@kl(14Gd3jXEampk>#OMM zKbvMefA`!>W`_KSH(41xI{6tCRAG7^F^>w2hR0}ffaIW|nH#SB`nc)#TeIh%`*j%@ z^mm#ctq(IUo;h>xM<#~G=5%pLZol&P{PC+N7#oh9c`t8XEBuka>|!UdNMi7G^>bP0 Hl+XkKD)njZ literal 0 HcmV?d00001 diff --git a/image/1/History/Chart_contents_color_5.png b/image/1/History/Chart_contents_color_5.png new file mode 100644 index 0000000000000000000000000000000000000000..e6011aaaa82d44794a5a10ae0e822181ffec86cf GIT binary patch literal 1291 zcmeAS@N?(olHy`uVBq!ia0y~yU@8N$KXI@D$pf!Ced5OL?sedcXCeAA9TQ04}fZVaBT KelF{r5}E)h4m>mf literal 0 HcmV?d00001 diff --git a/image/1/History/Chart_contents_color_6.png b/image/1/History/Chart_contents_color_6.png new file mode 100644 index 0000000000000000000000000000000000000000..a6373fbe6b628d110b3a54f7602e481e01793c33 GIT binary patch literal 1040 zcmeAS@N?(olHy`uVBq!ia0y~yV4MhKf8t;Rl09ZW#DNrNfk$L91B0G22s2hJwJ&2} zU_RvO;uumf=k3jnxlE2Ct{3}V{gg`*q>MRTwrO_r$pkdGs$Of`-M8bTTt=zUAQ(*rxHH1H+s)^n7w2uy?`GPt=}Tg^x$*UxJ7;h; yh~JG(XPnT-0RB9 zOpV)T-sEQpD5^A8XE5osVQ>NAwest?-pzYn@n?fM!=4H2KVPqzfBrw;ACaGD(~RHm zo*T>fpjGGk)0Z3Oy=GMKdNPVf!(cQG47N0o^|xZ}?YCyjFE8H<%&sxhf!THSOv^K8 z?oD8rQ1mf|pCM2Qh`-l=+W+0ZikaEr#F_K*aY^FSR>XTX0E-s}Pgg&ebxsLQ0Pa$b A_W%F@ literal 0 HcmV?d00001 diff --git a/image/1/History/Chart_contents_color_8.png b/image/1/History/Chart_contents_color_8.png new file mode 100644 index 0000000000000000000000000000000000000000..a4a9c8a9b006fe96071f9a132feaba830a6a86af GIT binary patch literal 1118 zcmeAS@N?(olHy`uVBq!ia0y~yV7v}wf8t;RlJb-KKL9Dt0*}aI1_nK45N51cYG1~{ zz#`!3;uumf=k3jnzRZpyt{3y4SZx!G;dmWXz#JepX=Q@-4YwYSjl$e_Kg_8xIq1F4 zq41Hu7+b@P9ZU{BPz}Q23>}@?3`dTLG9*3XVlXUZ9hC-#<7lvqCI_12lH2<&vtIB}8pTxNn>)yb>p z)}=i&F#gTR@M7m4Nmd38VQmJ7SrLp3m#+0szn!}VANq%+ZY4~!sr3Ea=e~EZ+jrfX-p-po2X)_F z-`)4S=RH2}T72EN>%|wIDW3hnY{zkm8|uR^InIMMj&tvx!UFf11y40U<~|g?QUB^& zj`PSv=C8o|PglI{I66_gBHMp)?hy10S{UL4_bryfCoHi0X%38=EGDx zM8{qBk><~8R0Ssa!y@cp%hQ1lI+5^z2Rvv2JZKH(10L|81@NFXm=Dw9;lKyM(R9}W zkbPRRt88zZ)TH(-n8z%7C~1!@iyg9WXv0wDs>OO5x*aW=?Dtr(L#!8}EE_t|fdQfg z@SruA4|u?X7QlnnU_Rgh4_W{ZT7&t3ha2^j>|mqOfeyNS@PG$A zXaPKE4d%lP@-X|g&t`kq0`SJopf`>;i#Lm@s|E0&HJA@~wukP>@jO$YEQtnS^y7PgZY35=h$HR9Ft-0#e;*@+e(WB2zLs$G3Y=C zSr!f+@PG#`fCsI?e82-9v;ZEo2J-GB#Y4#93+0zAlj&d!(18wG01sM&If(~6XaPKE4dw$L@Sp|opf#8e zc))`e$cl%xBRgi90~K6p9x1Es$~W6nx+|{v0^bL(V3W{+4#~yw$Im}pNL~wo4QwQB zFm=5atP9qKXTdz;0S|c40(j6G%m+N+K?~qPYownKHRlJq&E7|Xo6l|BU%AWurKfr8 z^vnI*>|mSFfeyMl@PG$AXaPKE4dw$L@Sp|opf#8ec))`ez=PIcK4i*6XYcZb=Cu}` zY3prUu%wiG9NV&4?C|R=Wowex0@%a*{+`A2@g3WHf^)DX=s*W=O_)bK-~kU>01sM& z`G5yJXaPKE4dw$L@Sp{<>A`>5hyP3x&u}YYn}QB>NGu9>0}pt>gBHMp)?hy10S{UL z4_bryfCoHi0X%4pJ7qq+v+=9C#I*qBTEM@ZsV3tu0r4Nndxje#+Y)r3gSRHkBOdU8 z2Q7dHt-*Z210J*h9<&DY0S|c40(j6G%!iD7=#CuEGcVe4^}yxr`@*qpP3~=TuVGt) z4s`I=gn7gR9`K+A@SruA4|u?X7QlnnU_Rgh4_d(I;o9ScpC_&b@bBq9!y@uUo3In1 z;#rblf|rJy%#$rU504&d++9C$H}2YOyU>9SxuA?7Ld@TTg z0Xzc$>nZY|ZC(u)FN@c+U>@;+2Rvv2Jj81RFAX=D&6b^qM-Mgbt~cA01sM&`GAM4dN?*%KF1tz?!|+H)!RyoZqHly zYErv>Ti&6VZ_{6Zw_BUQ{{MLBSh49zxfXzE|0kNe51|NU3($cMS^y7PgE@%@JZJ$t zXbt8=_B@>IX$`nXi-xZEkJU9+JRhB>?}UGwTM64HbfAN-4m{ui4_W{ZT7&t32Rvv2 zJZKH(10L|81@NFXm=Brs;JfTYQ;*x`4#hSI9qz;qJDZ%RPqle8h|KnGnLc)$Z5v;ZEo2J-GAKJm5hKuD8?v2q-%-tlfl#q~ua~<%`Dab<@%LX2)XCW|nFdfeyMr@PLObdsu&J-d}}Fs!p$a@p*IPhT0dxU#@J~`Y!^a%9Q{B literal 0 HcmV?d00001 diff --git a/image/1/History/Scroll_bar_2.png b/image/1/History/Scroll_bar_2.png new file mode 100644 index 0000000000000000000000000000000000000000..f5dbcc143de91fbb38901e5657707c424645d4e8 GIT binary patch literal 6251 zcmeAS@N?(olHy`uVBq!ia0vp^xeN?kQ#sgxtZ$y$IY5fDz$3Dlfk96hgc&QA+Ltjf zNXUA+IEGZrd3z<0_mG1K>&5V<1zs6TLmhP=@?45HINzr)PRS_ao|vImS01k?j(4;VaM{an^LB{Ts5a-|+c+*2zUlg+=KuisEVKgG4{Kv{iAciH7(uW-lG z-i|e{DKr1|F8;9h>cI|=$4<8PJA@~0JY`&;e{lK_WhL(7BY`{E=I@?xtfi{%!y2aj zrbP#3wFN6p-DO(kePcF+EtKjN7Bn>4f2~Z>{F#zb_u_)c=dM|TS)FsP7%W|#6m)2b z-o}E3^W-HuFY|TTq^(O@xROEb%4g=_rM~;B8s=<}v^(1`@BWad)U+euJim`iUHhFt z>lr2nZZ6rX3ukGI_thp}{~5A!YSqozo8qr%?t9nib8*i9=-az5O%Zzav+6jN>nyOcKYP>Z0f3?0}{mf&Hl5?y5 z1hc-*aDL)>+ew{EIV5^<>G|Si-2aaS?$G!($Gb&O!}wundY0Z!C(|pxFQtb)y{7th zuIQ@$$4vFrUq4u=G5?wCi-7I`!TX<=)h!FS+q8RG?BZpXyRA!uoI2FO_3Aw z7d8Lin=ZK3M`*^Gg%*q|Ab41 zOzZoc584~~J*r>+tcp#3!IQQtSYtwS$xd-8_lHKgekWbe7`1BkTsl2t`BmGe4nXy8 zFP2?)ej%pLIAg24mF$cuoAzXummKH}=nYyor)y?P?V~$=wa?m5&YS-D&P?qP=bx?r zjBY+zdUQ{^SFqR$pLwOunv*v>ef2)S_HLPZ5RzyV}TaMKXMcW z7HZCu_bFZeO04WsRpsSv9N+51Lsq<5a__a!Th6K^9qGCEK8V{qa0<4um&n{wmU(j5 z#h0ivJ-;S)yfFD1_wRYY#BZ&6UHXLJ>=Ik4vOyF0*g OmBG{1&t;ucLK6T~Ds%h* literal 0 HcmV?d00001 diff --git a/image/1/History/Search_bar_1.png b/image/1/History/Search_bar_1.png new file mode 100644 index 0000000000000000000000000000000000000000..2a3bf981b029682da6715906efe3bc37f43c2476 GIT binary patch literal 1013 zcmeAS@N?(olHy`uVBq!ia0y~yVAch)mvgWINtw%=Re=;|fk$L91B0G22s2hJwJ!sz zTJGuM7*a9k?R7`N1_z!42M#63WLg~bJntsATkO-Rt-Gy(8hzjE@-Q$2q(w0>G?-jw zVqjP@Q;dN@;p`TmT;?)X1_lpfpk)rTG8q{dF8OdXFiaR#IvN6_AwY2moIg_|1k6*O b#{U`59b?bq+$|mn%yJB#u6{1-oD!M<8m94@ literal 0 HcmV?d00001 diff --git a/image/1/History/Search_bar_2.png b/image/1/History/Search_bar_2.png new file mode 100644 index 0000000000000000000000000000000000000000..10a82daa0208bd087b8ff74b265d6f82ab48a9e2 GIT binary patch literal 1222 zcmeAS@N?(olHy`uVBq!ia0y~yV2K5?mvgWI$-@hk?SK?#fk$L91B0G22s2hJwJ!sz zs_=Ai45^s&_J*Tig9Fcj1BV{m7v?Jn@rkM1E%fQk*4@@XjSO?X+$&-N(doNDToxa3 zAlcCH5+o*I0J4aIX&E<=bU0AL2&6b>=z+u-FS7zkg@jQ}qX99RB1W?Y)A=)d4uQ%H c8I#X{>))}@6I<(~0OT@wy85}Sb4q9e03Y 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 Xs{h&llkY6;g&lfvZ~vKZzc%)Nf?i}o literal 0 HcmV?d00001 diff --git a/image/1/History/chart_category_3.png b/image/1/History/chart_category_3.png new file mode 100644 index 0000000000000000000000000000000000000000..88eaf972c0e62c1960dae853c38a055167f9d246 GIT binary patch literal 1645 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

Vs= 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 literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Arrow_top_2.png b/image/1/Worklist/Arrow_top_2.png new file mode 100644 index 0000000000000000000000000000000000000000..9d90ccd4bac495e3950c0442f5c71bc152357604 GIT binary patch literal 382 zcmV-^0fGLBP)X1^@s6PR1M}00009a7bBm001r{ z001r{0eGc9b^rhYFiAu~R9J=0mfH=2KoCW*#(ycn4xj`}paUtvQs_XaKue$m?7$MB zf;DSq6HpfRF@v0hKZZS-EHihfl!5>WfCfMdppZD=An{QEC4iKk4#1WD1l@7wr&7NZ z+~=$zZD5t>lrCnZ4f)o@U8FUgQYzbuxT`d)eC#;PXzU$5>w2nvg&w>QEsT%`)jVk4 z2NBxw6D^kz=^;-5XPWh1gmgTiZpBK27E}{b=qqkkc^Yz<1^uncx5)RZw9L{&YM)%= z)A34BT63X{2gJB!=gO*R^((h*UbH#`bW75-svTJn(^(_dp7YL z!2OTX2CMv(c+4u7U^3TykHf7=!X1^@s6PR1M}00009a7bBm001r{ z001r{0eGc9b^rhYUr9tkR9J=8mcdN}F%U(6wt;ZR2Rhi4Kmk|+37-QUrGvoP2Uclr|Rtb^!L?*$43k0Gb+y0@wg( z0j!lan;H$o9aq{s1>kR=AHB2TyO=~Bk3a`)l{TUyBjz}PZD)SF^Uih>{Y1bMp@ZH5 zTzhBtr9F#Bg#jJ346lvSW>wm^$Z-M)&)$+*8k}EwXAil(vmGyh2Gw-*-e)Pxaiz^w zST32+$9koif8!Ri9VeGM0cg;Y+T|3oz>ijWo6{_!mfnAsxQv4n_B=c=b)QW6#fTz z;VQ48leuPeIsYIuV!7tial!miOQT%VKt6xe(kRz7mGVb5_#qlBE^qF`c>D+GF9FXV XVib-oSAT3U00000NkvXXu0mjf&4aVk literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Arrow_under_1.png b/image/1/Worklist/Arrow_under_1.png new file mode 100644 index 0000000000000000000000000000000000000000..a1791106157eb03375f9b4a3f14e73dda3930a60 GIT binary patch literal 419 zcmV;U0bKrxP)v( zE{(Psc)U}-*Cy92yjQHg^LkW_i{U#IYieb(c@yJH59ph3RZ8}NqB_j$a`A#x(GPrz*is`CjoqnOr=8im?T}-S~^|a$j};_yA@l3dKCGP~iXo N002ovPDHLkV1g-~ws-&l literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Arrow_under_2.png b/image/1/Worklist/Arrow_under_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c5e97fd323270fc94c9b5bf2d58e01946c267b1f GIT binary patch literal 356 zcmV-q0h|7bP)X1^@s6PR1M}00009a7bBm001r{ z001r{0eGc9b^rhY7D+@wR9J=8*5M6;Fc5~}S0-Q+9l=p>14qJ5904|g32Kg1qe#oO zlmcJUAJis1HhOm_V@v~_IaVG8a0S`}u^&JsH!cq)@I1iHxAvmD!ftf(Er5Pwm@gl+ zoGHEzHui%(;(ySL;OrFN+h0TXy*Y+s@%MZ#Z+d%?&G^t1Tv7wK?Yu*rXgqLsfWN!Y zL!=zetlH#HHRsa6bK_^xA@E%ITI&gcmonGv0UZio6CZ?@^`2Eil6tQB>x!EA%AqSM z=b9)qk#G`?2GM91z*&f&oIgUc1Wx2!<89^Yg#Mcyt5Q~v&KPq^@y=9mEnd|XbHkbG zuF24Az+L#H=(XTud~jFPteDQJ$-BEs<&d(MHoyy7fIG94KMctL0000X1^@s6PR1M}00009a7bBm001r{ z001r{0eGc9b^rhY97#k$R9J=8*1HYDKoErCA4C@v0VPlXAqAKYToM-((unDS0-ytQ zcqN{9>>g`lPvpRYPaAkH?MEJ!D;b3VEaGsElD&f zIK#l#DKt4acYNrCmCsiGJDDt8@Kw+FuV^%I`o#wg8ZBH>cigT)4y1}2-tjarp)p>( zEBvvfH%xH+cgl*0KP|8aj&e_c7Isn z0!O!NR8_8x8=U+!a7E({=QCctKP;Jf|DYs(X_i1^t#Va>E9)n!Z=$R;^8f$<07*qo IM6N<$g1i!v#Q*>R literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Button_1.png b/image/1/Worklist/Button_1.png new file mode 100644 index 0000000000000000000000000000000000000000..760f3d0e9306969bd8e40d560fb76f28511f33a1 GIT binary patch literal 1947 zcmeAS@N?(olHy`uVBq!ia0y~yV0s5+zv5s6l7EE{d<9aR1s;*b3=De8Ak0{?)V_>? zf!){B#WAE}&fB~Ge$nY7#~uosP4Ih_d4kL1_|_KftHskMylIe~@~%Pkf^5Y*$Id5} zC-^R{bpOZ|6Z_rRXvTkwg7~kMDrpas3XOiee6d?Tf7NOY`Zfshy$}@DXt@@++BJY|X z?&$t199_!5P%&kFXsOkF-}7?6d;7V*A1wH@@V8@VX@(sG!-tglt6x>v&5pDA!dT7! zw;ibI_J(@Fw?LVk*x>ri-oFap^X{-8{^q2cc9ZSUPb-~94B)_@WCvI2ah}X1sgz`^CD7{iZ;{`r>FF28KNy@4n6ad;8JfW5(~KXO~^%V_?uGy}QY4(;80^Ob7|(5bTR=6B7CpY~MmUjDb6k&)rR>ffoK=Y4-I z{XO_IBSS;nj!Vy`KeUtRv$s-WW?#wV%nS|;4}tz+Y_VowU=bJ<91W1s z#4vO-!mfgN2@y~(U&Q^L8(duM2Ic7s^@n7E#s8W^wMoEg;6nD~y+3n)?OkOzTNtSJ z((`pUuU~hZ2QD5it-5;sp)pH6cjn`JM}ND9)*7h;OU}UgQQi4F4ez|( zUtur&9$0`U*==RpfAQMsmDhRO9tZCJ@^|e_pw@G1&uuxMe);omxtiCeiAo#l`Bt+f478~QgD=<*LL zvEKXZeYRXrHh(u8=<>SIxm&E&=GFsih}*iisu!yRHQf%b^Y`cb?%VwE#|qY(aYSV>fcU*bN)TXlzoM4TG+JenYn$vygC?9LyaFZVp}d*Aas_kLcV zvUgcb|E;^W0)T%~A|nN0lMBuN-hxBDZ%5Ap8eYmtOcMe`lGYlgKuOOBz#mUy97!#> z#y`O$ znFi_7+;aE;DJ>)rx8kz3sxJR)=#Ol48eY$Z+v{_N*dDkTvYM>?6!!Kzedc$s0G;l%6HJ zB211|th*l%kTJ&T9_OTY2_!QW$lekl+-JhTc>kb5!*%+;WA=87ZNvA!26#Tj70R?h zGh|ucytkL_v?M(V0GO$_U{*gJYN^5#J^6LMciJ{XPiM8jBASs*zR%>);{HIQ(DT~Z zrEAK&(asvTM85@qW{xWNbXl!x`tt5u0Mf%PgHxilyUV&r;Q+Z0GP38-loLI8`zL6Z zkY{|>vHmi=Q4G`y-KQI@JhN=gh&tUq)KRiBZ7gE`sXdPckT1M7rY7jo#i+c!W~5#Y z;HpD|cOp|$f_gI~c*giLLo*VRwsCr=B(=6jVfJw+;wyP-52v ziqQ|w`gy7-7)Yqs-~2^PeKox@g|!ZyzZCbqPl*TR!#|^lWa(e2bck$x2f~K@^A4V> zozLgrEKz4j3f@Z|IUED9cyM8V)kU2^(>)PJ$vuZk4^7{QfQYwQTzT~9Fr)}%Ha)6r zG^vdRbh0v}dIvyP!=zz?(CFuxjj*tF2vJ?tlZJ6}{4N)VVv!f3vv<6HCdkPdYKm?^ zJoW}P<#DuGrx2&P8UvkyYDSQw=6NU4^OKtqYteqQ9XVVv8Sv~f_w3+T%ip$(Rf56! z)QN=x7d2GgE52t8b+vDsz&mXr zZvqs@X=!{}>-4$Y?nl`_ex|k>k81YRS4prST`ezKQR2M1x;q-h_1Vyu_t;+>^n1J? P)mlh;o5i?yH1ooLz#f4u literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Button_2.png b/image/1/Worklist/Button_2.png new file mode 100644 index 0000000000000000000000000000000000000000..80af6c58f3a1ff181f0ce8d76ccee253973d5d25 GIT binary patch literal 1887 zcmeH{{ZG?Z6o*d>lfr;u)DUP~>qszhjFB}C972I$Dj`%bb{)lvkxi)5m&t&V+5#He zup%sG33k+>xTV;R;(VzE6q+rAFi=(tl$5qm*_5=jNNV|3N@2JAFP8AbeL3fzd(XL_ z-21c?(`hkLiBSL$Q*bo@H~`**=1#&6)CYGNd}xRi94)N@NKFbgobYFA9YDm+g8bYQ zLZ#bgE9qqJmKwQ`fk1PpS zn(xoFN{Q`XJ`k@8CyhqcKNm_f)9$EC8AVKqXXQl;4#*ST>SuEm_V>+w!9Ayl9vY+e zBxCrkIUL}&n7D67lqt7C8ZxDD2nhqPwWR zgtZ_2ucVY^6~p(aDgv6AnN?h|g(cFcs;&Fojd!@uu{XcQ3sbBruF1oqp)<<@y-!H3n5^y3i#&|}Z72;@KJx-=ds=PLAF~9nb?*hR zoAnLDSo3s|WAhIM3h}4OddF72pdO%{H$O*$l3eC#k=^`z@OhRS;IAv1I(u-$S)!;2 zWwm8gU6oYSF7oD(A?~*gv=gzU{}v8a^-74I(X&Ve_5jD{=$R1E{vHmQwslS)8y5-i z=6tdh2R9o{`>d)R@1VHOm`ZD(=G?pz;AWY8pS2@&S@9f&1hCX4Kx)8ms9-#y9)Lhb zTggq^&TT=qAH)CrBN*a5^DzkO18ZUeR!G4^la?Lp$WBKHU$ShNF7$7lWNcmE1@MjQ z)oRbgl>{8*bfk{l{^T+x6r5^%ur4@p)_;i8iHYwc2QNi^F2f?p;vtwgr!FFxe5mT3 z=BInUav@5w`)xY2C0%712!k9d?~(hV?rYKw=Jc&*92jH?ylV>Wkl!vH9xEvuNBCLc z8-LhnD{^EjYp9=+5gy}45guoEdoJ@CwP)x6ueEfReBN8EXAUm0ABTYA8#9pYc~Wr&|F|?;p~Q*c08p z)~f+EXE1s*-it0%892pgJbZAL_HiU;{DsZ%4wj-iKX264EPFd1Gy0JCryJvnhq9X2 zsFtm_z6McrSNs#nQ_(%Spgf&3%1L&Wn~=Ixy~95qx3oBE>rrn(v8m^7(!$Ug1b8So LLeJOcoxb!h4X|PB literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Button_2_select.png b/image/1/Worklist/Button_2_select.png new file mode 100644 index 0000000000000000000000000000000000000000..1289ef0bfd2796dcdfd4653151d540662edb9d90 GIT binary patch literal 1928 zcmeAS@N?(olHy`uVBq!ia0y~yV0s5+zv5s6l7EE{d<9aR1s;*b3=De8Ak0{?)V_>? zf!)f}#WAE}&fB}^18=)a9Dmr#R-koYyR8$uqG$_WleULf0cRQe66PRB7xseW{2fg* zxK8NA847jme{}x6b=^EkUUoLds@fkv=B92ftgMW@b~WmEfY(j!rEm0V?nM3WWMoh{ z@2dGU#U|}?bv?po3|$W(kb`8os;-p`kVb( zb_RyHGuJmZ)_>sn)BMnG(cb_53CC*~7#qL$T~zJkH*eP57yLP2l9Ay+%HK=o@2a0MGcZivrhW$)5WmW* zcf6MpVPNpNHLn2Z+?Ts=?Z}q|^RF%Y$-r>n3uie41BU`otwIAx0mC7n9ZVdff};U4 zniz(7M)*=-Z>GV(Fk{POxp&XgSb&8>*}cQHX>Pz0Ce!#Kuw1%qetXTS)l8>rwls2ko072;xq^_{ux~z?Y-fK&8>+ zq{5wbvhTJ5s}cjv>$ktb zd9mTFnv-h_ryIS$7j3M4pMT}c>PnzTC(BL``d5{+;k>Qoo##>6 z)sJtTus;K=Bjvu7Yd+m@&8qsG_t!TC^Rw61N{AnM-`igNfq~(}<3GQ0Z2Gd+-oIYy zdyVh=Y_}8NADevc2g+=IaXh|i!TdGSue`l9|1%dXy_>P@*0-I&s+Gah)z4*}Q$iB} Dm@<50 literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Category_tab_1.png b/image/1/Worklist/Category_tab_1.png new file mode 100644 index 0000000000000000000000000000000000000000..c3a008ad8638e3e94b2b9f8749a994d3551c2e6a GIT binary patch literal 5300 zcmeHLdrVVT7(W#Rhqj`Tnb@*cWno(a=y()l(2FpEY&4tWg2;2~V7yvN<&DsY88}3` zmrg*)oS@wDP`tQR12kuKo#8W7TsyG|NZBlwtC1QM zj;ZP~Hl|9Y>6A(5SF1=qvSh9(hMSgktdXg=_tjY9FQuR>?kr`0ncF}?*}EWmh%++7 zYd%3Q?n|_P#lqhLR;_&VaoTCmY~8(%hrXolpEQR@Sz91RXMsD*(KziWz%8R?WnP(s zO&SZ!qUNq@cGKlKM#2hpGN!tWHA-Pi#yr~n<-a*UwcfZ~&fK^>UZJL7ssk@bkOs|r z{2zF24%-%!XTinj))|7G!`=&0x>|T{1I;| zyM;V)iHda5VI;P$qn?`5Vh@4>PUf*-L=lx8?aXP|?I$Z3jUD2I(Y3b{U_7krId6(P zY?63b?>rl|43t+a!-Tdx6jkG~(<;B@a$Ht?4BfimbhbiS6su2CF4_?94$rjXWJJ5R z*Ws%F8t}W1=Q`UkYVs;9CW@w$<*$FyOqw{jeGN3ZGk@sC)w$+jaOgQ4B;?1AusD*q zh1B(IBg7Wa&Q?p7P4MiD1jwha?J$P1fhG*A=1uk4ItiYfG>FZGI9sWAC>ep+pj#UX zw4!lX)aAl;cUsjpg(r(ttVy^u%%|z|Cc@AB<5`5_rJ6d(I9H$bu|#hKokQ}4F5)e*bBs7Aoc>W7w`xWM*(pZ z5J$lqJ_Jyi*ixQ!NqqfFm@WeJ}zcU`J-i!9qT+=~zl-g_flk+YrG*b}BuU0p|EjZ4?;KLw*hmUE zWJDEgoEU=68Yqs4AF(4#s%JL*gIcYDJvorS_(?185}ulwq*Ph5E9y94RXn*C(yg%) zVMCU=s}t^At&GgrdWKoDQ)p*U5t^_0#aH>GOTWHzjWmJb4JDDPY!a>_4WpyLGkd8& zJl!AcAKf8LqjpO$U8@Uh$?$X`rqc+k>49#0fVf}Zb+a_{fD8dO=WZ0<;7t{lY43dG z0>oENFig<~ZU98-d@1fjlb+twD6iM8Wo#{K%m_v^dhETo7x$$@G=P+%sPw92cHW+{ zGRPm%3>pdPj`2-jpuuR;TuXz(2sTVHdo+zbIl!BGG_Y_Pdr4}afB(9L>4dp{LEn$r KUNw6oj{gmaV1xz$ literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Category_tab_button.png b/image/1/Worklist/Category_tab_button.png new file mode 100644 index 0000000000000000000000000000000000000000..639d7b02422c310ac9cb37b66929d5ebdc321a6c GIT binary patch literal 2373 zcmeHI`BPI@6uyB10fu157A1tD#Ti;?nSu~s!2nfOr-n7y5J;(@WLhY(EG9&jA(XTY zq;L2#CFD|BDVkyt(h3ch33F{pQX0 zeVIUxadE;s0RUX$Vk46Puq6P1Ie@i?nO4amJvNwx1f)`)>Lpu*xTFtc!m|I?LeQS_k^50^EMxVisRZ8brB^)u6f2l zdW@W4j70NkP!y)Cg$B{ zryY5JK;m9AnSH+%_;8Qr!XTbS4Ee!6CRDng2$yRwRGqoD^umiYsA`N}o9?m!z|WFI z;e4%Cn=)^zjMIn|g&Th*uL~Z^qM>Bch8qAMOc+^#B>L8QFL}!JF*^YI2DqIR{%(Oo z6zsot$uQhzA?n}JLbQ@6Gr3~{;r|62E1ho}eIP%D?dY~d20(2<|KJ<QFx{08cM--cUcU%6fo86w-{bv1-QdR^#^&-)8+K z2LQf#9f3Ex(9pR)>I+}`Z)m$(;KitF7g^jn>=FrHF3Xe}Sj zPr5>zBgj*s9t)B5t&78sF?&3HjMk2+ry2&rVs==#ItDJc6T+t!cIUQFij*oGdx;Ol zTj!o}kTCA`O4Ie+n~8=?0&lT10B@;=N6JE-w=cIU6F(G*IAunMf72I+N9K~9SF@Ru z<^{{(I`oHT>YK!ne528rnkF-4D^5^yC~LQUt$tgiJ~^v8=)q6L2{!Pa`7^)ejynKb%l8Y-pU4Wd z9@7YNI*mn;@x$If4995Bsytg+ag6ak1bNiWo#Pqq4rF)*0bn_mF5^WukczI3C`w!e z?7Sxu%|p?net7p6H&)TdjX_24;&F;{^Hp@)?yPdxQX*{;dL{sIQRK)gM=~q_0Vue@ AcmMzZ literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Category_tab_button_select.png b/image/1/Worklist/Category_tab_button_select.png new file mode 100644 index 0000000000000000000000000000000000000000..136f2359dbc1e2a012aa9a53e9d07037b81e58c0 GIT binary patch literal 2391 zcmeHJ`!}0s9DgtiB{8i_P7;Sz+s&vmbH-bj(H{3}8>!Nit)dtqaV>&ndRkpildMNv zDn+}9iaIE%u2Uh^vFa&{OIyZ?8*L&9Y4J1J@4oFen0Q|exB!iKF@cj zBLdL}a0dVY=-?nfA^-*i0Q8O+y$=z=Lw5yy8PkJevjK3n*FAdq0-rpH83+5FB<0^( zo*fA%$6^N*hj4Z_eI%wQ)`KbROI)(dG8Fb5#?!7iVjD|+4V5{*9!8d*ddy=@u}Ys! z)-grFkp`!OfkkVo`>S<~x!Jk7%2w7u`7UwjqDJ`5N(C{`bB_Z6GklgyY|Qql>OZ;n z)6&;@R)pi9MT9yG3b;KHUswRJbz59X91eA`j{AA=wZsJ%$tI_0x68})0GQWCg`B`+ zcB*7rGdyZA#Y@NuEw;b`@He@;+2oqyuFvdz)df!^K>0$`m2_gQM;|cVl~HksDQb6h zN&76#Fi@6y0Rb2QXhd&iX2)=w`VKF;@w4s#~=&~uOpw-rI=PwEck`LYBNJn?tyyG_#=pt8qf&l9l<`X#Yqr#DTIjkTSevZ6jSp#77qY1n2g+4q=8qej5vv4Vn(MxH7 zUB7&*D@=F~1;7XP2-E{BfxGqG23jF?` zzd4NI2ybpej|^&(WTxw!x9<{~9a?S(fPQNlJuKV`+Go2icn^!wsNJPn=*d0YtV;tr z%U!X;cTT>o<2gaoz1KZZZ8&&U=dw0JPLwwlnW3CLGzNJ*=x&(OFHa$3IML9Ic}T$ytu6ye&AIcW zN*7UM_osP6mA467HN}Ts-giSRUT+wGCQm8z!i2*~^8MpTgb`bd`pwa6{D46bcTJL` z2bk95QwTL#VqNHh3~~NMtZiVce&A zokJWLjixYmUr$=$O-86*kFw}oTd7(c7gaK^f#cC4iZ_-QJbKs9OI%!G9;aoGP(1;V zhc}T~WB!}er%8NBFJq6r>s(^Mpzf`uZIrO`S{e56A`oW6QRYd@STKLIJFSanZls^0 zBrVCSCoz@vqEG{~A}M65%AANlnEUXrcvfyMj_}Wnitm1z@`U$N56JiUb%RZ`nwpF( eH_A}~cMpWkn5$kj5j9Xs5bPh}*Lv!!(tiOj?6qeA literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Chart_category_1.png b/image/1/Worklist/Chart_category_1.png new file mode 100644 index 0000000000000000000000000000000000000000..17a14c4b753d208e2ffde82f50293fadad9fb7b9 GIT binary patch literal 1519 zcmeAS@N?(olHy`uVBq!ia0y~yVAch)e{rw@$u);p@Bk^!0*}aI1_nK45N51cYG1~{ zz`D@W#WAE}&f8lXbD07~To1Ny?aMh`#Oe3qa_*!6mI-THTsdYR=1h~Sh~IT_;=jDK zb<7M57ruN?lVD(2;Ijp2YUUzV1_qC4Ir;BDch7(N_;eNn!-30l``aV+m+#&@J7Xv7 z>EGY`OBom%mfzN$?eftU=#mU!pxYc~WiT=@Tyo)NV3?p51(Y|r$i%>~q*IK6LBSVc z@Tk(!5Eu=C(GVC;A&^^HbEnEO5?B&ebiUq|cP?+y(;Axyb_RwMA3(*U2g0wr(w@nC YhYI=af3o`{u&ib9boFyt=akR{0JRZd?*IS* literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Chart_category_10.png b/image/1/Worklist/Chart_category_10.png new file mode 100644 index 0000000000000000000000000000000000000000..dfde6f75150a4a16502e26f7df3c985ee0b71e90 GIT binary patch literal 1253 zcmeAS@N?(olHy`uVBq!ia0y~yVA2M%e{rw@$%J6`ZXm^3;1OBOz@VoL!i*J5?aLS# zSf+crIEGZrd3$qXr&FMa>&4YI%2N*t`Mf#&&v3JV;~6%Q;Ipah*`^=#=A;~sK6?hJ zf7ZF|!wd|mNvsSW!rBZDw?0+gc~>zjb@z5Dh7ZNtUq5|)a(zT)`>AK|6J!|_4w?%v zOi&ABXfWBx#IU4OltICF4Ff|aO!KS=MutmAxJH$Xh6{tkXkr*CnFLg3{C}Kh$e@sH oYU~dzQv%cPJ0KFk1yf`FOn4~*dK| ze={%~i2kvUm4RW23nv4^1RqlsWNGmMr5@Dfqyy!yX&`^$jEX~kt=N$UnI xY9pRLidJA?aBzrWWME)9A_^=?ql}B$`yO%4>;A-~4=jEeJYD@<);T3K0RTDqa2)^u literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Chart_category_2.png b/image/1/Worklist/Chart_category_2.png new file mode 100644 index 0000000000000000000000000000000000000000..4d7df959002aa3e36644866d6cc64dc3169b6203 GIT binary patch literal 1457 zcmeAS@N?(olHy`uVBq!ia0y~yU}grge{rw@$-m*V^MMp+fk$L91B0G22s2hJwJ&2} zU`_UPaSW-L^Y)gb7jvM9>p}5M_rN2n7KQ&;2c1yq=mEG4a|K+8f z0~-6}j)f%ygGnbN14D-pkT0+`=KQ|us(GpP?`;_v4z$hT(=WE#^G|w9SEDz_9Xp#{ z)(i|eC%)epY#G)fW!UbXYsKU|U8BG-6 zd^VaD22EC&_WGv1{QG-Mz>@9E`|HoME&z*0K3)a}+kKpj$VHl~@n?3fofk$L91B0G22s2hJwJ&2} zVCnUAaSW-L^Y*5p7mK5S!^J2`WzmluYWMzgRZF(|y12x+#u%2U%lx@mU0Lo}`e|Xg zaj_Ib!~gC3H>5BuP_kiY==s3FV08NDg4e&>BiH5aVPM#B^5X}K2A t{k`z;H)+pOwlX**yhkn%j-C0#Pfofk$L91B0G22s2hJwJ&2} zVCnUAaSW-L^Y*5p7mK5S!^J2`WzmluYWMzgRZF(|y12x+#u%2U%lx@mU0Lo}`e|Xg zaj_Ib!~gC3H>5BuP_kiY==s3FV08NDg4e&>BiH5aVPM#B^5X}K2A t{k`z;H)+pOwlX**yhkn%j-C0#PnVdUW5rT?pbC~- zo-U3d6?5L+G|X}e6mh+n{Uc0`r9I)X%^dreMgoqPSohs{#qwwNR<{p&%Wr-tGv3U{ zzz|*j(?F5Ip?L!{Lx%v+5W&-*CFd{ytkbUln~7o1#@Fx9pMD&7=$&Bc@Ar#k85zuu zh3halw7^v#;$u*7y1~fc!ePzOz>&z#AfWh$fkCN7c2v=55R9gR(TqU2EZAr>|KtDi x&AJQ+*xsh4naVI6coti8lnGI!1Q-~XZ`!~$Pwn#*MPSj#;OXk;vd$@?2>>cVI?ez9 literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Chart_category_7.png b/image/1/Worklist/Chart_category_7.png new file mode 100644 index 0000000000000000000000000000000000000000..6a311845c4d1e620582c65b3c0cf15c6ec8b7c13 GIT binary patch literal 1042 zcmeAS@N?(olHy`uVBq!ia0y~yV4MJC|KeZ+lKsmCU4Rs4fk$L91B0G22s2hJwJ&2} zU_RpM;uumf=j{!{EGI?**NcI5T2m*eE-C!~+Vio}6+eR|oEa(~@@xI<&t~hLNlSaj z%%Gji%jTe{z@Wm!=}P{9>4v&{VKzc>EdDx zoec~VI5ozcF)u0JkT7Td*jTRyFLtSp0=_&D1o!!fhyzAyuNh; V4C#LyUH~&WgQu&X%Q~loCIC8-5aj>> literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Chart_category_8.png b/image/1/Worklist/Chart_category_8.png new file mode 100644 index 0000000000000000000000000000000000000000..7e0fdf989e7acf8943cd00944bb6d4fc452b58c3 GIT binary patch literal 1163 zcmeAS@N?(olHy`uVBq!ia0y~yVEhSW|KeZ+l8Zv^{sAe@0*}aI1_nK45N51cYG1~{ zz+&s^;uumf=j{!{ET%w_wu{*_LOMIVJto)gsK1n|*mQ$adD}UzXOHKI?l~P_^MTKJ zGao}h@lOLy29r)31{V<4eV<l literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Chart_category_9.png b/image/1/Worklist/Chart_category_9.png new file mode 100644 index 0000000000000000000000000000000000000000..129d5770c2da36217fcaa7b6ca3fee04aba72549 GIT binary patch literal 1144 zcmeAS@N?(olHy`uVBq!ia0y~yV7v}w|KeZ+lAjOq&IMAO1s;*b3=De8Ak0{?)V_>? zfkn&H#WAE}&f6P?Ue19ct{0_$h6Nr`ykYS_P;&{VQj&<_q)UIEiSLeCy>HJW6X|<- zY3G<3Qu2H_8FUL-8)ocaa>&_P_wL=x%4vW1&Sgw!zWgxNul;&``|2HWhpK*m$na;l z@!0h(C@X3eypmoN0>#jjfez@mh~)78&qol`;+0J`E| A761SM literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Chart_contents_1.png b/image/1/Worklist/Chart_contents_1.png new file mode 100644 index 0000000000000000000000000000000000000000..82dfcc420f1c9ccdf7a7819f4e5b3b2a0310fb42 GIT binary patch literal 1482 zcmeAS@N?(olHy`uVBq!ia0y~yVAch)KXI@DNrwqqi9m|8z$3Dlfk96hgc&QA+Ltjf zu-16GIEGZrd3$?f?;!^f*Nf-7oL;b4H3n(0mK&+&cxtz27rkbC-r|?GL_9XLX68&& z?1IEGZrd3)P&;vokChl^?4j1~u(&ULV;G)#Vwpz3l;?09Q-SAC`b0iV$CFT>T^ zXGW$yvjUoS|N9@q5(b6^Dqai>4O28285n|&e?NWx`R6-%=Fvc2S^56^&p%fDvHqs) z<+uEDjGp*qcA)6?b+3<4oR<$&pc%--z_7%HlYwD^5YVj-UQ>XkjtY(j$Y^31%?N|I zWU$&7zc2T;&gmp=28ILgu9g0^_+((bo@u9)IRk@0Mb$o5nA@xV25;JHH#35nf#E}` b@&5XgH^pDsOntd%DkhkQy%c zJ}qtL%+Em6KCJ!S{}M?5^N(RwW978JRyuBURdniD_;bLO*1h0dh8ylLvURyah&2{)ze9-Z|C7+tHy?Nz(Bjfdq z3=BneYh)N0W*q?<>Cy@0ckHU`+q>@do%iM6fkNt^YV4kWtoS4SLYr+`>df13)7~>M z6co+lWMpudBEi7WpkWA96_^Ah79orf0=iZ}73f$6FCKd(N>`(aVl*qztE4FX zD^q>{`^{}gTe~DWM4fQuh2> literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Chart_contents_3.png b/image/1/Worklist/Chart_contents_3.png new file mode 100644 index 0000000000000000000000000000000000000000..3f05f45fa6824bf21a1de9eb078a517ceb355193 GIT binary patch literal 1582 zcmeAS@N?(olHy`uVBq!ia0y~yU|tPmf8t;RlB>Ie)qxaefk$L91B0G22s2hJwJ&2} zV13}};uumf=k4u{yiA57tOxlQ8N{c%r>a{mWbtx162l{X#w5X8KkDSZGiPSaOa_{= z;9;F93y?NV5@ld$kl6^d(&60OH%`YNa%%&H_ixO-ecf{T#$DHpIDy>y$C3s>$`VO& zUj!=ygM#}SCI*HH%3+KQ3?~FZPJPl53M7k;XpJf#4VlqIFq%C^O9IR?^3FNEE$??P z1s0J%W}iN@W~QYNkm+#bu5kj8hL)Z4?N_g#Svdn(@He!~d@ill&9f&y)F}_BfWgz% K&t;ucLK6VUh-bL~ literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Chart_contents_4.png b/image/1/Worklist/Chart_contents_4.png new file mode 100644 index 0000000000000000000000000000000000000000..7b42fd10fe315bba5f1da3278911fd9dd0e1c4a6 GIT binary patch literal 1210 zcmeAS@N?(olHy`uVBq!ia0y~yV3G&2KXI@D$+r^AmjEfw0*}aI1_nK45N51cYG1~{ zz>?$X;uumf=j|=W+`|q64i`N|8QM}j8XqWZ=2GP0StzhdZuO6}r}OVI8)%=6+qb29 z_RP|>Z;T8-_B@}i%FLkpk&$7^5q5?NyXMPod%v%Nf#JHXTz}=>xc|@Q96P>i-8Ei@ zm~A?zZ*!d2V{q`QVPMdNX%Lbh6&MYV(c}QhK0`D&yi0G-z5Ps#q2YAj;|l3QP}xxS vnw5dcAC}!$?zfk>H~yUamf^thvoiY|!i9P^N*i1R7Df!7u6{1-oD!M&z#AfWh$fkCN7mcgL~ZqBHp(Qq0~DkC|!9QpfM>UiOq%6Z>d z8FtLLeP&M&8$&_m?Bx;ALgVAVFVdQ&MBb@ E09uha761SM literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Chart_contents_6.png b/image/1/Worklist/Chart_contents_6.png new file mode 100644 index 0000000000000000000000000000000000000000..8681f4621d1eaf4529ed96ee444083c04246124f GIT binary patch literal 1035 zcmeAS@N?(olHy`uVBq!ia0y~yV4MhKf8t;Rl09ZW#DNrNfk$L91B0G22s2hJwJ&2} zVBYKL;uumf=k3jny@vusTn`@aV!Fer8z3b6Kh znKM?#=NTK`@2TTqb5K=cNKs;PD6_TSb2o2u?rc{^iwYaL&vpCx@Bed6iJZ3c{`+an z4-(!Vo>?r$FtdYULMO*4H5vq?sQ_n2xcT+ZhtEIH>{=(r3d%P(Q`5dB+4!;^m>zd7 p5}enz{TII3AEPhK^kM4E`}SRDME7)s`~~H122WQ%mvv4FO#rNoT@wHR literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Chart_contents_7.png b/image/1/Worklist/Chart_contents_7.png new file mode 100644 index 0000000000000000000000000000000000000000..9addd71ac5f46631f1e8f919b6298c17c61c1411 GIT binary patch literal 1159 zcmeAS@N?(olHy`uVBq!ia0y~yVEhSWf8t;Rl74J^CIczX0*}aI1_nK45N51cYG1~{ zz+&m?;uumf=k3kF-a`%&ZWrhCGQDEqwpc7Qfx)kBw4AuemuE7p#y{oqtZdJo zu`=Gy$lw)c|BR(UZ6bSv1`x0K{Cun4^wW3Vmsc|%Xta^*ue6*0pYM<8&(z3gReNuV zGVrC`-nRa5)jEiBkd{$A8U~|jVDO{?P!|4HJHIscEiVK6rrg`t6a9@p>-{=Afnma@ vPci%qfl5I9zW&qi-;?hhU=T3+{F~ihPCUmsbdn9QWMS}h^>bP0l+XkK)&+V9 literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Chart_contents_8.png b/image/1/Worklist/Chart_contents_8.png new file mode 100644 index 0000000000000000000000000000000000000000..7842f47b361db971e20f45caeb6fdeb7f0fc6b39 GIT binary patch literal 1249 zcmeAS@N?(olHy`uVBq!ia0y~yVA2M%KXI@D$sUH*XF!Uxz$3Dlfk96hgc&QA+Ltjf zuuS%JaSW-L^Y)fw@1Xz*w~O;RnO?DQTPzluz~I-_JTX91cpCHXXL{!hKg4~?&HGg~ zYi4O$9y7y*&%X@07y{J77#d7AGBGTfYp-9vGv-;{{%BqXi#v}$&UpU$=ldJ$BO<4z zuDiavl%e5p?(J`-OVSk>6nxh(Fk~jNGI$7UGdRqOU}U&-go|MU+@wy?Q6;0{0!>z< ziD9T`k}aQ~KmArazch9&8-q;V?QQFo{f$5CO`dJZ(6C@Syf}DYANK9Lx|lH|gQfBQ Z`p4bkIlYIbt^}4@44$rjF6*2UngAs0Uj6_8 literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Chart_contents_9.png b/image/1/Worklist/Chart_contents_9.png new file mode 100644 index 0000000000000000000000000000000000000000..7842f47b361db971e20f45caeb6fdeb7f0fc6b39 GIT binary patch literal 1249 zcmeAS@N?(olHy`uVBq!ia0y~yVA2M%KXI@D$sUH*XF!Uxz$3Dlfk96hgc&QA+Ltjf zuuS%JaSW-L^Y)fw@1Xz*w~O;RnO?DQTPzluz~I-_JTX91cpCHXXL{!hKg4~?&HGg~ zYi4O$9y7y*&%X@07y{J77#d7AGBGTfYp-9vGv-;{{%BqXi#v}$&UpU$=ldJ$BO<4z zuDiavl%e5p?(J`-OVSk>6nxh(Fk~jNGI$7UGdRqOU}U&-go|MU+@wy?Q6;0{0!>z< ziD9T`k}aQ~KmArazch9&8-q;V?QQFo{f$5CO`dJZ(6C@Syf}DYANK9Lx|lH|gQfBQ Z`p4bkIlYIbt^}4@44$rjF6*2UngAs0Uj6_8 literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Chart_contents_color_1.png b/image/1/Worklist/Chart_contents_color_1.png new file mode 100644 index 0000000000000000000000000000000000000000..01dab6864d28c8e9f3df626c923b83ddc2fbc264 GIT binary patch literal 1489 zcmeAS@N?(olHy`uVBq!ia0y~yVAch)KXI@DNrwqqi9m|8z$3Dlfk96hgc&QA+Ltjf zur_!xBop=QGu3K6;&Z zZ_m*)Z_?7Nf#%t~{*h$Gz|int7-SV=Au9ueK*YVcjdAPK_t$UMWnehKJiqwu!8%+YWdO$4KvVVIW$r*CWP zO+Q^zv*)%L1H*&H&o4{LH_VuM_e@SNu%!O5WpR2Vye!@EulQ^6-U1^w&p+6 YT2b+7dLpI&fGQX~UHx3vIVCg!0QAZ@IsgCw literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Chart_contents_color_2.png b/image/1/Worklist/Chart_contents_color_2.png new file mode 100644 index 0000000000000000000000000000000000000000..059d99e8e2af440bfbb13e83d25491169fa96ac8 GIT binary patch literal 1424 zcmeAS@N?(olHy`uVBq!ia0y~yU}gcbKXI@D$tBIZ`#xQ0ka)HR9f7y zWnkDd^XtZaJWoyvFfgeW7lWs(pUXO@geCwYs^?(< literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Chart_contents_color_3.png b/image/1/Worklist/Chart_contents_color_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6b22081f65df717c57395ea82899eaf667783263 GIT binary patch literal 1608 zcmeAS@N?(olHy`uVBq!ia0y~yU|t1ef8t;Rk}jSWl0b^Hz$3Dlfk96hgc&QA+Ltjf zu>SINaSW-L^Y-?}TqZ{m*NgqGe#*BSSDs-JNDQ8qeS>Yy+9OIPeS+o|%Nu3icCRzp zJbUKpGjrI1#xdRN0g?`#0jvxR3a%@d7#JpOs<%0_NvC*kT@)t+L&Ngu>!p6n`|aod z6kpYTIPqS;dp1zR2cdQUKx&mj7#SEm1VOG`!VwB2gIctJq^6T7P^-v7pidmSkc=Kx zJ{mHkX=XHgj20ZIW#p-U9}RAAJNx!qsw%MbocHeDg8nk&;+Zoy-{%LGppC2dBg)rz m`62ab&u;4gMfTh|^M{GmUO3>6*{=maK7*&LpUXO@geCyrb3elX literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Chart_contents_color_4.png b/image/1/Worklist/Chart_contents_color_4.png new file mode 100644 index 0000000000000000000000000000000000000000..dc76927c5807812e4e609fa5051b5097ad451675 GIT binary patch literal 1216 zcmeAS@N?(olHy`uVBq!ia0y~yV3G&2KXI@D$+r^AmjEfw0*}aI1_nK45N51cYG1~{ zz*6Mt;uumf=k2Y7nNE%(4j0o4@|DX39CNha`Mx&&ZXV$#y=85rJ||1d~lSfFCZ&@kl(14Gd3jXEampk>#OMM zKbvMefA`!>W`_KSH(41xI{6tCRAG7^F^>w2hR0}ffaIW|nH#SB`nc)#TeIh%`*j%@ z^mm#ctq(IUo;h>xM<#~G=5%pLZol&P{PC+N7#oh9c`t8XEBuka>|!UdNMi7G^>bP0 Hl+XkKD)njZ literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Chart_contents_color_5.png b/image/1/Worklist/Chart_contents_color_5.png new file mode 100644 index 0000000000000000000000000000000000000000..e6011aaaa82d44794a5a10ae0e822181ffec86cf GIT binary patch literal 1291 zcmeAS@N?(olHy`uVBq!ia0y~yU@8N$KXI@D$pf!Ced5OL?sedcXCeAA9TQ04}fZVaBT KelF{r5}E)h4m>mf literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Chart_contents_color_6.png b/image/1/Worklist/Chart_contents_color_6.png new file mode 100644 index 0000000000000000000000000000000000000000..a6373fbe6b628d110b3a54f7602e481e01793c33 GIT binary patch literal 1040 zcmeAS@N?(olHy`uVBq!ia0y~yV4MhKf8t;Rl09ZW#DNrNfk$L91B0G22s2hJwJ&2} zU_RvO;uumf=k3jnxlE2Ct{3}V{gg`*q>MRTwrO_r$pkdGs$Of`-M8bTTt=zUAQ(*rxHH1H+s)^n7w2uy?`GPt=}Tg^x$*UxJ7;h; yh~JG(XPnT-0RB9 zOpV)T-sEQpD5^A8XE5osVQ>NAwest?-pzYn@n?fM!=4H2KVPqzfBrw;ACaGD(~RHm zo*T>fpjGGk)0Z3Oy=GMKdNPVf!(cQG47N0o^|xZ}?YCyjFE8H<%&sxhf!THSOv^K8 z?oD8rQ1mf|pCM2Qh`-l=+W+0ZikaEr#F_K*aY^FSR>XTX0E-s}Pgg&ebxsLQ0Pa$b A_W%F@ literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Chart_contents_color_8.png b/image/1/Worklist/Chart_contents_color_8.png new file mode 100644 index 0000000000000000000000000000000000000000..a4a9c8a9b006fe96071f9a132feaba830a6a86af GIT binary patch literal 1118 zcmeAS@N?(olHy`uVBq!ia0y~yV7v}wf8t;RlJb-KKL9Dt0*}aI1_nK45N51cYG1~{ zz#`!3;uumf=k3jnzRZpyt{3y4SZx!G;dmWXz#JepX=Q@-4YwYSjl$e_Kg_8xIq1F4 zq41Hu7+b@P9ZU{BPz}Q23>}@?3`dTLG9*3XVlXUZ9hC-#<7lvqCI_12lH2<&vtIB}8pTxNn>)yb>p z)}=i&F#gTR@M7m4Nmd38VQmJ7SrLp3m#+0szn!}VANq%+ZY4~!sr3Ea=e~EZ+jrfX-p-po2X)_F z-`)4S=RH2}T72EN>%|wIDW3hnY{zkm8|uR^InIMMj&tvx!UFf11y40U<~|g?QUB^& zj`PSv=C8o|PglI{I66_gBHMp)?hy10S{UL4_bryfCoHi0X%38=EGDx zM8{qBk><~8R0Ssa!y@cp%hQ1lI+5^z2Rvv2JZKH(10L|81@NFXm=Dw9;lKyM(R9}W zkbPRRt88zZ)TH(-n8z%7C~1!@iyg9WXv0wDs>OO5x*aW=?Dtr(L#!8}EE_t|fdQfg z@SruA4|u?X7QlnnU_Rgh4_W{ZT7&t3ha2^j>|mqOfeyNS@PG$A zXaPKE4d%lP@-X|g&t`kq0`SJopf`>;i#Lm@s|E0&HJA@~wukP>@jO$YEQtnS^y7PgZY35=h$HR9Ft-0#e;*@+e(WB2zLs$G3Y=C zSr!f+@PG#`fCsI?e82-9v;ZEo2J-GB#Y4#93+0zAlj&d!(18wG01sM&If(~6XaPKE4dw$L@Sp|opf#8e zc))`e$cl%xBRgi90~K6p9x1Es$~W6nx+|{v0^bL(V3W{+4#~yw$Im}pNL~wo4QwQB zFm=5atP9qKXTdz;0S|c40(j6G%m+N+K?~qPYownKHRlJq&E7|Xo6l|BU%AWurKfr8 z^vnI*>|mSFfeyMl@PG$AXaPKE4dw$L@Sp|opf#8ec))`ez=PIcK4i*6XYcZb=Cu}` zY3prUu%wiG9NV&4?C|R=Wowex0@%a*{+`A2@g3WHf^)DX=s*W=O_)bK-~kU>01sM& z`G5yJXaPKE4dw$L@Sp{<>A`>5hyP3x&u}YYn}QB>NGu9>0}pt>gBHMp)?hy10S{UL z4_bryfCoHi0X%4pJ7qq+v+=9C#I*qBTEM@ZsV3tu0r4Nndxje#+Y)r3gSRHkBOdU8 z2Q7dHt-*Z210J*h9<&DY0S|c40(j6G%!iD7=#CuEGcVe4^}yxr`@*qpP3~=TuVGt) z4s`I=gn7gR9`K+A@SruA4|u?X7QlnnU_Rgh4_d(I;o9ScpC_&b@bBq9!y@uUo3In1 z;#rblf|rJy%#$rU504&d++9C$H}2YOyU>9SxuA?7Ld@TTg z0Xzc$>nZY|ZC(u)FN@c+U>@;+2Rvv2Jj81RFAX=D&6b^qM-Mgbt~cA01sM&`GAM4dN?*%KF1tz?!|+H)!RyoZqHly zYErv>Ti&6VZ_{6Zw_BUQ{{MLBSh49zxfXzE|0kNe51|NU3($cMS^y7PgE@%@JZJ$t zXbt8=_B@>IX$`nXi-xZEkJU9+JRhB>?}UGwTM64HbfAN-4m{ui4_W{ZT7&t32Rvv2 zJZKH(10L|81@NFXm=Brs;JfTYQ;*x`4#hSI9qz;qJDZ%RPqle8h|KnGnLc)$Z5v;ZEo2J-GAKJm5hKuD8?v2q-%-tlfl#q~ua~<%`Dab<@%LX2)XCW|nFdfeyMr@PLObdsu&J-d}}Fs!p$a@p*IPhT0dxU#@J~`Y!^a%9Q{B literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Scroll_bar_1.png b/image/1/Worklist/Scroll_bar_1.png new file mode 100644 index 0000000000000000000000000000000000000000..45e44d73e751bc87a5c9ef0612f12291366c943a GIT binary patch literal 5610 zcmeAS@N?(olHy`uVBq!ia0vp^nG6h^g&b@^mh=1*@<58Sz$3Dlfk96hgc&QA+Ltjf zh|ckJaSW-L^Y%($?qLQ2)`Q-n4s8O;Calhdl2aX5{ZZw3G&Nmd&ONX4*)yLPq`mI9 zd9EIG;P2lfxwq3Ir>)NaRQh^X-JB1CFGXK`tcc0%XL+yZu!LbElM9!C<|tz{5JpqN zXf7Dd1*5rOG#8BKg3(+snhQpA!DucR%>|>mU^Ewu=7P~&Fq#WSbHQjX7@@gf$Nu>{ z-v5?4Uij75@41=r`PKaeMXSrjKU9_P50`&-|+c+*2zUlg+=KuisEVKgG4{Kv{iAciH7(uW-lG z-i|e{DKr1|F8;9h>cI|=$4<8PJA@~0JY`&;e{lK_WhL(7BY`{E=I@?xtfi{%!y2aj zrbP#3wFN6p-DO(kePcF+EtKjN7Bn>4f2~Z>{F#zb_u_)c=dM|TS)FsP7%W|#6m)2b z-o}E3^W-HuFY|TTq^(O@xROEb%4g=_rM~;B8s=<}v^(1`@BWad)U+euJim`iUHhFt z>lr2nZZ6rX3ukGI_thp}{~5A!YSqozo8qr%?t9nib8*i9=-az5O%Zzav+6jN>nyOcKYP>Z0f3?0}{mf&Hl5?y5 z1hc-*aDL)>+ew{EIV5^<>G|Si-2aaS?$G!($Gb&O!}wundY0Z!C(|pxFQtb)y{7th zuIQ@$$4vFrUq4u=G5?wCi-7I`!TX<=)h!FS+q8RG?BZpXyRA!uoI2FO_3Aw z7d8Lin=ZK3M`*^Gg%*q|Ab41 zOzZoc584~~J*r>+tcp#3!IQQtSYtwS$xd-8_lHKgekWbe7`1BkTsl2t`BmGe4nXy8 zFP2?)ej%pLIAg24mF$cuoAzXummKH}=nYyor)y?P?V~$=wa?m5&YS-D&P?qP=bx?r zjBY+zdUQ{^SFqR$pLwOunv*v>ef2)S_HLPZ5RzyV}TaMKXMcW z7HZCu_bFZeO04WsRpsSv9N+51Lsq<5a__a!Th6K^9qGCEK8V{qa0<4um&n{wmU(j5 z#h0ivJ-;S)yfFD1_wRYY#BZ&6UHXLJ>=Ik4vOyF0*g OmBG{1&t;ucLK6T~Ds%h* literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Search_bar_1.png b/image/1/Worklist/Search_bar_1.png new file mode 100644 index 0000000000000000000000000000000000000000..2a3bf981b029682da6715906efe3bc37f43c2476 GIT binary patch literal 1013 zcmeAS@N?(olHy`uVBq!ia0y~yVAch)mvgWINtw%=Re=;|fk$L91B0G22s2hJwJ!sz zTJGuM7*a9k?R7`N1_z!42M#63WLg~bJntsATkO-Rt-Gy(8hzjE@-Q$2q(w0>G?-jw zVqjP@Q;dN@;p`TmT;?)X1_lpfpk)rTG8q{dF8OdXFiaR#IvN6_AwY2moIg_|1k6*O b#{U`59b?bq+$|mn%yJB#u6{1-oD!M<8m94@ literal 0 HcmV?d00001 diff --git a/image/1/Worklist/Search_bar_2.png b/image/1/Worklist/Search_bar_2.png new file mode 100644 index 0000000000000000000000000000000000000000..10a82daa0208bd087b8ff74b265d6f82ab48a9e2 GIT binary patch literal 1222 zcmeAS@N?(olHy`uVBq!ia0y~yV2K5?mvgWI$-@hk?SK?#fk$L91B0G22s2hJwJ!sz zs_=Ai45^s&_J*Tig9Fcj1BV{m7v?Jn@rkM1E%fQk*4@@XjSO?X+$&-N(doNDToxa3 zAlcCH5+o*I0J4aIX&E<=bU0AL2&6b>=z+u-FS7zkg@jQ}qX99RB1W?Y)A=)d4uQ%H c8I#X{>))}@6I<(~0OT@wy85}Sb4q9e03Y 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 Xs{h&llkY6;g&lfvZ~vKZzc%)Nf?i}o literal 0 HcmV?d00001 diff --git a/image/1/Worklist/chart_category_3.png b/image/1/Worklist/chart_category_3.png new file mode 100644 index 0000000000000000000000000000000000000000..88eaf972c0e62c1960dae853c38a055167f9d246 GIT binary patch literal 1645 zcmeAS@N?(olHy`uVBq!ia0y~yU|t1e|KeZ+k}ITkl>jNu0*}aI1_nK45N51cYG1~{ zz$WkM;uumf=j|;+Kc_$u*Nfdh!@PQ&7ZlF(o80EeaM#~p+K22C@oe7*`<{eYSMHv< zlNV@`NzHx@XmmFw|9W>kw7kkoV%1sWrQWQ^+ypurQALKqnsJOn{rSi%tsB!fnk zkA}=>B2XAj1fz+7l0*Iec*rRT4^z`c%FXwq7<-%{UaS;k5=efr9ESx X;v?j@;=@`qpb7?0S3j3^P67x&bs-J8jH{>VSar`{(_`YYcir!e&JG)!bPFk*0H zJ8*(QLXtt5IRP%%aAAY9kKXZAMKf*hZo@C7Qju@_{WG`SD*Aq-;6A&ggym!}kG$g8 zMVBYP$hP?P$k21SOV`exnEQ4oU%JLx#oB+!XIFARr1<^#%Mhm8m&YcRU0$94^hwaX z_^7|m9B)o8z01Vhzq7zXW$9d}gzmTQ*NiLb^t$%BrM=0`_bf>}CEM4%=IZ8|p4?c-fj zto|WN@Idyqdl#=Cuv!23_XF>Q`QLwwzf3uQ*ZFa}|FuZrl*xQOg%e-*2k$4c;o z>oxDPwRQdb)RvX(-Z$rZ-W|oS@(W8$F1(JGuFXAjfzx5{&bY?sPd+71{r!2yW#b(+ zA-p{mTz{Bi+iPU!$L_S=lvLMz_|~yA^V_z5eIYxu&Z4aF%iroZN&foVt^`cKz_xEU hmRLdY#cP)*(whRh&UtG~mjV+HgQu&X%Q~loCIF=X2ju_& literal 0 HcmV?d00001 diff --git a/image/2/capture_button_bg_1-2.png b/image/2/capture_button_bg_1-2.png new file mode 100644 index 0000000000000000000000000000000000000000..e84a7a1d3b5ff8ffcf5df43c2e68a1567f226286 GIT binary patch literal 591 zcmeAS@N?(olHy`uVBq!ia0vp^l|byl!3HER-HCDpQk(@Ik;M!Q+(IDCcUG>(x~O0{r4lcDugsYwBO9utId{gN0H2p{tFgg?c>% z9W$QA%YQl7ZPGn=Zitca?&{y~+b$S=I_93j=pyETi!d;KrM*qcboF_^$jx?(>*gK1 z_8>K*zd3yOOa3=MQ-3^8{3lVFT6iri{8?^VRnW&hpP>#%&$Z=0 z{Vz9N$v;ha+r7MHCsxS4zm|3F&5JeZ<^1Q5ew_a8$=tK5OyP6%ue|M@X8PQ2`wgW{ z`roT^pNREx-HeLX*>+px=IZU!pJhmNtk2lLev{3oPfXKabkw~5dUcM{X8z+(`w!l{ z&MWnC$%(qRZaFjmFKT@-@%RIY59d2{8cr~gPHZ~9Jp601K-{;#YfFwyuB}y;{rE#? z;uiJaYdDXDxa`}dTI8~?qE;!O>&^5x@4hzwvgADae(O2?_m{)9mpL^BMQ8uT6z*%{_s{oIp68{n{##xq{!Y|-dymTv64%0X_e))y_SxF#zd>2y zpTCuFlJxp(^S-ZoZopEv8+U|&Vyf@l89N5?upaSM`;IOErVs{CS3j3^P67x&bs-J8jH{>VSar`{(_`YYcir!e&JG)!bPFk*0H zJ8*(QLXtt5IRP%%aAAY9kKXZAMKf*hZo@C7Qju@_{WG`SD*Aq-;6A&ggym!}kG$g8 zMVBYP$hP?P$k21SOV`exnEQ4oU%JLx#oB+!XIFARr1<^#%Mhm8m&YcRU0$94^hwaX z_^7|m9B)o8z01Vhzq7zXW$9d}gzmTQ*NiLb^t$%BrM=0`_bf>}CEM4%=IZ8|p4?c-fj zto|WN@Idyqdl#=Cuv!23_XF>Q`QLwwzf3uQ*ZFa}|FuZrl*xQOg%e-*2k$4c;o z>oxDPwRQdb)RvX(-Z$rZ-W|oS@(W8$F1(JGuFXAjfzx5{&bY?sPd+71{r!2yW#b(+ zA-p{mTz{Bi+iPU!$L_S=lvLMz_|~yA^V_z5eIYxu&Z4aF%iroZN&foVt^`cKz_xEU hmRLdY#cP)*(whRh&UtG~mjV+HgQu&X%Q~loCIF=X2ju_& literal 0 HcmV?d00001 diff --git a/image/2/capture_button_bg_2-2.png b/image/2/capture_button_bg_2-2.png new file mode 100644 index 0000000000000000000000000000000000000000..e84a7a1d3b5ff8ffcf5df43c2e68a1567f226286 GIT binary patch literal 591 zcmeAS@N?(olHy`uVBq!ia0vp^l|byl!3HER-HCDpQk(@Ik;M!Q+(IDCcUG>(x~O0{r4lcDugsYwBO9utId{gN0H2p{tFgg?c>% z9W$QA%YQl7ZPGn=Zitca?&{y~+b$S=I_93j=pyETi!d;KrM*qcboF_^$jx?(>*gK1 z_8>K*zd3yOOa3=MQ-3^8{3lVFT6iri{8?^VRnW&hpP>#%&$Z=0 z{Vz9N$v;ha+r7MHCsxS4zm|3F&5JeZ<^1Q5ew_a8$=tK5OyP6%ue|M@X8PQ2`wgW{ z`roT^pNREx-HeLX*>+px=IZU!pJhmNtk2lLev{3oPfXKabkw~5dUcM{X8z+(`w!l{ z&MWnC$%(qRZaFjmFKT@-@%RIY59d2{8cr~gPHZ~9Jp601K-{;#YfFwyuB}y;{rE#? z;uiJaYdDXDxa`}dTI8~?qE;!O>&^5x@4hzwvgADae(O2?_m{)9mpL^BMQ8uT6z*%{_s{oIp68{n{##xq{!Y|-dymTv64%0X_e))y_SxF#zd>2y zpTCuFlJxp(^S-ZoZopEv8+U|&Vyf@l89N5?upaSM`;IOErVs{CS3j3^P6ak+B9bP;y$Q$+z;FOE-02}nrZ%A(7=_OJU|U0zXLC+}Mq z60QVXxX{1w!of`oWK^QBto(8B;lxx&-@BiG?h#|1zWe>`-%CH-*t)m;i`tS|NB8_P zG-7aLJ8*(QLXtt5IU$9iho@m8qXATKSN*M{S#Mpro?8E&`ft5UiN~YnjrrTxCqH>q z>$yq2Qghn-8P}MLl!QL~RGB+x+RhX&CcFCEZuLJ`8WvY5{QMmJrS$Wfe;(`C=;?XZ zFFAj=bzAnQYyae!tM4Q~jl5QF_H^T?C+|9>Z_b%_ex3e>>mIFDn>D3p#;!D%{`T(1 z#IwDj?^OEtnXL+m&z@vkHtW{J%{*%+?ff!}`9@z&=nltt{;hi4+mmJHb&VN?*nBH(-f7(o`{RPlb(;~f^5c;W!j*|?z5B$pmZ}E}@wLr4@$9UP^J<}YoTm=0xqPLz#mN2h zl@~0(ZmmdoxAEGv@H-20bA^ANnV|ofF}<=fe0gH7?EgRA$>MvThbN2MKVk^Y|8be& xs#vk}G_JOQ>wdg-<-ABSg5lC@elGVIqt~>Y-0QZ^4w#A+9utl!=&RxIO$IPA5%xsyfF0*CR z(+xpci_)wOw1acRtLpdvO#2x)r{@0p>yMYj)Z9D&=J(AfcQ+qg$hDHo- zYzIy-NJug$Gbf}l^zbxHWHf*ZR@GZ2ZT_k;_19XPEpiv1e_4NY(PJU$*+0Iy|1m0B z8aFj&qeA%C=p!>({r0I`66f-?+NbdHXUmuNL$U5ZzAQi1d^y=tbN=G?cMJome8 z+b12VAMrDYvDR#v$^58E`c=MnPgt^9&%9)6cQ0B0FeP|t znCSDJchlkyfBE$E#njn3kJGPX_ZL>rVilD6d%k4T*_Zt7GjAB&m4Ec&nnbLYliATl z!uO0V?L?E47C)MNIqu1uB(7R9wWW_aCA)a4CVuVaah`2tA~4bCQueF;t*6w2H<=iB z+er(5>DxLp_Ve^@rMXWotH%H0efNoL-TG-;Yom7W*tbWiIQVkRZV7|^QM-Q#imzZh zJYQ_ZzRTPEhHMXSi>-v+g7Bz44 zKDx40V9OTg7QU!^y-Tpd+R@6tMa& zIUDx2+?g2@8Ld`uFm_8+*v}1>R9#9oq6hJ zQz~=qS^o0hCJJp^MNixFX7BFb*v)^xzCYGQ$7Z*fLkgn{PNMJJnRSc}2b*NmWg^vq PDTcw*)z4*}Q$iB}b=U-W literal 0 HcmV?d00001 diff --git a/image/2/capture_button_bg_4-2.png b/image/2/capture_button_bg_4-2.png new file mode 100644 index 0000000000000000000000000000000000000000..9efe10774cfea8b9eeef38da943fe36a3031de81 GIT binary patch literal 595 zcmeAS@N?(olHy`uVBq!ia0vp^l|byl!3HER-HCDpQk(@Ik;M!Q+(IDCcS%!cX86OooY7agjn99*BpKJ?wO9|I}hLbbN{6sZ%1P8&rk7( zZ!P^#6?(I8SiFm7H&M<@FjjLFqJTPy85}Sb4q9e E00lVwC;$Ke literal 0 HcmV?d00001 diff --git a/image/2/capture_check box.png b/image/2/capture_check box.png new file mode 100644 index 0000000000000000000000000000000000000000..e19a0df49341f9fecaf8b9d689557c5ba391be43 GIT binary patch literal 447 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 literal 0 HcmV?d00001 diff --git a/image/2/capture_close_button_bg.png b/image/2/capture_close_button_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..0430eb119aea57112cec1da42587c8fedd5793af GIT binary patch literal 584 zcmeAS@N?(olHy`uVBq!ia0vp^0YL1=!3HFw=Lu^ADb50q$YKTtZXpn6ymYtj4+8_^ zFHaZ8kcv5PZ~J;PC5p5?49;+Io2;Rh>bOn7sU>QQ#){U}|1y5x+Tz)>^-kIg z?k#M6nci7(Mb;q4$M~-P(M4^g3iTe%INXiJD|m%AF@?SA4YX}vxcb_xYu-_eUyqgT ze%$`K{pFhz=EueKMCQAHC~5OfcYD)p-q&!wwK{W8mH*QpbKeEX?$}sd+xf)rbI*t~BT85J0~$gl8UApWY~ehG5WBfGbyqlWRt{_@)A%k_MLNrS=D)z4*}Q$iB}a7yw% literal 0 HcmV?d00001 diff --git a/image/2/capture_close_button_clicked.png b/image/2/capture_close_button_clicked.png new file mode 100644 index 0000000000000000000000000000000000000000..d02d6a93c5b3735df14e1b6dff960e7b790e7111 GIT binary patch literal 1090 zcmeAS@N?(olHy`uVBq!ia0vp^0YL1=!3HFw=Lu^ADb50q$YKTtZXpn6ymYtj4+8`9 z7f%<*kcv5P=bZMI4istcKc8W8%$?I?c94ch_dnKutnXOwa=&B!-UY->r< z)8iM?m|3@N-FBhfr>pH!Z127E=BjsRFL=06ZkML*g^%x*?%Lag#;#k{GO;w?j?ZMT z&Fp(A?6rSQGPEupRTr4~{b#L}!G@cS(kjzlA5%9lo)J=M+HfRC?J4&MmPgZPHl{qj zliS=>v~BVk;Tc|KQk|zxe_1Ycm1+0xEhUR5y?XaWsZ>$dg_SF?(J5qsfT#u%QzfkN zXU)84&z@zZq#U^&78X`xIC=8qXFqP;ipsE_J$rVX%(j^`C2!rkx30@sx=iL*rs)eqDKMb4B>CckkBS3=0p>OiEHR;kzCg5wXB& zp~L3Qn;+S^DsJO(Nms}(DVb7MR`%k!MmoGCD3#1dwY461)uBd z>sKG2K5g0=e;b8xzDF~E{;Zr_sk2G$NYEh-*>@aEZo25kiiuodYe_o%K5!nxq6rfv zqz#uT3Qt@);l&|Co>fWt`TBk9%&+O>q)+Cy%02F&kn*uGMNN&Z=kV7h3t2YxC`8PW zW$rwoGR4|xf|hfq_2FH~2{AX_3#S@*@yR-?2c9eAOxp0gu-96Wt$%LDVYa2GpU(AL zUYo4AN#JeL;h!4Wa{aFzb0kj~tNOEqNLDLsxHjuNo3MZ!3rnKqAss!vS+>6w3wD>? zekZg_uA+Xa{hxKmYdZf#6?~33!Pc96!b2x>#ij{m#yyTan~ulcH~eNL&~$j3n~mL~ zxf|Ns%i?xVIVk?t{ipY4`DivJYlQ=`P7926^tn2Y&q(8EK9LtK=fIg6{JoIW1v^}VW6^yPJsDjP#(!Q*{vLsSJC*^i5t6xFRx zPHO#pNdDAc8*ZO97xbqFoLerg`uUgh=6|gAn|OuY*1D|9WK)m3JLT*$mc`teICEMD f*Axer{|vK#pA&r7B$@{-6c{{R{an^LB{Ts52P*4_ literal 0 HcmV?d00001 diff --git a/image/2/capture_close_button_icon.png b/image/2/capture_close_button_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1de302e7ab5da6a30ff040038a33abe48b2e9f01 GIT binary patch literal 887 zcmV--1Bm>IP)^@RCt{2obi#WFc8L9=l<6Y^i`l%pjM!-0_{Mp0Ifi;0<;4= zIITdfK}8V1lq-Bp0fBapkRKf&$wOT1{Q(CZRmUOa+ zujzC;(QGzTIw+SG?07t?xe|q>A0ldHsvfMBK_9L<7z}R5*XuPDO$FBWlBfVT8jaiW ze!r*reE#Ei@?foC=m1bUPlD=(Y&R3s{lOTeyV1igBSdk@GqF5!Ej^3GFQVp(3F}F#KK;Wk{#=mh529F-#B^ zObic#nYUiaT#krgyrV#V{#2tM$g5q~XeXG4@{${U9C`bgOfJzDJAN|gV@mjB*oB(F zDcZOxtcfQD^CJ}((JmnG4m9|T4C&S}{Gkc~xD9^hYmeC*|Fn`PJw5mR{r6rc^>NDjp7@dxD`4xBAXc6OTQN6p) zkykg_PZGZbb|Dr=lPdJ5p-SCKHq9vh$KyW@!s&{ydH>rz6xdb%#5;rYyPKa?zlCeb zQa1B@Elg#A0M?3uuZHQYNG1(iN= Zu8OOWT(Lmy1uz9Lc)I$ztaD0e0swsV-`fBH literal 0 HcmV?d00001 diff --git a/image/2/capture_close_clicked_button_icon.png b/image/2/capture_close_clicked_button_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6ddc7a3b3022f9978001a6313935a3f243d58a65 GIT binary patch literal 931 zcmV;U16=%xP)Zh+P^Z~(Xfq=zCcZcG|z zQ$U|^0N?;HaY~>e6{sTx)G-`@%&$mTC?c@Zt|Y{MGt5}Vpyl(vw{KTs@AmsWIiYD< ziHJTD(IXMvJN{90c_pGD5j7cOE9Yj)ZBNh933h z27A;wzA?t&=1rKUX$ZaVA#QZglo?~g82y#?-iTSnX^^HUW<32#h2dH5F%VjXDbDj4 zGjf;eU6=6?GwLkGg~XI7KHiCVlhJ5IgTa8d+pUjHKc-kLQngx@ejd-l*6TIZ>vb`$ z@xW|0qup*Ny)B+Y62ij5WHOQ75|zU^5t75~G#U-cWHQ{ZLvQ8jv7JuGeIs2WMHpn| zayjXZ4?>sS3HHVVo#ooLsfAcDqgScwGNEo6S>hjX*wEn!vRSeHPEXXCDQQgg{Yv7KTQJ4J`9msnu%2 z{;`ov`Ut~9p>Q~cKu8loWJgJaVltUL9Akk|#AH3P!V-xDb-Uf8-$9tye0CM1K8TAMp78U&!ki;={Kr~LdqyR? zNu(}PLwb{RuDG7rWOax z9Kv3Voj?@l8O9i6zm3g36#oaCeXOh-eazMNF(>(jFUX^FS(84#EdMiP4GjZuQZgdZ zakHYP+W14~)z}TCY04reVJ60Y7Pq=Z1JcurRg?}9{Q+4}9$**5nP>n2002ovPDHLk FV1mWms+<4- literal 0 HcmV?d00001 diff --git a/image/2/capture_delete all_button.png b/image/2/capture_delete all_button.png new file mode 100644 index 0000000000000000000000000000000000000000..3c4108e0f0ea7bfb3fe89e0f76a6b3d1912344e9 GIT binary patch literal 1088 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 IIVCg!0I%jSPyhe` literal 0 HcmV?d00001 diff --git a/image/2/capture_delete current_clicked_button.png b/image/2/capture_delete current_clicked_button.png new file mode 100644 index 0000000000000000000000000000000000000000..b08c7e9da1787ef5691436ada47027040b12e675 GIT binary patch literal 1299 zcma)+Z8#GM0LQ1;CDe*p(pskHl(*>xN7hE8t-Osr9h)zT+hm;shMy~O3MV`)N&E*08h- z4SX~0oib;&@G&HOB&cWjQcA4kqcCy)&rhkZT%2)2M%S8_$~CFQ)pgF@gBzedP1AC0 z0pMVObu)lK(YgP8lmAV0*S7>iRYbv?xw}bpBtQB->@6Lv=Ak^q9`iH@5 zhO(0}qXZ-9rX6esxaoPKwD@kQZZ$*_jTv;Ev8S7tG#j)k_j*yrV?-AMmN2K|LdH)= zFc+BkZyH%Q>uQ&#e-TI`F>M}|X}?tnZ;Q_ilwyKk3uSbjy z=ZMZy$|I`-`rd*P?C!kCc&Vpuv2z0|SlZ9UNW>h>$xB}R>XSl7lO?7WJW^`v0_s>p zPn;5_ETczKQAxvj&^{Tha5ozW&h;dQh1C=mf=5*$_S8m&U8!%P%(?wkwQ?;ls$2Ww zL$f-%jvYcHWJ1><=Gdd39eabi-2UL4|JK{A5ro&=^K+kIY4{-FjeUzQ-t%v&i z5hu@p!qBz}d-~sKG)YPk#0!2?en@<7Alc~U9w<~rbSOzl z?m#*_Q{npDyT07pJkRtMi=&tz63Kv(2Wb#a<`|gj_XzJJ{ocU8Wab)8>VeEatUyb+ z;W4r;;99rifGG=dk&x+L4p1GLa$RK}e+t*Qx&B%klU>?~&z(^GovGu7%Zy_C2*cD` z@I(HhB z_UQ>W&f(JGUFYkb+oz9-ve90Ys+p(ly;6qKDvPf&ZQ2$^=2@N?AVUzS?EFwl r(9CAdK3SG;MS1A=oP>4rG)RJKnp9b@hqDzMF9*PR`eGVABGUf_%9d*h literal 0 HcmV?d00001 diff --git a/image/2/capture_delete_button.png b/image/2/capture_delete_button.png new file mode 100644 index 0000000000000000000000000000000000000000..9402627f80230b1d75e5ba934b22b40ef861ce6f GIT binary patch literal 902 zcmeAS@N?(olHy`uVBq!ia0vp^l|byl!3HER-HCDpQk(@Ik;M!Q+(IDCcbY8xvRLq zlQfmMUYH*|$Ykna{eW{H6D#zudj%gz3d^SIwViU+ZwN;eM5Xw^8}|^8EE4{S(Cs zR@Z&|VW<1k&pJzWrm%M2D+l>M)Ab_!ras~2xF#f5wUbf%$IJI(~Aig2|~y#M{4xnHeV@8am9jS(S-EM_EB$*5b-^$T8pIgmZx z_>R(BT_qX5=0-D2+EuxI{+e(fW-a%18W=i?zwaN;rV9=(sG&KPu^bUV;Yfs+qK;A;Kk!Mf*wwPq yEa2@S&Y6`ZI%XBS8n$L*O`nKlyT;n(i};^&Hm#{or`-i+ECx?kKbLh*2~7aUxSuKj literal 0 HcmV?d00001 diff --git a/image/2/capture_delete_button_icon.png b/image/2/capture_delete_button_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..130f70ba133b491cb3e8cfd82a90f8b504769b80 GIT binary patch literal 901 zcmeAS@N?(olHy`uVBq!ia0vp^l|byl!3HER-HCDpQk(@Ik;M!Q+(IDCcXmL_J-`}WeEHf`~dG^JRp40p6%3_*-u2x;|dg#lOi?&?x zdwJ@+41fHaJa2D}uWfdLUP1CF-tG66KNDlo=BiGve^WSVV~SqIpAUUs9xq{iQy8>G z*Rtj}P3`0uuC;jwx9@ zzfG?xU0*8CzBY0Ht+FFCebU}peXaWIloV-p%PY@Bim^jULPCp$^B@1)2il{G}J36s=J7z(v7@+<+1CcIVo3v9ad<#yp>@}#>tl@x9Z+~|NU4bMQP%O$%1tkbIeX|()oSc zBJ|WuBlUF$7CRXoSs1puS6Hdl>EQME^L$Pe$gFBe=@3weWSF4Cuy&bLCC}TQ#g%0l zzYd+5nOZd4_R&p^d2bilN1Dzx%D&~PH`VJ~_B0dSo0`VHmqRxN`^{SFU${$*L4})P z5-Y<=riK(ohfNF+!#s!=j=EcZ*8KeWsAZWZpYB<-zu!DBbe&NK%(y9UC;!~ zc(u%mu1%9xUtRT=;Xm8*Y(|Z%lPV3x{@u%@ZDJd zacTC$8JWNstm8fZV(#&MyB%_GX#d{2e%<%`bsNm1*?t`WM!Kc*ii6wbzr1?D(PjGR z=e>n*r>Y%4xhM2j_g?3h$KAMZJYIhO?ni%1^OmHGd)F_&@h&cK&$iw1H}Bmno$K;+ z?iTZF$s+x(8@3lUJlwba^41qWmSmd;ncKWAWL@v&pxE)k{O%HYErHa%%YgZc!PC{x JWt~$(695VTqK^Oo literal 0 HcmV?d00001 diff --git a/image/2/capture_delete_clicked_button.png b/image/2/capture_delete_clicked_button.png new file mode 100644 index 0000000000000000000000000000000000000000..a4e1171bcc1999ff7e39b28f6b4adb85f88a6e0c GIT binary patch literal 893 zcmeAS@N?(olHy`uVBq!ia0vp^l|byl!3HER-HCDpQk(@Ik;M!Q+(IDCc@>Z2B;wqR?7eki!YB6@|FfS^Z5+4$@gEE0^kWv%@9)*W5xyYB zT=kWG5-Y<=riK(ohfNF$kqi@b7(B!nRJa*n!a3)DcSOhWxBiJMWjVL>>b`}i%gWRK zF7x91x&4KK(1Hc`xwqyiI9=KOI{0z`KmR^8vjv06ED zlI6xn0qnmP%z4ND&$BJT_Tj?msoE!ZE6)G&?Sh!!5uSN^k+tR*_~V`%C`9Djv^gF- z_wA0W{sP8`-6*aHdP>H){#1%l$l9>n)RQTbf>w&C3UwylJb98+wEO7H?<+&JrksC% zb?=X@txk!Lr0V+a=ZpQB6{EL(!?~KdnX|ZG7nhW5`4IQ|$i;~je2|X^`kJE{ROgo?N>L(t-pQh=lcwkEbYf95Ps8RVW()vz#cHp(S6}sF)>)8{0=UeP%Tm3NO6HIUJFa*1n#5GLE)n#?{WNI(qtI@~17Sz8h?$+FH-kt~muQ>JwsO?|bDlzcoDeeL6$c#ofD=o6CC}GirBk5pzDLZ++>uQ}ns$ zxs6XQKa+o%yHIt{)8OyR%qN^t7g#HP>gD;y%MV4mxMw}v`eoZirgIzj{V{0YIqmK0 zWBKXgTGEH(;@-8IXG-5+ll$oRllQ%1GuP^Ei!G7#&fV>y_4eH=cC&y|cJ15+SqGcT sFTe53waz_oYb%=b&=c%6S*2gx@mUgLU#ni80_G literal 0 HcmV?d00001 diff --git a/image/2/capture_delete_clicked_button_icon.png b/image/2/capture_delete_clicked_button_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..082ad791f4d8f3c8cd6a3a37d922904fbc1eed2f GIT binary patch literal 886 zcmeAS@N?(olHy`uVBq!ia0vp^l|byl!3HER-HCDpQk(@Ik;M!Q+(IDCcvwP(Q~n3`{_Z;-$2!gR=V$Ks_habq zUQ~PX2iu;yiP!4#=P=p%cE9m+keUIa2AW<-6~4Oi_}mFcX>dNBUg(iJvubufA5j_}Sdd z{PJs6w(jL!g>gkzbEgHZ-12G9>j=f2ck@ms7*t%@x?|nNj5Rj-5np#H6z!Zd<@8hc zso8Un*wy_jN;OgrWSv+f!n`tRqr}gSKNS_n4tO(P`+D+hTJhu56=AET^$$C5@cXn% zp^N44vna-ESD*MT7j6u?(ONnw_ci}whS}My5rLDrTbusdNcH9gO}LqJ&EIVe_a6Ow z@#}(@o|rPT$W>N*k|NueZx=i7tSeb7`(z7f`fZsY(8rt zwb{9x+1U8Bh)H$JO^q{UCriW5ExTb%H}>s5lJ`Kg?(Yk!w`P1D)(6!0bV)j$t&8{izkF|V?WQvqKdyWqDt7$jid*jX zewDjr800qo-TUyGh2$dj%a+@BZx^|8XTjTd(Z-VmptlNR5@`V3xF tAD=ukzW6ZHiwiyCdI?wFGAMl#@4L=Wy!NG8IWQwJc)I$ztaD0e0sw#7pLYNN literal 0 HcmV?d00001 diff --git a/image/2/capture_next_button_icon.png b/image/2/capture_next_button_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d86405874912ddc709b12a5b850e0b65d5fa12ab GIT binary patch literal 742 zcmeAS@N?(olHy`uVBq!ia0vp^0YIF`!3HEZBu*&+Qk(@Ik;M!Q+(IDCc%?2T!*=k-6j-uC;P$@j}&?ti%Rr^?&Q&+pAHd-3Mgv(Ov+rPXA`7!PuAxH%Xw zH31kTQbR%Z<{~t9hE}{pba`ki;-HNu*TJ$PC!Nuk4WDk=g zI_VERI&SVe=Hhs!N>_%_@OMg6xr^{-!+C;debOskO-$uq2wuF?vdY|Lvhk&P0%!eR zRy&&PRlCIf@xz0VTA#Z!<3qHZe7srJk57M<{A*Ts=uV|0x39&9xtO1x6($(FmOI*| zWc!9Z-iuGqv3PgnZ7+*(EZJ+mOg!oLzR!=d|DO5#Y*9-@zD~OJzUl)dme;fHrdsdI zKF~6KUFYT0*z(NBmt0bF9wZlVN3=}8btlVfsgd1>!W}GcTBrNzT)indb>j}^KiqLv z8#A7AU67hr!L+4AJ&s}RqfT~*(-ldw7p&$*uzhJz4`bZ>pwrdCzamNS!=pd9c;`hh z`%GT2egBy?5l4i*8{|G7;aU)GvytJ2q<;~!*u$lnRj(^132)%Y-)E-Y?adAJn13Wg z^~1IQHeE_HEIr^+v4~fK*WZLu`BA4>LWs>p2A|v7iynENTW=`%K}9@4#OC6UyE8sz zc&@s7-u2zem!6qxp4{fS^8UwsuY^Bubx4nTXaZ3YtYj`tUob=UvhX`#!e#Ju^>bP0 Hl+XkK3KKQP literal 0 HcmV?d00001 diff --git a/image/2/capture_prev_button_icon.png b/image/2/capture_prev_button_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a02a014b9906a02a92bb63b4391318a27484d3d0 GIT binary patch literal 733 zcmeAS@N?(olHy`uVBq!ia0vp^0YIF`!3HEZBu*&+Qk(@Ik;M!Q+(IDCcZVefHPx$CuCVe=zS()5{$^9%&9n z%#$Q1oM}j5Q!!SU$#{}Dp*XMifA_kn3&+I8{H-m_P40-xUwQfa8nzD~5_h1d@NV+gMefJBYz-c=m!D8 z08ajk4DyGf-{~gSCeNsye~XLxM%(tyzva5S*Kc|s9<9g_`cZ%}K$3qc*?*7xyBGM_tkmWS!ym)l$7=rl z?{MX<(D-RvU=T6&xU=Vhl9_c;1uBnszLGKM4PWxQ!gnciw^h=#{Rc_}w}c(Zk$)H^ zxcMLd8bQO~j!VprD7inJCD2{lyOMR|3(=P?H{P53Ph6!SwqJeI*1zB0ZCR(udgM{V z%M!i0!mE|qcC205Bk}CmF0G^$7x`R|6dZQV>QFp>dy2qezKB%{ZE_z&9eC_hp+U;>4BIf4-_l_SW5`#x*=ea309N&E(&sy#3crV0vZnboFyt=akR{0P~|UDF6Tf literal 0 HcmV?d00001 diff --git a/image/2/capture_send all_button.png b/image/2/capture_send all_button.png new file mode 100644 index 0000000000000000000000000000000000000000..b0bed0724df0e84043fc88dced1180d7c95f45f3 GIT binary patch literal 1255 zcmeAS@N?(olHy`uVBq!ia0vp^l|byl!3HER-HCDpQk(@Ik;M!Q+(IDCc0u6(@7d6?5P1Q5{eW^8r?bWIu_n+_GQ@KwvoyGmW?Q{0&m3#WD z-&_B$KDYDz&mHG>-@N#>pJg>?=bmrMO2!T@X$>7`7zAfBDj6}mq_B0I;1QT8sQ{B` z_<1s~u%M!2*YB#U>kY~^HFXv}nz~x(+xhS(^YY_Yes=At`c>t6i{ZnBj-pMQG-CF( zZkrw+;1^aFvt0e}%8&0RyNgtRp0xWe)9Fu5M@usNd3E(8lJXSw)bCeZP-J4CBhUQz zO3`brzY;%k^Nw`%eE9R~vGqH%O-&a+7G~|e?YH=G@~g5bCuT(0)(Ae%lU^___X|v z)zYPj_ODK#k2QE%l^-3v@U`>&JvRG_PHuU6^ln*X=E*bCrks-El8YQPwp$o*^mP1v z`6&HQ%8P9VCzdfab3VU(q%7d%juY-#tFFG^eg1C9hTQ2|XQxN^Dt1rPHGS?jzjS7C z$;#}kzSaD3le*I1SykPMu{Ze?&bw(Pn@39ejhw~t_f`msq?xK`>u2t~nAdf0I^WlJ z{$(|?Y<{P|-p;a~S-!|lH!J$fzT$u95~_-ix#qnt;9=u;+2?$tMg7q1zy}Yd%HLi6 zd4<lOSH`VAf0)7XC)A-+iz1}UMSjY`}G^Ye8}w%k-8V^4JoB8ojuh?M=Y-2SYX36S=0POR*U;w z{;x+)^R_fTuRh4LW1CuG+_x%~TNnHD^0q8*`pdiAX9wFaS01^w6VgmN{O%n$T(Za| zSK0N)(s?tLK5u^gqSo|dk#xVB+~PZJGx^ld$IbYpB_Z+1$-%zloU6sRZ-M-JJWFoY zbx-B{oFzT`|HTPS2#vWo9NdaLID&*?h5C2TH5m0j%BSs=x; zY-__RHsMWOdurBg+ssy3eimnrhfCa6T=c)_;4Pj#=WDouB^QIItDnm{r-UW|u-i<~ literal 0 HcmV?d00001 diff --git a/image/2/capture_send all_button_clicked.png b/image/2/capture_send all_button_clicked.png new file mode 100644 index 0000000000000000000000000000000000000000..dc7cacf9d2be1078f21059e2de8048be155f1964 GIT binary patch literal 2021 zcmV00009a7bBm000XT z000XT0n*)m`~Uz4mq|oHRCt{2on2@ZM-<18LDJTkXqrYar1aK6p~iwpW0EHmj2~1{ zAI!D-loEZ>B2lYgE%gS9g%)F8^r0p+Pg?KwL8TVOgj{_|)KUV~6bjmuhLmchQfoi* zV)>7E!tC7LJG;qEGBdkB2YYzZhFVp6&QW+kP@eR=*r-&uwUa@2R`8yLw5meV=i_hh+t5;sGPcv9HdtlmHYVa zi0KAi;kV%4*r?~Pimz_)eHe*Ef?8Ty*!#^*jgdf2fZw^fN~PkWdA^SH@#DwT+1W`K zE?ltc0@(ok7UbhR+S=M^%a$$F(BMDvBW4a?l6!i3Jij(HG{hnp!*zt7c(ye;7>Xef z{~}^#@HxE2VzE#wM*gy{ekCm^Dx#yOzofhOM>II9=O`sFT)2=$GKOQki82wvBO@cO z^20#&k{HETH!{Iu{?dKq5Y@Hr*5(Q*B?HX0$ei((PNye654nhPyb!_ydI#~Q1}1jt z>+Yi$qFE<=Nv2GRw0!w;mPLzldD&z;>+4q1y1E)__EA6vH#38gF4J znb6ePxp^a#TN$9ilkDrC*5e9_Z^;0Wj40-!Z7i8E9Ivmdp`DvIcn-(882)KQtE7um zl5xQDiDH;W1S68Y82#xV;h0CLYEDk}8YUShwRZ0Zto|$Ukuf5IO%Tj$+I6)xIlu48)4$n@ zTGyq^>|?y(bCK#x)1ObD&crDMLOCb@^57wLUA(NXXs6!#LG1N)U+I|g+pqpx1YVRIbMRhFMZ=!hQ-h8x{hw8WJGIo zQ-kl}7;*=`znk@SFTwjePqIW!MAs-LnpGt*LOZ96C^`wys44umMzWseYn_6Y+wJR+KPSz zlgs`!j1W53#v)ou4qDTudec)XU;GLtm(7hPG=H>`jJfti+aBd`j3f$OC^Rgln(zb> zjN=oJ4aebDdg+E%l5+_bTa5Wy%k~tU(TR-`XnmcsjyBm2T?5!-N>-z)?_Z^p<3sSdMd1yOqtt!L{MJ&>5j>p z6_C`KvKZlp)sm5r$t_VoD_PA=aul0=2Z_~^DYJYjf*aOyEo_*$QBQ^SlF@>cyJH7( zM60aigA! zP)Mds@+6j2kSUi*HbyapNiuJeh=^;@CU4YJ5gN&qiA-@JLu`p;?nIeCT-MH5jx38q{Iz^h+cV3+O&;&Dnch2B))JqNaRfiwmn`Ul#(&my6x@e zn6^<*MJOeM<7bkt8v;>gnYK|+MQA0Xq&j{!ne}~ zg?ZZa#Rxa%zFb_Q-%-sV$fU8&c0tiRYnmS-ct~eKb!>?~M>IT3k%$(%0yZzn(<84Wo2^F>PyDLsg3_9S81s+`R}M%ZjII-~IW1*sq=T zRKK=_mc^<(6KGG#B6tSx*dsej43nuSD`(krPKfA#=LNAq0y@&C00000NkvXXu0mjf D_-4_V literal 0 HcmV?d00001 diff --git a/image/2/capture_send all_clicked_button.png b/image/2/capture_send all_clicked_button.png new file mode 100644 index 0000000000000000000000000000000000000000..d7821ee70255761df9b45ce25214edb8260da17e GIT binary patch literal 1296 zcmeAS@N?(olHy`uVBq!ia0vp^l|byl!3HER-HCDpQk(@Ik;M!Q+(IDCcUvy)5YCltW9LzliMIyL+;foc)r%ciUxhpIIyUcep)y z60jk~j@A2gMv7nFAn`evm;OQ*M;tqNb0+bAvrjoSgpN%_U*} z<*zT5=dRlA7CYb0Lj6%k&xb!RjuyW&+td_aTU)YiVPD<1ud6NxDlIG)>sQ2VYdIvUtr=k!{`G_IuV%lP-G1up>ppob2I1EE_LS!jwP(ib~q}m5z`a?mdl%dCGLCa z#|w>9at$Rf#_j*69Vsp;$78UW`+82u>~8`RMYo=K`bAf)&0D-(*7UegAG^QTv#)9& z)b`r%k(``U-^CfU^UL}T64NaW{~np}Eaj~#M`@L`^nV@URoB-S_f6&Uk!i{HdN|i& zp4irH`wXwut+d~3`C94vy-rCUxsExl8#w)2%#)3a#a&+PDLr~~&nIn{?$!sonf(h* z@3HT>+#{p*FjTQLria~>;ipAPdTfe_C&$bvA6c`&BPzx}91@Zo-h5a!HS5um!`m~i zWKPv7VtGDw)qVkqEsH^ezZEx1ZJH1SL{%5Y+)3a7GS^j?4 zrF|cqT z*YbLiERlYZxSW*|7An7W&C~BrR&?|ITJ}^>W0}u`t0(HM|)IP&Cgqe$Ire5;|H+H#`d+6Lr+5pV1KO)LoiV73lNi z6KnU*+lRcGR8vj#>Pvi5_HcAw2s6~vpYOz-Jj-f&z*BDV%Znm6@4S7CD%8ox&@`}Oyf6Sq`PXP)a(iY&XBp0ef5qE4L!ulU)vHmqV}y}9Vm r#hBc5-lF%j@D>kXr*Ct1sb`2YJo;KEFs2$<#4&if`njxgN@xNAbqH5? literal 0 HcmV?d00001 diff --git a/image/2/capture_send current_button.png b/image/2/capture_send current_button.png new file mode 100644 index 0000000000000000000000000000000000000000..28c8351b4ee7be5a69b27f2a996ce76c1e49525e GIT binary patch literal 1449 zcmZ{kYd8}M9LDFe%qS#u5QkzcnognRxXpE%%fl?Ti3gQi*-Q&_i$lp!LT*FuxmyTP zAtIMyI_{fGN^XlVGRJYgoDb*ee0bmY!}~n%^Z$SO#o5_d90kjQ0RX^Jq@}6-VFn+{ z5_IIyho`W{hapU`bS41+BFFy`-|%!e4*&q-kfz4ypzKwewHMy;#CuyICE@fNi^`6^ zD4AWX7k{Q~TXHR;%_%)k#K9{$VO&iRnpV*Vy)6$tCb*({j*6+YQW4Njb#E74MU=;w z${SRBG!o-rio~Lcz7#UZLQX?EeGt&< z{nBoJyT`yhWf3DY>Bxr~04Zkxlny|9^8H)PJj+vOO->YU{>W^C9=Kw&GM_KR6$Gz- zmkQo`IeC$C8d<*V3%w;pNPV#6q& z$@J#%ECfDVN^g98x@eFich~V+?+~Nve_jRge%PKDwXhvpoB?PXZkIOcZ80@78@0?t zdc9@!FBr}HQ&;4Gx8j-#y*n5X*9fLJE@MBoeM>BBG~`t-YcyhGPUS+l!MB`(=#u`E zZkLHMtX3_vtjUAH`XqzGs%^{#9hMBrn(DA=TK$V;!@L5Fm$N80vev-v?cNcjDN=gt zXz`s1E-CdgBvfCC*J_esKWEo#nbO%;fQDjw2m`ydFS;7L<{@9ld^<+QS>~>t9&pJR z$-#kxsr+`Lu_TFmzaTchWN~?i@|s)QVSvOFS&$HA_Z4-ZAYc-FzNHOYN~1?Lei4;8 zr6(j5D!_NIol6pTAK+o({0>FRckk3?_-=gGB*lz5X%hlW!or5;-4=+dApS(FK1e^< z;>fz3P~wau&_eTEb-EEEH^B1xmo&y}#A^5q>u%_8Q_=a#k7d#@ecC_V&p`Csd&FBx z&!;hqIeQ*AXNgxQS}%$cbK9fDgXPZ{p9}JY>C2! zBiEjz(NAjWk8B>5*~Qy2YszNPy2Uol_H;d$0XkK7~aGtcsam!S#sXfA6We?szom4A^ zavdo{)HG)0q&oY3Ry$JFq=DaYyKN-p1F^Lxi-_7GE_uc7i3pL4&}TOKVI|h49Zrdu z3KTCf)mcM4XoCss^Vy{QO6>5?Wao2!;^e1X<_kJA)>x2+xbBsg~k=soGLxU{BN zXM2Mp9@tVe8x~+dkLcy{EZJT!j{d4)NIvJNk+H&JOw z8TfOX+8xHQDBNqeQf6!pK8q!od-A>|gKtUQKc-{HUZ)lhNQ29F$04r@_qxE}sM;G# zkt8qN0Q(8CTSj(Mqk5^6Q=`K^;9W^_sW7m*Odd*5$itpWxf2PE7NY0G)}YzW(cxsx ip8)DVS5GSCNAS7165gD!U2QpJF92y~V_Jo9i~1Y7Kd;sR literal 0 HcmV?d00001 diff --git a/image/2/capture_send current_clicked_button.png b/image/2/capture_send current_clicked_button.png new file mode 100644 index 0000000000000000000000000000000000000000..632c659ee1ea6834fd0f7bfc1eb1582fd8d47e28 GIT binary patch literal 1472 zcmZXUdo&XY9LHClV-s?dMIO1SgOEnJ-j8j0*2VJLLMV?lugvla!}7>7l{~tv8_o63 z=KV-)gm7YFBC*!yQSv&Wu7=brxf{=R?w{`!8;`F@BlPB5?pL;?T+fDv$;OZy(X zFSxkq{vBg`TJ9SV3-^cw03>C9=)l-a!gl~bBm!Y$>53~_E<#`Pa#Lg^N{$&%U~*2k zR5y`8mhS%1DHmDX%ui{q3KbbqwH-}herAWO*h+vd&?;Upcq4$&t7iPr^Qu8d)6KMQ zgOPH>n3s7a5f&*%2g>0^hW-vk0Bn1^UeG8kwq>Mqp&jkJ1 z#RVvj(hnc}qk;lFz%XK#i2KgG(F#rPPN97!xx;0|mH5Y*gU5iEbWYaF#_mMqw3=oG z;0>HrLmx=@i0JnZy}rmDUaMz@=w6N^)Gizuv@>h{f4ZNsyS{!jZyce2^nl>PbxgmH zr0{seXIkxs_sW(WN>GW{b(G%CA}1sU`i28t6-vyvIDffqzT$>^vg+;HSu+aSm3yPe za_%IY>h~J!ye<}&^yZT?cajNgXGzSknm*=Y(6}LGR9h@i# z!1EdnPqjd;D6qR^ker=Gv!EeUq9+zSh*D1DO&=~FrL4A~%E9-Ii)kwbSyb`)2`Nx%&~Kpp;{MYxD6WxXflJoQ`rABil+?cjZ#=~)4s#2={EjTSbWWn;h@C)knQdF7seSNmu zBZTqRxR7Gt%Ct@u1nZdvT+M?uD@{^fIuTX*&hUUU3AAbO|_o%RN z(%f(_QD1`}N9nc_j+Vhxmi9(-$~{lOw7Erl zVqL59-2LE16qoGod}hmDh2$KEW{b)NsR)nRRmTK&Hx%o$iBg}i>U3QY%u+cjIH|$6 zv4$3!rx0>`l5SFc-1mxiO2-tk6XJ7-)w~R#<|BJTG`G>Rr!@FjLM|mzPPD{9s*SR(wT!2g}T3OUxI2ZfuzYR*aWzE zdEcCiOt*tt*fODrUH7}1?6C_B4%Tv^L?b4GP9VKBHohLupGs!pWaUe<{o?I4d+GA$ z8fh-3(=lT?u;YuEV<);Gm7V1*xdI5e^!?stgY|`KM|LCZrQ(>NrhHU7YL{ zrBwUNFEbBNvv1c3xk4}JE?@I`HGZ>C<+0B%$oe_z|5)}mDub(x5y2wPqszpRmJ) literal 0 HcmV?d00001 diff --git a/image/2/capture_send_button.png b/image/2/capture_send_button.png new file mode 100644 index 0000000000000000000000000000000000000000..f40da29fc625e71c24d715e5d98e0bb4edeb16e2 GIT binary patch literal 1142 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 O0000~{ zy&lbGQEZ8UGjw}&&L~vnc6FFFe_6zI_Ic0cJ#UWfjN&fMdG*+4-|6q|i4yKJPWM;u zEk9=&6COE@_0Iq4N6L0c2uLz3B|D_>bo4MzG*mERb2-*Pj?v7nkIXB5&{^!u08X0!E)jKRMbZzLS<@a96?#S1@ zqVaiisO^$>jT?7H%&n+&$a$SFUz*=PcC7mqzx;Ooheu;=YMH*hzpGnUCBU%m#2pFAlXfl3i;9c3 zi9TEVuV(pT-l9#Lru||1Y8!aZu27XQLc`Q&G!*0bDcs-*hS)i0J-I6Krdxb)!i!fV=r}8W#C10_NOB8D-bu2sE zIl^wO+R+n~V-dxOjP6_qZ(CW_HZNWz~0| z4{nP#F6TVAF@*WRhBdqkYc6;0SL(B?WcYXUfk)Z0-7eSM0^;ta$)8JAo$VlV?&GO* zCHd2K3NE?M-gfBW#cjPjJ$ggE_3qt0_ig8+ z($=UC2MQdd{dst{lzr8yyv$-_An}2Joqx~5C7iP#uC5%?#* z$IFm!MXL7WCDId25;{Og_mjKwB^ z=S8o};`4J_*tr(jzjbWKauQ*9>jzBqX*s8_qmt<`UQRI>c9EyjT>(| z7A{`2eV^d(I#*!s_&zPQa&EzOrH=t$V=EpXdT?;VnWKGHkN&@E?RhUxa_)oY(6PCGiMo&y#u44$rjF6*2UngGZ93LpRg literal 0 HcmV?d00001 diff --git a/image/2/next-icon_clicked.png b/image/2/next-icon_clicked.png new file mode 100644 index 0000000000000000000000000000000000000000..f42a429a0cc4666e6d2dfb13cb159811179e445e GIT binary patch literal 1147 zcmeAS@N?(olHy`uVBq!ia0vp^0YIF`!3HEZBu*&+Qk(@Ik;M!Q+(IDCc!Q`#rLjNi`qjI+k7Tzr@7nhDOP$T(&+Vy^;Wr*0 z?=k+pPd|B9?(GAAt6%1{cQZ~jR4`(5Io5DOLO_yPDcK=~r=y1$!C+PimIgKki)Al9 zPf?XNu&_2S7iU+g1~_+@mgw8Ls0b8PF1Y?EWA9aim|V;Waf+f1-o#L2vBiJ-6KM78dWOB3uoT`oU! zIiWbqVxIg_pIQM2X~Np?MOW-y*`cYE~qiQ2b+F5t<|u za5_xQ(_A6b<^qq09KXpt7ca&KqNO$$N`y3HBYJr4r7Jyw!ZL?WSHzh=XiRc2<%kNx6@^Ir&8x^&YccJ0!gI+I-bccCB}}6hE}x-{ae*J}u#m_B~f2ei4Q? zn`xpuHu1%kx>`osOyHI1beo;{GEY`J`cQY!G3J{Mokz~gXa9|PAgie#{UstyH5I66 zhobi9O%-+<%KJa>QqUKVdi`3)X8!eHN7?h9-(>3!P5fzBxOmaUkDSlzTsJ@5`F&gN z^j#0vxjtI>YWIh8OAj{J&Fq#fJ@Wr5x8!|$(()T}&OE}xu%Ds4$4;M7_uc_uX~N*? L>gTe~DWM4f?&Rza literal 0 HcmV?d00001 diff --git a/image/2/preview-icon.png b/image/2/preview-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0abe3755787508ae546b2a4aeb0e79cc4c99114b GIT binary patch literal 1179 zcmeAS@N?(olHy`uVBq!ia0vp^0YIF`!3HEZBu*&+Qk(@Ik;M!Q+(IDCcVA5{hEok}_j-TxZxVjE^Yf>k<9p`JxopJlC~BZN@5QB$Y7)JDt&9s|pE+nS zNmb}u-%~rfS|?txEX^v6@xX>N2LqT*KHU3SbLL+0my|=|9DB~b)=sWipTgfE^gw0a z_J;;Pm>PG8bJ)D!)zuMM;lN>_x@Xp@t&8=RZ@!~rqrf!7C~n&6t(SakCca|7r1>y+ z{W_ujddAZHBLDg4@ZGc1{@{>!;N>Gv+iTv_x*AeGI5;{4RV=vC-k~nQRr;;wrT&s8 z^&$-ewu$K{o>$-f{?%I3CLl$;@8Q{{ZR}hOReug%@LpAsV7NeiNv3|)Z}zU0j~ZJW z*y7GV-#5wkYp-PIhgq-6wENk`YC9wmU0kJoX`ADgPu7Cb3Q>R8%2c|D?h{w*U2*D;#HJ1{ zUp=MH6}R5#6m@8w<5y{2@rozZs6*@gM772hzl_+Q3Tmzq4wRaB%1bp>aOK*F``iq< z*YobTuDr%^e@_jg*Yoqj-Mr6F#I59HVN?t~a&t46z37g+-jzGEYc$`UOS-jTMz!v; z=_h1(u8O|??~;?3*~+xNdYxFO$6O<)pYu391(RD%ayOoF4A`IT?$u!woVt)#E!pVV zw^ysoKHj)fbo55+^eNLM>Mu=vxI?-0wb{<%i9bI6YCf3%D9v>*bMxazg(u95Vy~C- z-`|;0RjHn5bM4&mMwUmv*-6cih^#w<;eq%Q>G$17b-C^WOB)7HS3j3^P69$Uc9C`ym(Ic|8eFVrukcM2;g6!*jiWRF zZhT$y=C@zwu64}c|1aGvtHGD_A+GPpTSe8GKFd+X^FEj7Ag?_bORd6M`3UE{}G58r16 zOY*1hWSqjtyJvdsU&+o7H8W=(GrIhGuWqsO3Z`}4>boL?Sw9{<+Hq!oy@SYw1JW}8 zrirXyxs0o;U%q?CoO3}8Gp6n|yu!e{=l%X;#!}4u!gh`i=4$Ij9sI3O-K@d5?$On) z_nH$d_B`WcTK^|yVVann0Fw{r`<%eUGjEIL8gcV?Ff8kNUbwsK>=9y6vzWCz8`I9T}hJ0}G zW8LQXWIi{Wz2Cois;%r@H7(&EHm!Wv$kgyJK*h>IlwXJKi@WLC{G=+Yb}hLGj*JI? z=ghGRxqa!GM@#wIPm4ZPBwX}6a$q)pEC2OvTb8OHT5S=_b#=O4!>ft}#s!Vrzqp^z z&8VL+jc5JKU!e;c*wyM=!au%>x_xQiKZ)4SELjx^N(rYbjEg^S4f$|D<$&+Qx2JAh zOgvEm&cj}B%FEYxb20f{wcxG5 z+8qnBv|U!O^SI4+@zi^loW_i=+l!tEhW?0~VX{aoIr)UrDw7=@DvPofZ$6>8%EE4f z$f8xsAtx19*|^POS@i0%%oO(}2L3LYE?UM@r?@ULdm8_u)UNtB-=wpG`|bzuvwwdp zI+^$T>3J(TUEa@}AoOV7+5kLRl7YiT96UDXOe z|6WTfT0MBFy>E&@>atTV(mu!LEm^c?Nw5y{UH_i`f_IHM zkHf8G`<@3~*ZX$J>}R-Sm&>w}*z4-c(x)9M(vzrJ^?FzQv)7v+*L#KTta-dq&yG(; m;J!T>nGl*?kFYS*Grs=D>nyq4^fIt;VeoYIb6Mw<&;$TIRun7% literal 0 HcmV?d00001 diff --git a/image/Arrow_top_2.png b/image/Arrow_top_2.png new file mode 100644 index 0000000000000000000000000000000000000000..9d90ccd4bac495e3950c0442f5c71bc152357604 GIT binary patch literal 382 zcmV-^0fGLBP)X1^@s6PR1M}00009a7bBm001r{ z001r{0eGc9b^rhYFiAu~R9J=0mfH=2KoCW*#(ycn4xj`}paUtvQs_XaKue$m?7$MB zf;DSq6HpfRF@v0hKZZS-EHihfl!5>WfCfMdppZD=An{QEC4iKk4#1WD1l@7wr&7NZ z+~=$zZD5t>lrCnZ4f)o@U8FUgQYzbuxT`d)eC#;PXzU$5>w2nvg&w>QEsT%`)jVk4 z2NBxw6D^kz=^;-5XPWh1gmgTiZpBK27E}{b=qqkkc^Yz<1^uncx5)RZw9L{&YM)%= z)A34BT63X{2gJB!=gO*R^((h*UbH#`bW75-svTJn(^(_dp7YL z!2OTX2CMv(c+4u7U^3TykHf7=!X1^@s6PR1M}00009a7bBm001r{ z001r{0eGc9b^rhYUr9tkR9J=8mcdN}F%U(6wt;ZR2Rhi4Kmk|+37-QUrGvoP2Uclr|Rtb^!L?*$43k0Gb+y0@wg( z0j!lan;H$o9aq{s1>kR=AHB2TyO=~Bk3a`)l{TUyBjz}PZD)SF^Uih>{Y1bMp@ZH5 zTzhBtr9F#Bg#jJ346lvSW>wm^$Z-M)&)$+*8k}EwXAil(vmGyh2Gw-*-e)Pxaiz^w zST32+$9koif8!Ri9VeGM0cg;Y+T|3oz>ijWo6{_!mfnAsxQv4n_B=c=b)QW6#fTz z;VQ48leuPeIsYIuV!7tial!miOQT%VKt6xe(kRz7mGVb5_#qlBE^qF`c>D+GF9FXV XVib-oSAT3U00000NkvXXu0mjf&4aVk literal 0 HcmV?d00001 diff --git a/image/Arrow_under_2.png b/image/Arrow_under_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c5e97fd323270fc94c9b5bf2d58e01946c267b1f GIT binary patch literal 356 zcmV-q0h|7bP)X1^@s6PR1M}00009a7bBm001r{ z001r{0eGc9b^rhY7D+@wR9J=8*5M6;Fc5~}S0-Q+9l=p>14qJ5904|g32Kg1qe#oO zlmcJUAJis1HhOm_V@v~_IaVG8a0S`}u^&JsH!cq)@I1iHxAvmD!ftf(Er5Pwm@gl+ zoGHEzHui%(;(ySL;OrFN+h0TXy*Y+s@%MZ#Z+d%?&G^t1Tv7wK?Yu*rXgqLsfWN!Y zL!=zetlH#HHRsa6bK_^xA@E%ITI&gcmonGv0UZio6CZ?@^`2Eil6tQB>x!EA%AqSM z=b9)qk#G`?2GM91z*&f&oIgUc1Wx2!<89^Yg#Mcyt5Q~v&KPq^@y=9mEnd|XbHkbG zuF24Az+L#H=(XTud~jFPteDQJ$-BEs<&d(MHoyy7fIG94KMctL0000X1^@s6PR1M}00009a7bBm001r{ z001r{0eGc9b^rhY97#k$R9J=8*1HYDKoErCA4C@v0VPlXAqAKYToM-((unDS0-ytQ zcqN{9>>g`lPvpRYPaAkH?MEJ!D;b3VEaGsElD&f zIK#l#DKt4acYNrCmCsiGJDDt8@Kw+FuV^%I`o#wg8ZBH>cigT)4y1}2-tjarp)p>( zEBvvfH%xH+cgl*0KP|8aj&e_c7Isn z0!O!NR8_8x8=U+!a7E({=QCctKP;Jf|DYs(X_i1^t#Va>E9)n!Z=$R;^8f$<07*qo IM6N<$g1i!v#Q*>R literal 0 HcmV?d00001 diff --git a/image/ScrollBar_Horizontal_Icon.png b/image/ScrollBar_Horizontal_Icon.png new file mode 100644 index 0000000000000000000000000000000000000000..dc4ea7e9fa9cf32e7307b06fded35aeb48510aa5 GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^DnKm6!3HFam1{JB6lZ})WHAE+w-5+3Ub^^5D8ZjqqL z2lf+>*ZRn0KZ9t&-_0jx$!WB0t2^tY zbeVDa+*BRq2@;yB+*92ppX5AtDA{+{cfXD8DV<7<%m)D)SNYbz6gPUhZkjaTLR}!5 zlH#Rd;^x7wvLts}shm@(ul<(Nr0NwD8a^M@;G4f}+6(_D+8chKy|Ki6@&>z%1JW%U W?Pg45eZL0iBL+`bKbLh*2~7ZN)oSek literal 0 HcmV?d00001 diff --git a/image/ScrollBar_Vertical_Icon.png b/image/ScrollBar_Vertical_Icon.png new file mode 100644 index 0000000000000000000000000000000000000000..189373bfd36d2fb9509fa29583cb1ba00ef3fbf3 GIT binary patch literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^LO`s-!3HE--ex@qQk(@Ik;M!Q+&~F#A;wF0>;3=* zk9xW|hIn+oowk>^*+9T8eviYdfb`}I?44>~BpZFi`W^gRk1%X-%-ZGSQ1YZl;1qxT z()mvgso%f+@=nd}ZMl*{E}mQ`I)C~w-dJ|#?S>oOO&XR=k_Eq%B!Zc*FFPZ@*F#lw z!+ecGo5p|?H}0EEoVO;I3d^1ozj?g2G3CVB7fIJA&63}5+)NaRQh^X-JB1CFGXK`tcc0%XL+yZu!LbElM9!C<|tz{5JpqN zXf7Dd1*5rOG#8BKg3(+snhQpA!DucR%>|>mU^Ewu=7P~&Fq#WSbHQjX7@@gf$Nu>{ z-v5?4Uij75@41=r`PKaeMXSrjKU9_P50`&%nirV|i0$S5!YVFTEJ zZU9e~{L~HHP7rj`HG+!^_MzUJqv+GGlkfc0_dPUata}E~0r-l+x045u1ArF*pY*MI z5cvVnsvv>PWAMjf$XM5<5UT8EGqT|0>m`z%NFYmzWI+j}OZ|5fGS;;@2yXSrSl0m9 zk@>j637WaQIY`yuw#U( zj=_Ixp_+#fyr@)F@!ZTAd*hK%B?4o=4PI!l;U2}{so_g4c6A|n6jaz~))H8o1O4yx zUnJY|al>#q#8{JyWi5ZPZa-r1I~63b(Nk0eF-A$=Q&{OsOFg0uK|_Av%~1~VW}vwo mVa0EM0$Zsdf$aet0pJXIM7!;CJbx$cdYZqJ> r-_?G|G)?ok_a(*5X(IN)Q%jhSPU1~UQu_Y`=mrK)S3j3^P6QzbU5Yz&-+O_(`J@OH#uE%& zS|)x~?e0o)O{8n3)qSA~R0k#Vd-Hn%s h;^OVjFKqn8v}wwhDxWZ$c|eO9JYD@<);T3K0RXfLKkxtm literal 0 HcmV?d00001 diff --git a/image/scrollbar_down.png b/image/scrollbar_down.png new file mode 100644 index 0000000000000000000000000000000000000000..c7eefbc6a448bda8fc5c6993fa0cf0ce8b51fd12 GIT binary patch literal 295 zcmV+?0oeYDP)$bJNNLau`2BR0px_Qq z7sn8f&g7JYgdgV}*bgvmdi1~k*6pJ%{P%mJOqz6l{dmeParw$3?d|W4Se}S9XVx^d z3VDa++&&s$oGEp9xqdw7D%I0U0R~rn=A7G5^jmMy*9kd-8XZN^yCv4$+vz^ZZjz3Y z>WT}Do}G?iL32{L6B<;y*YJLoJhv|LP(tbg_vmhihWYL7iHE1ewOv{gaVv_2d8ub1 z&ujJX1|L2aT)w8nCe%DhFz9`6Sj}QFUia=7mm7d?Wnk#?wKQPc$V1B0ilpUXO@ GgeCy2BR0px|Cl z7sn8f&g7JYgdgV}*bjXAZ~yjfVoFL%!lL$khlDGO0=qjlzj*Ppn}^ZzD3AR9nuTj! z6$;)QQe}HQL1M#FldT*qcC|lG3CxH-bip=XFju#!@m*#2Nj|Sh!pu7zJA|M{cp z`6|+5t3$MFXJS#QWOLstqqjO--%FA+PM%MB@cg0T)!HMGM~)vpdtuV_qXG|~x@}^0 ziFU~gSjc?re?^vEgpr#1iV2J>9v#jW+2BR0px`b~ z7sn8f&g7JYgdgV}*bgvmdi1~k)~%x_PMkR4!hgTvzzWyJV!cr&3}Ujj^%E11Zi`ik zKH}8%s6T$6!IAK5%{Q%9ol5Z0Q8?-TQS>X%{Czd7kMCU5+i)~w`-XJ=%kBMWmlAbMISkEfPvwhy?gh)^^3KEzF_cl L^>bP0l+XkKd*W+Q literal 0 HcmV?d00001 diff --git a/image/scrollbar_vertical_bg.png b/image/scrollbar_vertical_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..9c9df003101f5796ee608c7b4ae16d5a374ce135 GIT binary patch literal 301 zcmeAS@N?(olHy`uVBq!ia0vp^QVa}?zc|={EXm54A3%z;z$3Dlfq`2Hgc&d0t@{HM zyzlAa7*a9k?O8>k0}edQhR^@~PcJ{kHmdKI;Vst0LINh!vFvP literal 0 HcmV?d00001 diff --git a/image/select_indicator.png b/image/select_indicator.png new file mode 100644 index 0000000000000000000000000000000000000000..b149167cf29aaa412d99d5659bd7c27144d0a2db GIT binary patch literal 360 zcmV-u0hj)XP)$_k$&YY#0WNOw%K<%u#Du4jQ(FU{j>mUkGGG=$ zApY_D95 +#include +#include +#include +#include +#include +#include +#include "macros.h" + +using Severity = nvinfer1::ILogger::Severity; + +class LogStreamConsumerBuffer : public std::stringbuf +{ +public: + LogStreamConsumerBuffer(std::ostream& stream, const std::string& prefix, bool shouldLog) + : mOutput(stream) + , mPrefix(prefix) + , mShouldLog(shouldLog) + { + } + + LogStreamConsumerBuffer(LogStreamConsumerBuffer&& other) + : mOutput(other.mOutput) + { + } + + ~LogStreamConsumerBuffer() + { + // std::streambuf::pbase() gives a pointer to the beginning of the buffered part of the output sequence + // std::streambuf::pptr() gives a pointer to the current position of the output sequence + // if the pointer to the beginning is not equal to the pointer to the current position, + // call putOutput() to log the output to the stream + if (pbase() != pptr()) + { + putOutput(); + } + } + + // synchronizes the stream buffer and returns 0 on success + // synchronizing the stream buffer consists of inserting the buffer contents into the stream, + // resetting the buffer and flushing the stream + virtual int sync() + { + putOutput(); + return 0; + } + + void putOutput() + { + if (mShouldLog) + { + // prepend timestamp + std::time_t timestamp = std::time(nullptr); + tm* tm_local = std::localtime(×tamp); + std::cout << "["; + std::cout << std::setw(2) << std::setfill('0') << 1 + tm_local->tm_mon << "/"; + std::cout << std::setw(2) << std::setfill('0') << tm_local->tm_mday << "/"; + std::cout << std::setw(4) << std::setfill('0') << 1900 + tm_local->tm_year << "-"; + std::cout << std::setw(2) << std::setfill('0') << tm_local->tm_hour << ":"; + std::cout << std::setw(2) << std::setfill('0') << tm_local->tm_min << ":"; + std::cout << std::setw(2) << std::setfill('0') << tm_local->tm_sec << "] "; + // std::stringbuf::str() gets the string contents of the buffer + // insert the buffer contents pre-appended by the appropriate prefix into the stream + mOutput << mPrefix << str(); + // set the buffer to empty + str(""); + // flush the stream + mOutput.flush(); + } + } + + void setShouldLog(bool shouldLog) + { + mShouldLog = shouldLog; + } + +private: + std::ostream& mOutput; + std::string mPrefix; + bool mShouldLog; +}; + +//! +//! \class LogStreamConsumerBase +//! \brief Convenience object used to initialize LogStreamConsumerBuffer before std::ostream in LogStreamConsumer +//! +class LogStreamConsumerBase +{ +public: + LogStreamConsumerBase(std::ostream& stream, const std::string& prefix, bool shouldLog) + : mBuffer(stream, prefix, shouldLog) + { + } + +protected: + LogStreamConsumerBuffer mBuffer; +}; + +//! +//! \class LogStreamConsumer +//! \brief Convenience object used to facilitate use of C++ stream syntax when logging messages. +//! Order of base classes is LogStreamConsumerBase and then std::ostream. +//! This is because the LogStreamConsumerBase class is used to initialize the LogStreamConsumerBuffer member field +//! in LogStreamConsumer and then the address of the buffer is passed to std::ostream. +//! This is necessary to prevent the address of an uninitialized buffer from being passed to std::ostream. +//! Please do not change the order of the parent classes. +//! +class LogStreamConsumer : protected LogStreamConsumerBase, public std::ostream +{ +public: + //! \brief Creates a LogStreamConsumer which logs messages with level severity. + //! Reportable severity determines if the messages are severe enough to be logged. + LogStreamConsumer(Severity reportableSeverity, Severity severity) + : LogStreamConsumerBase(severityOstream(severity), severityPrefix(severity), severity <= reportableSeverity) + , std::ostream(&mBuffer) // links the stream buffer with the stream + , mShouldLog(severity <= reportableSeverity) + , mSeverity(severity) + { + } + + LogStreamConsumer(LogStreamConsumer&& other) + : LogStreamConsumerBase(severityOstream(other.mSeverity), severityPrefix(other.mSeverity), other.mShouldLog) + , std::ostream(&mBuffer) // links the stream buffer with the stream + , mShouldLog(other.mShouldLog) + , mSeverity(other.mSeverity) + { + } + + void setReportableSeverity(Severity reportableSeverity) + { + mShouldLog = mSeverity <= reportableSeverity; + mBuffer.setShouldLog(mShouldLog); + } + +private: + static std::ostream& severityOstream(Severity severity) + { + return severity >= Severity::kINFO ? std::cout : std::cerr; + } + + static std::string severityPrefix(Severity severity) + { + switch (severity) + { + case Severity::kINTERNAL_ERROR: return "[F] "; + case Severity::kERROR: return "[E] "; + case Severity::kWARNING: return "[W] "; + case Severity::kINFO: return "[I] "; + case Severity::kVERBOSE: return "[V] "; + default: assert(0); return ""; + } + } + + bool mShouldLog; + Severity mSeverity; +}; + +//! \class Logger +//! +//! \brief Class which manages logging of TensorRT tools and samples +//! +//! \details This class provides a common interface for TensorRT tools and samples to log information to the console, +//! and supports logging two types of messages: +//! +//! - Debugging messages with an associated severity (info, warning, error, or internal error/fatal) +//! - Test pass/fail messages +//! +//! The advantage of having all samples use this class for logging as opposed to emitting directly to stdout/stderr is +//! that the logic for controlling the verbosity and formatting of sample output is centralized in one location. +//! +//! In the future, this class could be extended to support dumping test results to a file in some standard format +//! (for example, JUnit XML), and providing additional metadata (e.g. timing the duration of a test run). +//! +//! TODO: For backwards compatibility with existing samples, this class inherits directly from the nvinfer1::ILogger +//! interface, which is problematic since there isn't a clean separation between messages coming from the TensorRT +//! library and messages coming from the sample. +//! +//! In the future (once all samples are updated to use Logger::getTRTLogger() to access the ILogger) we can refactor the +//! class to eliminate the inheritance and instead make the nvinfer1::ILogger implementation a member of the Logger +//! object. + +class Logger : public nvinfer1::ILogger +{ +public: + Logger(Severity severity = Severity::kWARNING) + : mReportableSeverity(severity) + { + } + + //! + //! \enum TestResult + //! \brief Represents the state of a given test + //! + enum class TestResult + { + kRUNNING, //!< The test is running + kPASSED, //!< The test passed + kFAILED, //!< The test failed + kWAIVED //!< The test was waived + }; + + //! + //! \brief Forward-compatible method for retrieving the nvinfer::ILogger associated with this Logger + //! \return The nvinfer1::ILogger associated with this Logger + //! + //! TODO Once all samples are updated to use this method to register the logger with TensorRT, + //! we can eliminate the inheritance of Logger from ILogger + //! + nvinfer1::ILogger& getTRTLogger() + { + return *this; + } + + //! + //! \brief Implementation of the nvinfer1::ILogger::log() virtual method + //! + //! Note samples should not be calling this function directly; it will eventually go away once we eliminate the + //! inheritance from nvinfer1::ILogger + //! + void log(Severity severity, const char* msg) TRT_NOEXCEPT override + { + LogStreamConsumer(mReportableSeverity, severity) << "[TRT] " << std::string(msg) << std::endl; + } + + //! + //! \brief Method for controlling the verbosity of logging output + //! + //! \param severity The logger will only emit messages that have severity of this level or higher. + //! + void setReportableSeverity(Severity severity) + { + mReportableSeverity = severity; + } + + //! + //! \brief Opaque handle that holds logging information for a particular test + //! + //! This object is an opaque handle to information used by the Logger to print test results. + //! The sample must call Logger::defineTest() in order to obtain a TestAtom that can be used + //! with Logger::reportTest{Start,End}(). + //! + class TestAtom + { + public: + TestAtom(TestAtom&&) = default; + + private: + friend class Logger; + + TestAtom(bool started, const std::string& name, const std::string& cmdline) + : mStarted(started) + , mName(name) + , mCmdline(cmdline) + { + } + + bool mStarted; + std::string mName; + std::string mCmdline; + }; + + //! + //! \brief Define a test for logging + //! + //! \param[in] name The name of the test. This should be a string starting with + //! "TensorRT" and containing dot-separated strings containing + //! the characters [A-Za-z0-9_]. + //! For example, "TensorRT.sample_googlenet" + //! \param[in] cmdline The command line used to reproduce the test + // + //! \return a TestAtom that can be used in Logger::reportTest{Start,End}(). + //! + static TestAtom defineTest(const std::string& name, const std::string& cmdline) + { + return TestAtom(false, name, cmdline); + } + + //! + //! \brief A convenience overloaded version of defineTest() that accepts an array of command-line arguments + //! as input + //! + //! \param[in] name The name of the test + //! \param[in] argc The number of command-line arguments + //! \param[in] argv The array of command-line arguments (given as C strings) + //! + //! \return a TestAtom that can be used in Logger::reportTest{Start,End}(). + static TestAtom defineTest(const std::string& name, int argc, char const* const* argv) + { + auto cmdline = genCmdlineString(argc, argv); + return defineTest(name, cmdline); + } + + //! + //! \brief Report that a test has started. + //! + //! \pre reportTestStart() has not been called yet for the given testAtom + //! + //! \param[in] testAtom The handle to the test that has started + //! + static void reportTestStart(TestAtom& testAtom) + { + reportTestResult(testAtom, TestResult::kRUNNING); + assert(!testAtom.mStarted); + testAtom.mStarted = true; + } + + //! + //! \brief Report that a test has ended. + //! + //! \pre reportTestStart() has been called for the given testAtom + //! + //! \param[in] testAtom The handle to the test that has ended + //! \param[in] result The result of the test. Should be one of TestResult::kPASSED, + //! TestResult::kFAILED, TestResult::kWAIVED + //! + static void reportTestEnd(const TestAtom& testAtom, TestResult result) + { + assert(result != TestResult::kRUNNING); + assert(testAtom.mStarted); + reportTestResult(testAtom, result); + } + + static int reportPass(const TestAtom& testAtom) + { + reportTestEnd(testAtom, TestResult::kPASSED); + return EXIT_SUCCESS; + } + + static int reportFail(const TestAtom& testAtom) + { + reportTestEnd(testAtom, TestResult::kFAILED); + return EXIT_FAILURE; + } + + static int reportWaive(const TestAtom& testAtom) + { + reportTestEnd(testAtom, TestResult::kWAIVED); + return EXIT_SUCCESS; + } + + static int reportTest(const TestAtom& testAtom, bool pass) + { + return pass ? reportPass(testAtom) : reportFail(testAtom); + } + + Severity getReportableSeverity() const + { + return mReportableSeverity; + } + +private: + //! + //! \brief returns an appropriate string for prefixing a log message with the given severity + //! + static const char* severityPrefix(Severity severity) + { + switch (severity) + { + case Severity::kINTERNAL_ERROR: return "[F] "; + case Severity::kERROR: return "[E] "; + case Severity::kWARNING: return "[W] "; + case Severity::kINFO: return "[I] "; + case Severity::kVERBOSE: return "[V] "; + default: assert(0); return ""; + } + } + + //! + //! \brief returns an appropriate string for prefixing a test result message with the given result + //! + static const char* testResultString(TestResult result) + { + switch (result) + { + case TestResult::kRUNNING: return "RUNNING"; + case TestResult::kPASSED: return "PASSED"; + case TestResult::kFAILED: return "FAILED"; + case TestResult::kWAIVED: return "WAIVED"; + default: assert(0); return ""; + } + } + + //! + //! \brief returns an appropriate output stream (cout or cerr) to use with the given severity + //! + static std::ostream& severityOstream(Severity severity) + { + return severity >= Severity::kINFO ? std::cout : std::cerr; + } + + //! + //! \brief method that implements logging test results + //! + static void reportTestResult(const TestAtom& testAtom, TestResult result) + { + severityOstream(Severity::kINFO) << "&&&& " << testResultString(result) << " " << testAtom.mName << " # " + << testAtom.mCmdline << std::endl; + } + + //! + //! \brief generate a command line string from the given (argc, argv) values + //! + static std::string genCmdlineString(int argc, char const* const* argv) + { + std::stringstream ss; + for (int i = 0; i < argc; i++) + { + if (i > 0) + ss << " "; + ss << argv[i]; + } + return ss.str(); + } + + Severity mReportableSeverity; +}; + +namespace +{ + +//! +//! \brief produces a LogStreamConsumer object that can be used to log messages of severity kVERBOSE +//! +//! Example usage: +//! +//! LOG_VERBOSE(logger) << "hello world" << std::endl; +//! +inline LogStreamConsumer LOG_VERBOSE(const Logger& logger) +{ + return LogStreamConsumer(logger.getReportableSeverity(), Severity::kVERBOSE); +} + +//! +//! \brief produces a LogStreamConsumer object that can be used to log messages of severity kINFO +//! +//! Example usage: +//! +//! LOG_INFO(logger) << "hello world" << std::endl; +//! +inline LogStreamConsumer LOG_INFO(const Logger& logger) +{ + return LogStreamConsumer(logger.getReportableSeverity(), Severity::kINFO); +} + +//! +//! \brief produces a LogStreamConsumer object that can be used to log messages of severity kWARNING +//! +//! Example usage: +//! +//! LOG_WARN(logger) << "hello world" << std::endl; +//! +inline LogStreamConsumer LOG_WARN(const Logger& logger) +{ + return LogStreamConsumer(logger.getReportableSeverity(), Severity::kWARNING); +} + +//! +//! \brief produces a LogStreamConsumer object that can be used to log messages of severity kERROR +//! +//! Example usage: +//! +//! LOG_ERROR(logger) << "hello world" << std::endl; +//! +inline LogStreamConsumer LOG_ERROR(const Logger& logger) +{ + return LogStreamConsumer(logger.getReportableSeverity(), Severity::kERROR); +} + +//! +//! \brief produces a LogStreamConsumer object that can be used to log messages of severity kINTERNAL_ERROR +// ("fatal" severity) +//! +//! Example usage: +//! +//! LOG_FATAL(logger) << "hello world" << std::endl; +//! +inline LogStreamConsumer LOG_FATAL(const Logger& logger) +{ + return LogStreamConsumer(logger.getReportableSeverity(), Severity::kINTERNAL_ERROR); +} + +} // anonymous namespace + +#endif // TENSORRT_LOGGING_H diff --git a/macros.h b/macros.h new file mode 100644 index 0000000..0e5b71b --- /dev/null +++ b/macros.h @@ -0,0 +1,27 @@ +#ifndef __MACROS_H +#define __MACROS_H + +#ifdef API_EXPORTS +#if defined(_MSC_VER) +#define API __declspec(dllexport) +#else +#define API __attribute__((visibility("default"))) +#endif +#else + +#if defined(_MSC_VER) +#define API __declspec(dllimport) +#else +#define API +#endif +#endif // API_EXPORTS + +#if NV_TENSORRT_MAJOR >= 8 +#define TRT_NOEXCEPT noexcept +#define TRT_CONST_ENQUEUE const +#else +#define TRT_NOEXCEPT +#define TRT_CONST_ENQUEUE +#endif + +#endif // __MACROS_H diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..f70e510 --- /dev/null +++ b/main.cpp @@ -0,0 +1,157 @@ +#include "mainwindow.h" + +#include + +#include +#include +#include +#include "commondata.h" + +#include "qrtspthread.h" +#include "sthreadimagesave.h" +#include "sthreadsenddicom.h" +#include "sthreadwatchvideolink.h" + +#include "seventfilter.h" + +#include "common.h" + +#include "sapplication.h" +#include +#include "sexception.h" + +#include "sv4l2device.h" + +QRTSPThread t; +SThreadImageSave s; +SThreadSendDICOM p; +SThreadWatchVideoLink v; +bool bSync = false; + +void InitOpenGL() +{ +#ifdef _PC + QCoreApplication::setAttribute(Qt::AA_UseDesktopOpenGL); +#else + QCoreApplication::setAttribute(Qt::AA_UseOpenGLES); +#endif + + pid_t ppid = getppid(); + qDebug() << "ppid: " << ppid; + + QString strLibraryPath = QLibraryInfo::location(QLibraryInfo::PluginsPath); + QSurfaceFormat format; + + bSync = false; + //bSync = true; + + if(bSync==true) + { + format.setSwapInterval(1); + format.setSwapBehavior(QSurfaceFormat::DoubleBuffer); + } + else + { + format.setSwapInterval(0); + format.setSwapBehavior(QSurfaceFormat::DoubleBuffer); + //format.setSwapBehavior(QSurfaceFormat::TripleBuffer); + } + + if(QOpenGLContext::openGLModuleType()==QOpenGLContext::LibGL) + { + format.setVersion(3, 3); + format.setProfile(QSurfaceFormat::CoreProfile); + format.setDepthBufferSize(24); + } + else + { + format.setVersion(3, 0); + format.setDepthBufferSize(24); + } + + QSurfaceFormat::setDefaultFormat(format); +} + +int main(int argc, char *argv[]) +{ + //SV4L2Device v4l2; + //v4l2.open_device("/dev/video0"); + //v4l2.StreamOn(); + QSharedMemory shared("SmartQuadra"); + + if(shared.create(512, QSharedMemory::ReadWrite)==false) + { + bool bAttach = shared.attach(); + + if(bAttach==true) + { + int nSize = shared.size(); + QString strInputData = argv[1]; + + shared.lock(); + { + const char* pData1 = (const char*)shared.constData(); + char* pPipe = (char*)shared.data(); + memcpy(pPipe, strInputData.toStdString().c_str(), strInputData.length()); + memset(pPipe, 0, sizeof(char)*512); + } + shared.unlock(); + + shared.detach(); + } + //return -1; + } + + QCoreApplication::setAttribute(Qt::AA_UseOpenGLES); + + InitOpenGL(); + + //QApplication a(argc, argv); + SApplication a(argc, argv); + MainWindow w; + + + + t.start(); + s.start(); + p.start(); + v.start(); + + int nDisplayType = SDISPLAY_1920X1080; + { + QScreen *screen = QGuiApplication::primaryScreen(); + QRect screenGeometry = screen->geometry(); + int height = screenGeometry.height(); + int width = screenGeometry.width(); + + nDisplayType = SDISPLAY_1280X1024; + //nDisplayType = SDISPLAY_1920X1080; + } + + w.SetDisplayType(nDisplayType); + //MainWindow::GetCommonData()->SetRTSPThread(&t); + w.SetRTSPThread(&t); + w.SetThreadCaptureImage(&s); + w.SetThreadSendDICOM(&p); + + SEventFilter* pFilter = new SEventFilter(&w); + a.installEventFilter(pFilter); + w.show(); + //return a.exec(); + + + int nRet = a.exec(); + + + a.removeEventFilter(pFilter); + SAFE_DELETE(pFilter); + + t.ExitThread(); + s.exit(); + p.exit(); + v.ExitThread(); + + w.DeleteUI(); + + return nRet; +} diff --git a/mainwindow.cpp b/mainwindow.cpp new file mode 100644 index 0000000..5303610 --- /dev/null +++ b/mainwindow.cpp @@ -0,0 +1,1556 @@ +#include "mainwindow.h" +#include "ui_mainwindow.h" + +#include "formworklist.h" +#include "formhistory.h" +#include "formsetting.h" +#include "formcapture.h" +#include "formviewer.h" +#include "qrtspthread.h" +#include "qgstreamerplayer.h" + +#include + +#include "charconvert.h" + +#include "dialogpowerbutton.h" + +#include + +#include "dialoglogin.h" +#include "dialogchecksumerror.h" + +#include "dialogexportsamba.h" + +#include "dialogsettingnetworkshare.h" + +#include +#include + + + +MainWindow* MainWindow::m_pMainWindow = NULL; +CommonData* MainWindow::m_pCommonData = NULL; + +extern QRTSPThread t; +extern SThreadWatchVideoLink v; + + +MainWindow::MainWindow(QWidget *parent) + : QMainWindow(parent) + , ui(new Ui::MainWindow) +{ + m_bMountDiskUSB = false; + m_pProcessNode = NULL; + m_pCommonData = NULL; + QRTSPThread* pThreadRTSP = &t; + SThreadWatchVideoLink* pThreadWatchVideoLink = &v; + m_pMainWindow = this; + m_pCommonData = new CommonData; + m_pCommonData->SetUseWebDisplay(true); + setWindowFlags(Qt::Window | Qt::FramelessWindowHint); + + m_pThreadWatch = NULL; + + //#ifndef _PC + m_pThreadWatch = new SThreadWatchPort(); + connect(m_pThreadWatch, SIGNAL(CaptureHandSwitch()), this, SLOT(CaptureHandSwitch())); + m_pThreadWatch->start(); + //#endif + + WRITE_FUNCTION_LOG(); + + ui->setupUi(this); + + setGeometry(0, 0, 1920, 1080); + + FormWorklist* pWorklist = new FormWorklist(this); + pWorklist->setGeometry(58, 166, 1808, 857); + pWorklist->hide(); + + FormHistory* pHistory = new FormHistory(this); + pHistory->setGeometry(58, 166, 1808, 857); + pHistory->hide(); + + FormSetting* pSetting = new FormSetting(this); + pSetting->setGeometry(58, 166, 1808, 857); + pSetting->hide(); + + FormCapture* pCapture = new FormCapture(this); + pCapture->setGeometry(0, 0, 1920, 1080); + pCapture->hide(); + + FormViewer* pViewer = new FormViewer(this); + pViewer->setGeometry(0, 0, 1920, 1080); + pViewer->hide(); + +#ifndef _PC + //connect(m_pThreadWatch, SIGNAL(HDMICalbeConnect(bool)), pCapture, SLOT(HDMICalbeConnect(bool))); +#endif + + pThreadWatchVideoLink->SetThreadRTSP(pThreadRTSP); + //connect(pThreadWatchVideoLink, SIGNAL(HDMICalbeConnect(bool)), pCapture, SLOT(HDMICalbeConnect(bool))); + pThreadWatchVideoLink->WatchVideoConnect(); + + connect(this, SIGNAL(SendCaptureHandSwitch()), pCapture, SLOT(CaptureHandSwitch())); + connect(this, SIGNAL(SendCaptureFootSwitch()), pCapture, SLOT(CaptureFootSwitch())); + connect(pThreadRTSP, SIGNAL(VideoButtonChange(bool)), pCapture, SLOT(VideoButtonChange(bool))); + + //Test Code + connect(pWorklist, SIGNAL(Exit()), this, SLOT(Exit())); + + connect(&m_TimerCheckDiskUSB, SIGNAL(timeout()), this, SLOT(CheckDiskUSB())); + + + + m_ListWidget.push_back(pWorklist); + m_ListWidget.push_back(pHistory); + m_ListWidget.push_back(pSetting); + m_ListWidget.push_back(pCapture); + m_ListWidget.push_back(pViewer); + + m_pDialogMissCapture = new DialogMissCapture(this); + + + m_nCurrentMenuID = -1; + m_nCurrentWidgetID = -1; + + connect(&m_Timer, SIGNAL(timeout()), this, SLOT(DeferredInit())); + + connect(&m_TimerWatchPowerButton, SIGNAL(timeout()), this, SLOT(WatchPowerButton())); + + connect(&m_TimerMissCapture, SIGNAL(timeout()), this, SLOT(MissCapture())); + + + connect(pCapture, SIGNAL(BackupNetworkShareFolder(QString)), this, SLOT(BackupNetworkShareFolder(QString))); + //m_pCommonData->SetUseNetworkBackupVideo(true); + + connect(&m_TimerScreenSaver, SIGNAL(timeout()), this, SLOT(CheckShowScreenSaver())); + + connect(&m_TimerLog, SIGNAL(timeout()), this, SLOT(WriteLogTimer())); + + m_TimerLog.start(1000*5); // 5 seconds + + + + m_Timer.start(500); + + m_TimerWatchPowerButton.start(1000); + + m_pScreenSaver = new FormScreenSaver; + m_pScreenSaver->hide(); + + pThreadWatchVideoLink->ChangeState(0); + +} + +MainWindow::~MainWindow() +{ + FormCapture* pCapture = (FormCapture*)m_ListWidget[3]; + + disconnect(&m_Timer, SIGNAL(timeout()), this, SLOT(DeferredInit())); + disconnect(&m_TimerWatchPowerButton, SIGNAL(timeout()), this, SLOT(WatchPowerButton())); + disconnect(&m_TimerMissCapture, SIGNAL(timeout()), this, SLOT(MissCapture())); + disconnect(&m_TimerScreenSaver, SIGNAL(timeout()), this, SLOT(CheckShowScreenSaver())); + + disconnect(this, SIGNAL(SendCaptureHandSwitch()), pCapture, SLOT(CaptureHandSwitch())); + disconnect(this, SIGNAL(SendCaptureFootSwitch()), pCapture, SLOT(CaptureFootSwitch())); + + + SThreadImageSave* pThreadImageSave = m_pCommonData->GetThreadCaptureImage(); + if(pThreadImageSave!=NULL) + { + disconnect(pThreadImageSave, SIGNAL(ViewDialogMissCapture()), this, SLOT(ViewDialogMissCapture()) ); + } + + WRITE_FUNCTION_LOG(); + SAFE_DELETE(m_pCommonData); + + SAFE_DELETE(m_pScreenSaver); + + if(m_pThreadWatch!=NULL) + { + m_pThreadWatch->ExitThread(); + SAFE_DELETE(m_pThreadWatch); + } + delete ui; +} + + + +void MainWindow::CheckShowScreenSaver() +{ + qint64 nTime = m_TimeCheckScreenSaver.elapsed()/(1000); + + int nScreenSaverTime = m_pCommonData->GetScreenSaverTime(); + + if(nScreenSaverTime==0) + { + return; + } + + if(nTime>=60*nScreenSaverTime) //60 sec * 10 --> 10 minutes + { + if(m_pScreenSaver->isVisible()==false) + { + m_pScreenSaver->Init(); + StopScreenSaverTimer(); + } + + } +} + +MainWindow* MainWindow::GetMainWindow() +{ + return m_pMainWindow; +} + +CommonData* MainWindow::GetCommonData() +{ + return m_pCommonData; +} + +void MainWindow::SetDisplayType(int nType) +{ + WRITE_FUNCTION_LOG_PARAM(QString::number(nType)); + m_nDisplayType = nType; + m_pCommonData->SetDisplayType(nType); + + if(m_nDisplayType==SDISPLAY_1920X1080) + { + resize(1920, 1080); + } + else if(m_nDisplayType==SDISPLAY_1280X1024) + { + resize(1280, 1024); + } +} + +void MainWindow::ChangeMenu(int nID) +{ + WRITE_FUNCTION_LOG_PARAM(QString::number(nID)); + + int nPrevCurrentMenuID = m_nCurrentMenuID; + int nPrevCurrentWidgetID = m_nCurrentWidgetID; + + SThreadImageSave* pThreadImageSave = m_pCommonData->GetThreadCaptureImage(); + if(m_nCurrentWidgetID>=0) + { + m_ListWidget[m_nCurrentWidgetID]->hide(); + } + + switch(nID) + { + case SMENU_WORKLIST: + m_nCurrentWidgetID = SWIDGET_WORKLIST; + break; + case SMENU_HISTORY: + m_nCurrentWidgetID = SWIDGET_HISTORY; + break; + case SMENU_SETTING: + m_nCurrentWidgetID = SWIDGET_SETTING; + break; + case SMENU_CAPTURE: + m_nCurrentWidgetID = SWIDGET_CAPTURE; + break; + case SMENU_VIEWER: + m_nCurrentWidgetID = SWIDGET_VIEWER; + break; + } + + + if(nID!=SMENU_CAPTURE) + { + if(m_pCommonData->GetScreenSaverTime()>0) + { + if(m_TimerScreenSaver.isActive()==false) + { + ResetScreenSaverTimer(); + StartScreenSaverTimer(); + } + } + + } + else + { + if(m_pCommonData->GetScreenSaverTime()>0) + { + if(m_TimerScreenSaver.isActive()==true) + { + StopScreenSaverTimer(); + } + } + + } + + + if(nID<=SMENU_SETTING) + { + m_nCurrentMenuID = nID; + if(m_nCurrentMenuID==SMENU_WORKLIST) + { + ((FormWorklist*)m_ListWidget[m_nCurrentWidgetID])->Init(); + } + else if(m_nCurrentMenuID==SMENU_HISTORY) + { + ((FormHistory*)m_ListWidget[m_nCurrentWidgetID])->Init(); + } + else if(m_nCurrentMenuID==SMENU_SETTING) + { + ((FormSetting*)m_ListWidget[m_nCurrentWidgetID])->Init(); + } + m_ListWidget[m_nCurrentWidgetID]->show(); + return; + } + else + { + if(nID==SMENU_CAPTURE) + { + + { + + + + ACQUISITION_INFO* pAcquisitionInfo = m_pCommonData->GetAcquisitionInfo(); + + QDateTime dt = QDateTime::currentDateTime(); + int nYear = dt.date().year(); + int nMonth = dt.date().month(); + int nDay = dt.date().day(); + int nHour = dt.time().hour(); + int nMinute = dt.time().minute(); + int nSecond = dt.time().second(); + + SDATA_STUDY* pStudy = pAcquisitionInfo->GetStudyInfo(); + + //if(pStudy->strStudyDate.length()==0) + { + //pStudy->strStudyDate = (QString("%1%2%3").arg(QString::number(nYear).rightJustified(4, '0')).arg(QString::number(nMonth).rightJustified(2, '0')).arg(QString::number(nDay).rightJustified(2, '0'))).toStdString(); + //pStudy->strStudyTime = (QString("%1%2%3").arg(QString::number(nHour).rightJustified(2, '0')).arg(QString::number(nMinute).rightJustified(2, '0')).arg(QString::number(nSecond).rightJustified(2, '0'))).toStdString(); + } + + if(pAcquisitionInfo->GetPatientInfo()->strPatientID.size()==0) + { + pAcquisitionInfo->Clear(); + pAcquisitionInfo->GetPatientInfo()->strPatientID = (QString("%1%2%3%4%5%6").arg(QString::number(nYear)).arg(QString::number(nMonth)).arg(QString::number(nDay)).arg(QString::number(nHour)).arg(QString::number(nMinute)).arg(QString::number(nSecond))).toStdString().c_str(); + pAcquisitionInfo->GetPatientInfo()->strPatientName = (QString("테스트%1").arg(pAcquisitionInfo->GetPatientInfo()->strPatientID)).toStdString().c_str(); + pAcquisitionInfo->GetStudyInfo()->strStudyInstanceUID = (QString("1.1.22.33.%1.1%2%3.1%4").arg(pAcquisitionInfo->GetPatientInfo()->strPatientID.toStdString().c_str()).arg(QString::number(nHour)).arg(QString::number(nMinute)).arg(QString::number(nSecond))).toStdString().c_str(); + pAcquisitionInfo->GetStudyInfo()->strStudyDescription = "Emergency Study Desc."; + pAcquisitionInfo->GetSeriesInfo()->strSeriesDescription = "Emergency Series Desc."; + pAcquisitionInfo->GetSeriesInfo()->strOperatorsName = ""; + + pAcquisitionInfo->GetPatientInfo()->strPatientSex = "F"; + pAcquisitionInfo->GetPatientInfo()->strPatientWeight = "70"; + pAcquisitionInfo->GetPatientInfo()->strPatientBirthDate = "19990909"; + } + + + SDatabase* pDatabase = NULL; + int nStudyIndex = 0; + int nPatientIndex = 0; + int nSeriesImageIndex = 0; + int nSeriesMovieIndex = 0; + bool bCreateStudy = false; + + + int nMaxTestCount = 10; + int nTestCount = 0; + + for(nTestCount=0 ; nTestCount(this))); + if (db.OpenDatabase("/home/birdhead/test.db") != 0) { + qWarning() << "DB open failed, retrying..."; + usleep(100 * 1000); // DB 연결 실패 시 잠시 대기 후 재시도 + continue; + } + + // 2. 트랜잭션을 시작합니다. 이제부터 모든 작업은 "All or Nothing" 입니다. + if (!db.BeginTransaction()) { + qWarning() << "Failed to begin transaction, retrying..."; + usleep(10 * 1000); + continue; + } + + // 3. 트랜잭션 내에서 모든 INSERT 작업을 수행합니다. + nPatientIndex = db.InsertPatient(pAcquisitionInfo); + nStudyIndex = db.InsertStudy(pAcquisitionInfo); + nSeriesImageIndex = db.InsertSeriesImage(pAcquisitionInfo); + nSeriesMovieIndex = db.InsertSeriesMovie(pAcquisitionInfo); + + // 4. 모든 작업의 성공 여부를 확인합니다. + if (nPatientIndex > 0 && nStudyIndex > 0 && nSeriesImageIndex > 0 && nSeriesMovieIndex > 0) { + // 5. 모두 성공했다면, 트랜잭션을 최종적으로 데이터베이스에 반영 (Commit) + if (db.Commit()) { + bCreateStudy = true; // 최종 성공! + } else { + qWarning() << "Transaction commit failed! Rolling back..."; + db.Rollback(); // Commit 실패 시 롤백 + } + } else { + // 하나라도 실패했다면, 지금까지의 모든 작업을 취소 (Rollback) + qWarning() << "One or more insert failed. Rolling back..."; + db.Rollback(); + } + + // 무언가 실패하여 재시도해야 하는 경우, 잠시 대기 + if (!bCreateStudy) { + usleep(10 * 1000); + } + } + + + nStudyIndex = pAcquisitionInfo->m_nIndexStudy; + m_pCommonData->ReleaseAcquisitionInfo(); + + //bCreateStudy = false; + if(bCreateStudy==false) + { + m_nCurrentMenuID = nPrevCurrentMenuID; + m_nCurrentWidgetID = nPrevCurrentWidgetID; + m_ListWidget[m_nCurrentWidgetID]->show(); + + if(m_nCurrentMenuID==SMENU_WORKLIST) + { + FormWorklist* pWorklist = (FormWorklist*)m_ListWidget[m_nCurrentWidgetID]; + pWorklist->ErrorPatientInfo(); + } + else if(m_nCurrentMenuID==SMENU_HISTORY) + { + FormHistory* pHistory = (FormHistory*)m_ListWidget[m_nCurrentWidgetID]; + } + + SetDisplayError(0x08); + + + return; + } + + if (nStudyIndex > 0) + { + // 1. 이 로직 블록 전체에서 사용할 단 하나의 지역 DB 인스턴스를 생성합니다. + SUTIL::SDatabase db(QString("ProcessStudy_%1").arg(reinterpret_cast(this))); + if (db.OpenDatabase("/home/birdhead/test.db") != 0) { + qWarning() << "DB open failed for study processing, StudyIndex:" << nStudyIndex; + return; // 또는 다른 오류 처리 + } + + // 2. 새로운 API를 사용합니다. 함수가 직접 결과 "값"을 반환합니다. + QList listResponse = db.GetImageWithStudyIndexASC(nStudyIndex); + + int nTotalCount = listResponse.size(); + + if (nTotalCount > 0) + { + // 3. 동일한 지역 DB 인스턴스를 사용하여 다음 DB 작업을 수행합니다. + db.AddImageToAcquisitionTemp(nStudyIndex); + + usleep(10 * 1000); + + // 4. 다른 스레드로 데이터를 넘겨줄 때도 값으로 넘겨줍니다. + // (참고: pThreadImageSave의 SetListImageWithStudyASC 함수 시그니처도 + // const QList& 타입으로 변경하는 것이 가장 이상적입니다.) + pThreadImageSave->SetListImageWithStudyASC(listResponse); + pThreadImageSave->ChangeState(0x200); + + while (pThreadImageSave->GetCurrentState() != 0x2000) + { + QThread::usleep(1000 * 100); + } + pThreadImageSave->ChangeState(0); + } + + // 5. 더 이상 수동으로 메모리를 해제할 필요가 없습니다. + // SDatabase::DeleteListReponse(listResponse); // 이 줄은 완전히 제거됩니다. + } + + } + + m_nCurrentMenuID = (m_nCurrentMenuID | SMENU_CAPTURE); + FormCapture* pCapture = (FormCapture*)m_ListWidget[m_nCurrentWidgetID]; + pCapture->Init(); + pCapture->show(); + pCapture->setFocus(); + + /* + if(m_pCommonData->IsAutoVideoCapture()==true) + { + //m_pCommonData->GetThreadRTSP()->ChangeState(0); + QString strVideoFilename = m_pCommonData->GetNewFilename(DISPLAY_VIDEO); + m_pCommonData->GetThreadRTSP()->SaveFile(strVideoFilename); + m_pCommonData->GetThreadRTSP()->ChangeState(6); + } + else + { + m_pCommonData->GetThreadRTSP()->ChangeState(0); + } + */ + + m_pCommonData->GetThreadRTSP()->ChangeState(0); + + usleep(1*1000); + } + else if(nID==SMENU_VIEWER) + { + HISTORY_STUDY* pHistoryStudy = m_pCommonData->GetCurrentHistoryStudy(); + + if(pHistoryStudy==NULL) + { + return; + } + + + + //QString strStudyInstanceUID = *pHistoryStudy->pStrStudyInstanceUID; + //int nStudyIndex = pDatabase->GetStudyIndexWithStudyInstanceUID(strStudyInstanceUID); + + + QString strStudyIndex = *pHistoryStudy->pStrStudyIndex; + + m_pCommonData->ReleaseCurrentHistoryStudy(); + + int nStudyIndex = strStudyIndex.toInt(); + + FormViewer* pViewer = (FormViewer*)m_ListWidget[m_nCurrentWidgetID]; + m_nCurrentMenuID = (m_nCurrentMenuID | SMENU_VIEWER); + + QDate dateToday = QDate::currentDate(); + + int nYear = dateToday.year(); + int nMonth = dateToday.month(); + int nDay = dateToday.day(); + QString strSearchDate = QString("%1/%2/%3-%1/%2/%3").arg(QString::number(nYear).rightJustified(4, '0')).arg(QString::number(nMonth).rightJustified(2, '0')).arg(QString::number(nDay).rightJustified(2, '0')); + + + CommonData* pCommonData = MainWindow::GetCommonData(); + pCommonData->ClearHistoryImage(); + + pCommonData->ClearHistorySearchItem(); + pCommonData->ClearHistorySearchStudyIndex(); + + + + SEARCH_ITEM si; + //QList listResponse; + + si.m_strStudyDate = strSearchDate; + //si.m_strStudyDate = "2021/08/06-2021/08/12"; + //si.m_strPatientName = "202188"; + int historyCount = 0; + QList listResponse; // 포인터가 아닌 값 타입의 리스트 + + // 1. 이 작업을 위한 지역 DB 인스턴스를 생성하고 연결합니다. + SUTIL::SDatabase db(QString("HistoryAndImageFetch_%1").arg(reinterpret_cast(this))); + if (db.OpenDatabase("/home/birdhead/test.db") == 0) // 0이 성공 + { + // 2. 새로운 GetHistory API를 호출하고, 반환 값을 변수에 저장합니다. + // (기존 코드에서는 이 값을 사용하지 않았지만, 필요할 수 있으므로 받아둡니다.) + historyCount = db.GetHistory(&si); + + // 3. 새로운 GetImageWithStudyIndex API를 호출하여 결과를 직접 받습니다. + // 더 이상 출력 파라미터나 포인터를 사용하지 않습니다. + listResponse = db.GetImageWithStudyIndex(nStudyIndex); + } + else + { + qWarning() << "DB open failed for history/image fetching."; + // 필요에 따라 오류 처리 + } + + // 이제 'historyCount'와 'listResponse'를 안전하게 사용할 수 있습니다. + // 예를 들어: + qDebug() << "Found history items:" << historyCount; + qDebug() << "Found images in study:" << listResponse.size(); + + // 수동 메모리 해제는 더 이상 필요 없습니다. + // SDatabase::DeleteListReponse(listResponse); // 이 줄은 완전히 제거됩니다. + + pCommonData->SetSearchItemHistory(si); + pCommonData->SetHistorySearchStudyIndex(nStudyIndex); + + int nImageCount = listResponse.size(); + + + + pViewer->Init(); + + pViewer->SetTotalImageCount(nImageCount); + //pViewer->UpdateViewer(); + pViewer->ChangeViewMode(2); + + + SThreadImageSave* pThreadImageSave = m_pCommonData->GetThreadCaptureImage(); + pThreadImageSave->SetListImageWithStudy(listResponse); + pThreadImageSave->ChangeState(0x08); + + pViewer->show(); + //SDatabase::DeleteListReponse(listResponse); + + } + return; + } + + + + + +} + + +void MainWindow::ExitCapture() +{ + WRITE_FUNCTION_LOG(); + + m_nCurrentMenuID = (m_nCurrentMenuID & ~SMENU_CAPTURE); + + SThreadImageSave* pThreadCaptureImage = m_pCommonData->GetThreadCaptureImage(); + pThreadCaptureImage->ExitCapture(); + pThreadCaptureImage->ClearCaptureSaveToFile(); + + FormCapture* pCapture = (FormCapture*)m_ListWidget[m_nCurrentWidgetID]; + if(pCapture->isVisible()==true) + { + pCapture->ExitCapture(); + pCapture->hide(); + } + + m_pCommonData->ClearCaptureImage(); + + ACQUISITION_INFO* pAcquisitionInfo = m_pCommonData->GetAcquisitionInfo(); + pAcquisitionInfo->Clear(); + m_pCommonData->ReleaseAcquisitionInfo(); + + switch(m_nCurrentMenuID) + { + case SMENU_WORKLIST: + m_nCurrentWidgetID = SWIDGET_WORKLIST; + break; + case SMENU_HISTORY: + m_nCurrentWidgetID = SWIDGET_HISTORY; + break; + case SMENU_SETTING: + m_nCurrentWidgetID = SWIDGET_SETTING; + break; + case SMENU_CAPTURE: + m_nCurrentWidgetID = SWIDGET_CAPTURE; + break; + case SMENU_VIEWER: + m_nCurrentWidgetID = SWIDGET_VIEWER; + break; + } + + if(m_nCurrentMenuID==0x22) + { + ui->widgetMainMenu->SelectWorklist(); + //m_nCurrentMenuID = SMENU_WORKLIST; + //m_nCurrentWidgetID = SWIDGET_WORKLIST; + //ChangeMenu(m_nCurrentMenuID); + } + + m_ListWidget[m_nCurrentWidgetID]->show(); + + if(m_nCurrentWidgetID!=SMENU_CAPTURE) + { + if(m_pCommonData->GetScreenSaverTime()>0) + { + if(m_TimerScreenSaver.isActive()==false) + { + ResetScreenSaverTimer(); + StartScreenSaverTimer(); + } + } + + } + + QWidget* pFocusWidget = focusWidget(); + + if(m_nCurrentWidgetID==SWIDGET_WORKLIST) + { + FormWorklist* pFormWorklist = (FormWorklist*)m_ListWidget[m_nCurrentWidgetID]; + + pFormWorklist->Init(); + + repaint(); + } + + if(pFocusWidget!=m_ListWidget[m_nCurrentWidgetID]) + { + m_ListWidget[m_nCurrentWidgetID]->setFocus(Qt::ActiveWindowFocusReason); + connect(&m_Timer, SIGNAL(timeout()), this, SLOT(ViewerChangeFocusCheck())); + m_Timer.start(); + } + + + if(m_pCommonData->IsUseWebDisplay()==true) + { + if(m_pProcessNode!=NULL) + { + if(m_pProcessNode->state()==QProcess::Running) + { + m_pProcessNode->close(); + + int nCount = 0; + + while(m_pProcessNode->state()==QProcess::Running && nCount<100) + { + usleep(100); + nCount++; + } + + if(m_pProcessNode->state()!=QProcess::Running) + { + m_pProcessNode->start("/usr/bin/node", QStringList("index.js")); + } + } + } + } + +} + +void MainWindow::ErrorCapture() +{ + WRITE_FUNCTION_LOG(); + ExitCapture(); +} + +void MainWindow::ExitViewer() +{ + WRITE_FUNCTION_LOG(); + SThreadImageSave* pThreadImageSave = m_pCommonData->GetThreadCaptureImage(); + if(pThreadImageSave->GetCurrentState()==4) + { + pThreadImageSave->StopLoadImage(); + while(pThreadImageSave->GetCurrentState()==4) + { + usleep(100*1000); + } + } + m_nCurrentMenuID = (m_nCurrentMenuID & ~SMENU_VIEWER); + + m_ListWidget[m_nCurrentWidgetID]->hide(); + + switch(m_nCurrentMenuID) + { + case SMENU_WORKLIST: + m_nCurrentWidgetID = SWIDGET_WORKLIST; + break; + case SMENU_HISTORY: + m_nCurrentWidgetID = SWIDGET_HISTORY; + ((FormHistory*)m_ListWidget[m_nCurrentWidgetID])->Init(); + break; + case SMENU_SETTING: + m_nCurrentWidgetID = SWIDGET_SETTING; + break; + case SMENU_CAPTURE: + m_nCurrentWidgetID = SWIDGET_CAPTURE; + break; + case SMENU_VIEWER: + m_nCurrentWidgetID = SWIDGET_VIEWER; + break; + } + + m_ListWidget[m_nCurrentWidgetID]->show(); + + m_pCommonData->ClearHistoryImage(); +} + +void MainWindow::BackupNetworkShareFolder(QString strFilename) +{ + //test samba backup + DialogExportSamba dlgExport(this); + + QThread::usleep(1000*1000); + dlgExport.exec(); +} + + +void MainWindow::SetRTSPThread(QRTSPThread* pThread) +{ + m_pCommonData->SetRTSPThread(pThread); + + FormCapture* pCapture = (FormCapture*)m_ListWidget[3]; + pThread->SetVideoWidget(pCapture->GetVideoWidget()); +} + +void MainWindow::SetThreadCaptureImage(SThreadImageSave* pThread) +{ + m_pCommonData->SetThreadCaptureImage(pThread); + + pThread->OpenDatabase(); + + FormCapture* pCapture = (FormCapture*)m_ListWidget[3]; + connect(pThread, SIGNAL(captureImage(CAPTURE_IMAGE*)), pCapture, SLOT(captureImage(CAPTURE_IMAGE*))); + connect(pThread, SIGNAL(captureVideo(CAPTURE_IMAGE*)), pCapture, SLOT(captureVideo(CAPTURE_IMAGE*))); + + + FormViewer* pViewer = (FormViewer*)m_ListWidget[4]; + connect(pThread, SIGNAL(SetImageLoadInfo(int, int, ImageSelect*)), pViewer, SLOT(SetImageLoadInfo(int, int, ImageSelect*))); + connect(pThread, SIGNAL(ImageLoadComplete()), pViewer, SLOT(ImageLoadComplete())); + + //FormWorklist* pWorklist = (FormWorklist*)m_ListWidget[0]; + //connect(pThread, SIGNAL(worklistUpdateComplete()), pWorklist, SLOT(worklistUpdateComplete())); + //connect(pThread, SIGNAL(worklistError()), pWorklist, SLOT(worklistError())); + //connect(pThread, SIGNAL(SetWorklistProgress(int)), pWorklist, SLOT(SetWorklistProgress(int))); + + + connect(pThread, SIGNAL(CompleteCleanStorage()), this, SLOT(CompleteCleanStorage())); + + + + connect(pThread, SIGNAL(CompleteAcquisitionFromHistory()), this, SLOT(CompleteAcquisitionFromHistory())); + connect(pThread, SIGNAL(LoadInfoAcquisitionFromHistory(int, int)), this, SLOT(LoadInfoAcquisitionFromHistory(int, int))); + + connect(pThread, SIGNAL(ViewDialogMissCapture()), this, SLOT(ViewDialogMissCapture())); +} + +void MainWindow::SetThreadSendDICOM(SThreadSendDICOM* pThread) +{ + m_pCommonData->SetThreadSendDICOM(pThread); + + //FormWorklist* pWorklist = (FormWorklist*)m_ListWidget[0]; + + //connect(pThread, SIGNAL(worklistUpdateComplete()), pWorklist, SLOT(worklistUpdateComplete())); + //connect(pThread, SIGNAL(worklistError()), pWorklist, SLOT(worklistError())); + //connect(pThread, SIGNAL(SetWorklistProgress(int)), pWorklist, SLOT(SetWorklistProgress(int))); + connect(pThread, SIGNAL(UpdateSendFailed()), this, SLOT(UpdateSendFailed())); +} + +void MainWindow::CompleteCleanStorage() +{ + WRITE_FUNCTION_LOG(); + if (m_pDialogStorageClean != NULL) { + m_pDialogStorageClean->accept(); + } + + // --- 첫 번째 블록: 스케줄에 따른 자동 삭제 --- + { + // 1. 이 블록만을 위한 지역 DB 인스턴스 생성 + SUTIL::SDatabase db("AutoRemoveTask"); + if (db.OpenDatabase("/home/birdhead/test.db") == 0) + { + // 2. 두 개의 수정 작업을 하나의 트랜잭션으로 묶어 원자성 보장 + db.BeginTransaction(); + bool success1 = db.AutoremoveImageTable(); + // UpdateScheduled... 함수도 이전에 bool을 반환하도록 수정했어야 하나, + // void라면 일단 호출만 합니다. + db.UpdateScheduledDeleteCompleteStudyDate(); + + // AutoremoveImageTable의 성공 여부에 따라 Commit 결정 + if (success1) { + db.Commit(); + } else { + db.Rollback(); + } + } + } + + // --- 두 번째 블록: 필요 시 추가 공간 확보 --- + m_pCommonData->ComputeStorageSize(); + int nStorageFreeSize = m_pCommonData->GetStorageFreeSize(); + const int nRemainSize = 100000; // 100MB + + if (nStorageFreeSize < nRemainSize) + { + // 1. 이 블록만을 위한 별도의 지역 DB 인스턴스 생성 + SUTIL::SDatabase db("FreeUpSpaceTask"); + if (db.OpenDatabase("/home/birdhead/test.db") == 0) + { + // 2. 새로운 API를 사용하여 파일 목록을 값(QStringList)으로 직접 받음 + QStringList videoFiles = db.GetVideoFileList(); + + // 3. 파일 삭제 및 DB 업데이트를 하나의 트랜잭션으로 처리 + db.BeginTransaction(); + bool bSuccess = true; + for (const QString& strFileLocation : videoFiles) + { + bool bFileActuallyDeleted = false; + + if(strFileLocation.contains(MOVIE_FILE_EXTENSION)==true) + { + QString strTest = strFileLocation; + QFileInfo fi(strTest); + QString strPath = fi.path(); + QString strFilename = fi.fileName(); + strFilename = strFilename.replace(MOVIE_FILE_EXTENSION, ""); + strFilename += "*"; + + QDirIterator itDir(strPath, {strFilename}, QDir::Files); + + while(itDir.hasNext()==true) + { + QString strFileDelete = itDir.next(); + QFile fileRemove(strFileDelete); + if(fileRemove.exists()==true) + { + fileRemove.remove(); + bFileActuallyDeleted = true; + } + } + } + // ... (기존과 동일한 파일 시스템에서 파일 삭제 로직) ... + // 이 로직이 성공적으로 파일을 삭제했다면, DB에 업데이트 + + + if (bFileActuallyDeleted) { + // SetDeleteStorageFile 함수도 bool을 반환하도록 수정하는 것이 좋음 + if (!db.SetDeleteStorageFile(strFileLocation)) { + bSuccess = false; + break; // DB 업데이트 실패 시 중단 + } + } + + // 성능 참고: 이 부분은 여전히 비효율적입니다. + // 루프 밖에서 한 번만 계산하거나, 10개 파일 처리 후 한 번씩만 계산하는 것이 좋습니다. + m_pCommonData->ComputeStorageSize(); + if (m_pCommonData->GetStorageFreeSize() >= nRemainSize) { + break; // 목표 공간 확보 시 루프 탈출 + } + } + + if (bSuccess) { + db.Commit(); + } else { + db.Rollback(); + } + } + } +} + +#include "sexception.h" + +void MainWindow::DeferredInit() +{ + WRITE_FUNCTION_LOG(); + m_Timer.stop(); + disconnect(&m_Timer, SIGNAL(timeout()), this, SLOT(DeferredInit())); + + ChangeMenu(SMENU_WORKLIST); + + if (m_pCommonData->IsAutoLogin() == false) + { + DialogLogin dlgLogin(this); + dlgLogin.exec(); + } + + SThreadImageSave* pThreadImageSave = m_pCommonData->GetThreadCaptureImage(); + + // --- 첫 번째 블록 리팩토링 --- + { + // 1. 이 작업을 위한 지역 DB 인스턴스를 생성합니다. + SUTIL::SDatabase db("DeferredInit_DeleteList_Connection"); + if (db.OpenDatabase("/home/birdhead/test.db") == 0) // 0이 성공 + { + // 2. 새로운 API를 호출하여 QStringList 값을 직접 받습니다. + QStringList dateList = db.GetScheduledDeleteStudyDateList(); + + // 3. 다른 스레드로 값을 전달합니다. + // 참고: SetSchduledDeleteStudyDateList의 파라미터도 const QStringList&로 변경해야 합니다. + pThreadImageSave->SetSchduledDeleteStudyDateList(dateList); + } + else + { + qWarning() << "DB open failed for GetScheduledDeleteStudyDateList in DeferredInit."; + } + // 'db'와 'dateList'는 스코프가 끝나면 자동으로 메모리가 정리됩니다. + // DeleteListReponse 호출이 필요 없습니다. + } + + usleep(10 * 1000); + + pThreadImageSave->ChangeState(0x100); + + m_pDialogStorageClean = new DialogProgress(this); + m_pDialogStorageClean->Init(2); + m_pDialogStorageClean->exec(); + + delete m_pDialogStorageClean; + m_pDialogStorageClean = NULL; + + if (m_pCommonData->IsUseNetworkBackupVideo() == true) + { + // Samba 관련 로직 + } + + // --- 두 번째 블록 리팩토링 --- + { + // 1. 별도의 작업을 위한 또 다른 지역 DB 인스턴스를 생성합니다. + SUTIL::SDatabase db("DeferredInit_MergeTemp_Connection"); + if (db.OpenDatabase("/home/birdhead/test.db") == 0) + { + // 2. 이 함수 하나가 데이터 병합과 임시 테이블 정리를 모두 수행합니다. + db.AddAcquisitionTempToImage(); + } + else + { + qWarning() << "DB open failed for AddAcquisitionTempToImage in DeferredInit."; + } + // 'db'는 스코프가 끝나면 자동으로 소멸됩니다. + } + + m_TimeCheckScreenSaver.start(); + m_TimerScreenSaver.setInterval(1000 * 10); + + if (m_pCommonData->IsUseWebDisplay() == true) + { + m_pProcessNode = new QProcess(); + m_pProcessNode->setWorkingDirectory("/home/birdhead/web_display"); + m_pProcessNode->start("/usr/bin/node", QStringList("index.js")); + } + + UmountDiskUSB("/home/birdhead/backup"); + m_TimerCheckDiskUSB.start(2000); +} + +void MainWindow::Exit() +{ + WRITE_FUNCTION_LOG(); + FormWorklist* pWorklist = (FormWorklist*)m_ListWidget[0]; + FormHistory* pHistory = (FormHistory*)m_ListWidget[1]; + FormCapture* pCapture = (FormCapture*)m_ListWidget[3]; + + m_pCommonData->GetThreadRTSP()->exitRTSP(); + + usleep(1000*1000); + + //pWorklist->Exit(); + //pHistory->Exit(); + + m_pCommonData->Exit(); + QApplication::quit(); +} + + +void MainWindow::ViewerChangeFocusCheck() +{ + WRITE_FUNCTION_LOG(); + QWidget* pFocusWidget = focusWidget(); + + if(pFocusWidget!=m_ListWidget[m_nCurrentWidgetID]) + { + usleep(10*1000); + m_ListWidget[m_nCurrentWidgetID]->setFocus(Qt::ActiveWindowFocusReason); + + } + else + { + + m_ListWidget[m_nCurrentWidgetID]->update(); + update(); + disconnect(&m_Timer, SIGNAL(timeout()), this, SLOT(ViewerChangeFocusCheck())); + m_Timer.stop(); + } +} + +void MainWindow::resizeEvent(QResizeEvent *event) +{ + QSize nSize = size(); + if(m_nDisplayType==SDISPLAY_1280X1024) + { + //ui->widgetMainMenu->setGeometry(45, 40, 462, 58); + ui->widgetMainMenu->setGeometry(45, 40, 1190, 58); + FormWorklist* pWorklist = (FormWorklist*)m_ListWidget[0]; + pWorklist->setGeometry(45, 120, 1190, 864); + + FormHistory* pHistory = (FormHistory*)m_ListWidget[1]; + pHistory->setGeometry(45, 120, 1190, 864); + + FormSetting* pSetting = (FormSetting*)m_ListWidget[2]; + pSetting->setGeometry(45, 120, 1190, 864); + + FormCapture* pCapture = (FormCapture*)m_ListWidget[3]; + pCapture->setGeometry(0, 0, 1280, 1024); + + FormViewer* pViewer = (FormViewer*)m_ListWidget[4]; + pViewer->setGeometry(0, 0, 1280, 1024); + + m_pDialogMissCapture->setGeometry(0, 0, 1280, 1024); + } + else if(m_nDisplayType==SDISPLAY_1920X1080) + { + ui->widgetMainMenu->setGeometry(58, 58, 573, 70); + FormWorklist* pWorklist = (FormWorklist*)m_ListWidget[0]; + pWorklist->setGeometry(58, 166, 1808, 857); + + FormCapture* pCapture = (FormCapture*)m_ListWidget[3]; + pCapture->setGeometry(0, 0, 1920, 1080); + } +} + + +QWidget* MainWindow::GetFormCapture() +{ + FormCapture* pCapture = (FormCapture*)m_ListWidget[3]; + + return pCapture; +} + +void MainWindow::UpdateMakeDICOMInfo(int nCurrent, int nTotal) +{ + WRITE_FUNCTION_LOG_PARAM(QString::number(nCurrent) + ", " +QString::number(nTotal)); + if(m_nCurrentWidgetID==SWIDGET_VIEWER) + { + FormViewer* pFormViewer = (FormViewer*)m_ListWidget[m_nCurrentWidgetID]; + pFormViewer->UpdateMakeDICOMInfo(nCurrent, nTotal); + } + else if(m_nCurrentWidgetID==SWIDGET_CAPTURE) + { + FormCapture* pFormCapture = (FormCapture*)m_ListWidget[m_nCurrentWidgetID]; + pFormCapture->UpdateMakeDICOMInfo(nCurrent, nTotal); + } +} + +void MainWindow::UpdateSendInfo(int nCount, int nTotalCount) +{ + WRITE_FUNCTION_LOG_PARAM(QString::number(nCount) + ", " + QString::number(nTotalCount)); + if(m_nCurrentWidgetID==SWIDGET_VIEWER) + { + FormViewer* pFormViewer = (FormViewer*)m_ListWidget[m_nCurrentWidgetID]; + pFormViewer->UpdateSendInfo(nCount, nTotalCount); + } + else if(m_nCurrentWidgetID==SWIDGET_CAPTURE) + { + FormCapture* pFormCapture = (FormCapture*)m_ListWidget[m_nCurrentWidgetID]; + pFormCapture->UpdateSendInfo(nCount, nTotalCount); + } + /* + switch(nID) + { + case SMENU_WORKLIST: + m_nCurrentWidgetID = SWIDGET_WORKLIST; + break; + case SMENU_HISTORY: + m_nCurrentWidgetID = SWIDGET_HISTORY; + break; + case SMENU_SETTING: + m_nCurrentWidgetID = SWIDGET_SETTING; + break; + case SMENU_CAPTURE: + m_nCurrentWidgetID = SWIDGET_CAPTURE; + break; + case SMENU_VIEWER: + m_nCurrentWidgetID = SWIDGET_VIEWER; + break; + } + */ +} + +void MainWindow::UpdateSendComplete() +{ + WRITE_FUNCTION_LOG(); + if(m_nCurrentWidgetID==SWIDGET_VIEWER) + { + FormViewer* pFormViewer = (FormViewer*)m_ListWidget[m_nCurrentWidgetID]; + pFormViewer->UpdateSendComplete(); + } + else if(m_nCurrentWidgetID==SWIDGET_CAPTURE) + { + FormCapture* pFormCapture = (FormCapture*)m_ListWidget[m_nCurrentWidgetID]; + pFormCapture->UpdateSendComplete(); + } +} + +void MainWindow::UpdateSendFailed() +{ + WRITE_FUNCTION_LOG(); + if(m_nCurrentWidgetID==SWIDGET_VIEWER) + { + FormViewer* pFormViewer = (FormViewer*)m_ListWidget[m_nCurrentWidgetID]; + pFormViewer->UpdateSendFailed(); + } + else if(m_nCurrentWidgetID==SWIDGET_CAPTURE) + { + FormCapture* pFormCapture = (FormCapture*)m_ListWidget[m_nCurrentWidgetID]; + pFormCapture->UpdateSendFailed(); + } +} + +void MainWindow::UpdateAutoSendDICOMFailed() +{ + +} + +void MainWindow::ClearHistoryView() +{ + WRITE_FUNCTION_LOG(); + FormHistory* pForm = (FormHistory*)m_ListWidget[SWIDGET_HISTORY]; + pForm->Init(); +} + +int MainWindow::GetCurrentWidgetID() +{ + return m_nCurrentWidgetID; +} + +void MainWindow::DeleteUI() +{ + WRITE_FUNCTION_LOG(); + int i=0; + for(i=0 ; iGetThreadRTSP()->ExitThread(); +} + + +void MainWindow::WatchPowerButton() +{ + + QSharedMemory shared("SmartQuadra"); + + if(shared.create(512, QSharedMemory::ReadWrite)==false) + { + //exit(0); + + bool bAttach = shared.attach(); + + if(bAttach==true) + { + int nSize = shared.size(); + + shared.lock(); + { + const char* pData1 = (const char*)shared.constData(); + int nLength = strlen(pData1); + if(nLength>0) + { + //Dialog Power Button + DialogPowerButton dlg(this); + //dlg.setGeometry(0, 0, 1280, 1280); + + dlg.exec(); + + char* pPipe = (char*)shared.data(); + memset(pPipe, 0, 512); + } + + } + shared.unlock(); + + shared.detach(); + } + } +} + + +void MainWindow::keyReleaseEvent(QKeyEvent *event) +{ + WRITE_FUNCTION_LOG(); + int nKey = event->key(); + + SThreadImageSave* pThread = MainWindow::GetCommonData()->GetThreadCaptureImage(); + + if(nKey==Qt::Key_F10) + { + pThread->MissCapture(); + } + else if(nKey==Qt::Key_F11) + { + pThread->MissCapture(); + } +} + + +void MainWindow::ViewDialogMissCapture() +{ + + m_TimerMissCapture.start(); + + if(m_pDialogMissCapture!=NULL) + { + m_pDialogMissCapture->show(); + m_pDialogMissCapture->SetErrorType(0); + } + +} + +void MainWindow::MissCapture() +{ + //m_pDialogMissCapture->show(); + m_pDialogMissCapture->exec(); + + m_TimerMissCapture.stop(); +} + +void MainWindow::CompleteAcquisitionFromHistory() +{ + +} + +void MainWindow::LoadInfoAcquisitionFromHistory(int nCurrent, int nTotal) +{ +} + + +void MainWindow::ResetScreenSaverTimer() +{ + m_TimeCheckScreenSaver.restart(); +} + +void MainWindow::StartScreenSaverTimer() +{ + m_TimerScreenSaver.start(); +} + +void MainWindow::StopScreenSaverTimer() +{ + m_TimerScreenSaver.stop(); +} + + +void MainWindow::CaptureHandSwitch() +{ + WRITE_FUNCTION_LOG(); + + if(m_nCurrentWidgetID==SWIDGET_CAPTURE) + { + SendCaptureHandSwitch(); + } + else + { + SThreadImageSave* pThread = MainWindow::GetCommonData()->GetThreadCaptureImage(); + pThread->MissCapture(); + } + +} + +void MainWindow::CaptureFootSwitch() +{ + WRITE_FUNCTION_LOG(); + + if(m_nCurrentWidgetID==SWIDGET_CAPTURE) + { + SendCaptureFootSwitch(); + } + else + { + SThreadImageSave* pThread = MainWindow::GetCommonData()->GetThreadCaptureImage(); + pThread->MissCapture(); + } + +} + +void MainWindow::WriteLogTimer() +{ + if(m_pCommonData->GetLogLevel()==0) + { + return; + } + + QStringList* pListLog = m_pCommonData->GetListLog(); + + QString strLog = QString::fromStdString(pListLog->join("").toStdString()); + pListLog->clear(); + + m_pCommonData->ReleaseListLog(); + + if(strLog.size()>0) + { + m_pCommonData->WriteLogFile(strLog); + } + + + +} + + +void MainWindow::SetDisplayError(int nTypeError) +{ + m_TimerMissCapture.start(); + if(m_pDialogMissCapture!=NULL) + { + m_pDialogMissCapture->show(); + m_pDialogMissCapture->SetErrorType(nTypeError); + } +} + +void MainWindow::SetDisplayError(QString strError) +{ + CommonData::RestartNetworkManager(); + + m_TimerMissCapture.start(); + if(m_pDialogMissCapture!=NULL) + { + m_pDialogMissCapture->show(); + m_pDialogMissCapture->SetErrorString(strError); + } + + +} + + +void MainWindow::CheckDiskUSB() +{ + bool bExists = false; + QString strDevice; +#ifdef _PC + strDevice = "/dev/sdb1"; +#else + strDevice = "/dev/sda1"; +#endif + + QFileInfo fi(strDevice); + bExists = fi.exists(); + + if(ui->widgetMainMenu->isVisible()==false) + { + return; + } + + if(bExists==true) + { + if(m_bMountDiskUSB==false) + { + bool bMount = false; + QProcess processCheckMount; + processCheckMount.start("mount"); + while(processCheckMount.waitForStarted(100)==false) + { + usleep(1000); + } + bool retval = false; + QByteArray buffer; + + while ((retval = processCheckMount.waitForFinished(100))) + { + usleep(1000); + } + buffer.append(processCheckMount.readAll()); + + processCheckMount.terminate(); + processCheckMount.waitForFinished(100); + processCheckMount.deleteLater(); + + QString strDeviceMount; + QString strLocationMount; + QString strBufferMount = buffer.toStdString().c_str(); + QStringList listMount = strBufferMount.split("\n"); + + if(strBufferMount.contains(strDevice)==true) + { + int i=0; + + for(i=0 ; i=6) + { + for(j=2 ; jwidgetMainMenu->SetEnableDiskUSB(true); + } + + } + else + { + if(m_bMountDiskUSB==true) + { + UmountDiskUSB("/home/birdhead/backup"); + } + ui->widgetMainMenu->SetEnableDiskUSB(false); + m_bMountDiskUSB = false; + } +} + +void MainWindow::MountDiskUSB(QString strDeviceMount, QString strLocationMount) +{ + QString strCommand; + strCommand = QString("sudo -S mount %1 %2").arg(strDeviceMount).arg(strLocationMount); + + CommandSudo(strCommand); +} + +void MainWindow::UmountDiskUSB(QString strLocationMount) +{ + QString strCommand; + strCommand = QString("sudo -S umount %1").arg(strLocationMount); + + CommandSudo(strCommand); +} + + +void MainWindow::CommandSudo(QString strCommand) +{ + bool retval = false; + QByteArray buffer; + + QProcess process1; + QProcess process2; + + process1.setStandardOutputProcess(&process2); + + process1.start("echo 1"); + + + process2.start(strCommand); + process2.setProcessChannelMode(QProcess::ForwardedChannels); + + + + // Wait for it to start + if(!process1.waitForStarted()) + return; + + + // To be fair: you only need to wait here for a bit with shutdown, + // but I will still leave the rest here for a generic solution + while ((retval = process2.waitForFinished())) + { + buffer.append(process2.readAll()); + } + + + process1.terminate(); + process2.terminate(); + + process1.waitForFinished(100); + process2.waitForFinished(100); + + process1.deleteLater(); + process2.deleteLater(); + + buffer.clear(); +} diff --git a/mainwindow.h b/mainwindow.h new file mode 100644 index 0000000..b0cca10 --- /dev/null +++ b/mainwindow.h @@ -0,0 +1,148 @@ +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include + +#include "common.h" +#include "commondata.h" + +#include "qrtspthread.h" +#include "sthreadimagesave.h" +#include "sthreadwatchvideolink.h" + +#include +#include "dialogprogress.h" + +#include "dialogmisscapture.h" + +#include "formscreensaver.h" + +#include + + +#include "sthreadwatchport.h" + +QT_BEGIN_NAMESPACE +namespace Ui { class MainWindow; } +QT_END_NAMESPACE + +class MainWindow : public QMainWindow +{ + Q_OBJECT + +public: + MainWindow(QWidget *parent = nullptr); + ~MainWindow(); + + void DeleteUI(); + + void SetDisplayType(int nType); + + void SetRTSPThread(QRTSPThread* pThread); + void SetThreadCaptureImage(SThreadImageSave* pThread); + void SetThreadSendDICOM(SThreadSendDICOM* pThread); + + void UpdateSendInfo(int nCount, int nTotalCount); + void UpdateSendComplete(); + + void UpdateMakeDICOMInfo(int nCurrent, int nTotal); + + + static MainWindow* GetMainWindow(); + static CommonData* GetCommonData(); + + void ClearHistoryView(); + + QWidget* GetFormCapture(); + + int GetCurrentWidgetID(); + + virtual void keyReleaseEvent(QKeyEvent *event); + + + + void ResetScreenSaverTimer(); + void StartScreenSaverTimer(); + void StopScreenSaverTimer(); + + + void SetDisplayError(int nTypeError); + + void MountDiskUSB(QString strDeviceMount, QString strLocationMount); + void UmountDiskUSB(QString strLocationMount); + + void CommandSudo(QString strCommand); + +public: + virtual void resizeEvent(QResizeEvent *event); + +public slots: + void SetDisplayError(QString strError); + + void ViewDialogMissCapture(); + void CaptureHandSwitch(); + void CaptureFootSwitch(); + void UpdateSendFailed(); + void UpdateAutoSendDICOMFailed(); + void BackupNetworkShareFolder(QString strFilename); + void ChangeMenu(int nID); + void ExitCapture(); + void ErrorCapture(); + void ExitViewer(); + void DeferredInit(); + + void CheckDiskUSB(); + + void ViewerChangeFocusCheck(); + + void Exit(); + + void WatchPowerButton(); + + void CompleteCleanStorage(); + + void MissCapture(); + + void CompleteAcquisitionFromHistory(); + void LoadInfoAcquisitionFromHistory(int nCurrent, int nTotal); + + void CheckShowScreenSaver(); + + void WriteLogTimer(); + +signals: + void SendCaptureHandSwitch(); + void SendCaptureFootSwitch(); + +protected: + SThreadWatchPort* m_pThreadWatch; + FormScreenSaver* m_pScreenSaver; + int m_nDisplayType; + QTimer m_TimerScreenSaver; + QTimer m_Timer; + QTimer m_TimerWatchPowerButton; + QTimer m_TimerMissCapture; + QTimer m_TimerLog; + QTimer m_TimerCheckDiskUSB; + bool m_bMountDiskUSB; + QElapsedTimer m_TimeCheckScreenSaver; + static MainWindow* m_pMainWindow; + + static CommonData* m_pCommonData; + + vector m_ListWidget; + int m_nCurrentMenuID; + int m_nCurrentWidgetID; + + DialogProgress* m_pDialogStorageClean; + + DialogMissCapture* m_pDialogMissCapture; + + int m_nTypeError; + + QProcess* m_pProcessNode; + +private: + Ui::MainWindow *ui; +}; +#endif // MAINWINDOW_H diff --git a/mainwindow.ui b/mainwindow.ui new file mode 100644 index 0000000..f6b13df --- /dev/null +++ b/mainwindow.ui @@ -0,0 +1,45 @@ + + + MainWindow + + + + 0 + 0 + 1920 + 1080 + + + + MainWindow + + + + QWidget#centralwidget +{ + background: rgb(39, 102, 120); +} + + + + + 58 + 58 + 573 + 70 + + + + + + + + FormMainMenu + QWidget +

formmainmenu.h
+ 1 + + + + + diff --git a/pkg-config_wrapper.sh b/pkg-config_wrapper.sh new file mode 100755 index 0000000..a6834b8 --- /dev/null +++ b/pkg-config_wrapper.sh @@ -0,0 +1,6 @@ +#!/bin/sh +PKG_CONFIG_SYSROOT_DIR=/work/nvidia/xavier_nx/qt-compile/rootfs_qt_compile +export PKG_CONFIG_SYSROOT_DIR +PKG_CONFIG_LIBDIR=/work/nvidia/xavier_nx/qt-compile/rootfs_qt_compile/usr/lib/pkgconfig:/work/nvidia/xavier_nx/qt-compile/rootfs_qt_compile/usr/share/pkgconfig:/work/nvidia/xavier_nx/qt-compile/rootfs_qt_compile/usr/lib/aarch64-linux-gnu/pkgconfig +export PKG_CONFIG_LIBDIR +exec pkg-config "$@" diff --git a/preprocess.cu b/preprocess.cu new file mode 100644 index 0000000..51359cc --- /dev/null +++ b/preprocess.cu @@ -0,0 +1,116 @@ +#include "preprocess.h" +#include + +__global__ void warpaffine_kernel( + uint8_t* src, int src_line_size, int src_width, + int src_height, float* dst, int dst_width, + int dst_height, uint8_t const_value_st, + AffineMatrix d2s, int edge) { + int position = blockDim.x * blockIdx.x + threadIdx.x; + if (position >= edge) return; + + float m_x1 = d2s.value[0]; + float m_y1 = d2s.value[1]; + float m_z1 = d2s.value[2]; + float m_x2 = d2s.value[3]; + float m_y2 = d2s.value[4]; + float m_z2 = d2s.value[5]; + + int dx = position % dst_width; + int dy = position / dst_width; + float src_x = m_x1 * dx + m_y1 * dy + m_z1 + 0.5f; + float src_y = m_x2 * dx + m_y2 * dy + m_z2 + 0.5f; + float c0, c1, c2; + + if (src_x <= -1 || src_x >= src_width || src_y <= -1 || src_y >= src_height) { + // out of range + c0 = const_value_st; + c1 = const_value_st; + c2 = const_value_st; + } else { + int y_low = floorf(src_y); + int x_low = floorf(src_x); + int y_high = y_low + 1; + int x_high = x_low + 1; + + uint8_t const_value[] = {const_value_st, const_value_st, const_value_st}; + float ly = src_y - y_low; + float lx = src_x - x_low; + float hy = 1 - ly; + float hx = 1 - lx; + float w1 = hy * hx, w2 = hy * lx, w3 = ly * hx, w4 = ly * lx; + uint8_t* v1 = const_value; + uint8_t* v2 = const_value; + uint8_t* v3 = const_value; + uint8_t* v4 = const_value; + + if (y_low >= 0) { + if (x_low >= 0) + v1 = src + y_low * src_line_size + x_low * 3; + + if (x_high < src_width) + v2 = src + y_low * src_line_size + x_high * 3; + } + + if (y_high < src_height) { + if (x_low >= 0) + v3 = src + y_high * src_line_size + x_low * 3; + + if (x_high < src_width) + v4 = src + y_high * src_line_size + x_high * 3; + } + + c0 = w1 * v1[0] + w2 * v2[0] + w3 * v3[0] + w4 * v4[0]; + c1 = w1 * v1[1] + w2 * v2[1] + w3 * v3[1] + w4 * v4[1]; + c2 = w1 * v1[2] + w2 * v2[2] + w3 * v3[2] + w4 * v4[2]; + } + + //bgr to rgb + float t = c2; + c2 = c0; + c0 = t; + + //normalization + c0 = c0 / 255.0f; + c1 = c1 / 255.0f; + c2 = c2 / 255.0f; + + //rgbrgbrgb to rrrgggbbb + int area = dst_width * dst_height; + float* pdst_c0 = dst + dy * dst_width + dx; + float* pdst_c1 = pdst_c0 + area; + float* pdst_c2 = pdst_c1 + area; + *pdst_c0 = c0; + *pdst_c1 = c1; + *pdst_c2 = c2; +} + +void preprocess_kernel_img( + uint8_t* src, int src_width, int src_height, + float* dst, int dst_width, int dst_height, + cudaStream_t stream) { + AffineMatrix s2d,d2s; + float scale = std::min(dst_height / (float)src_height, dst_width / (float)src_width); + + s2d.value[0] = scale; + s2d.value[1] = 0; + s2d.value[2] = -scale * src_width * 0.5 + dst_width * 0.5; + s2d.value[3] = 0; + s2d.value[4] = scale; + s2d.value[5] = -scale * src_height * 0.5 + dst_height * 0.5; + + cv::Mat m2x3_s2d(2, 3, CV_32F, s2d.value); + cv::Mat m2x3_d2s(2, 3, CV_32F, d2s.value); + cv::invertAffineTransform(m2x3_s2d, m2x3_d2s); + + memcpy(d2s.value, m2x3_d2s.ptr(0), sizeof(d2s.value)); + + int jobs = dst_height * dst_width; + int threads = 256; + int blocks = ceil(jobs / (float)threads); + warpaffine_kernel<<>>( + src, src_width*3, src_width, + src_height, dst, dst_width, + dst_height, 128, d2s, jobs); + +} diff --git a/preprocess.h b/preprocess.h new file mode 100644 index 0000000..236d5f3 --- /dev/null +++ b/preprocess.h @@ -0,0 +1,16 @@ +#ifndef __PREPROCESS_H +#define __PREPROCESS_H + +#include +#include + + +struct AffineMatrix{ + float value[6]; +}; + + +void preprocess_kernel_img(uint8_t* src, int src_width, int src_height, + float* dst, int dst_width, int dst_height, + cudaStream_t stream); +#endif // __PREPROCESS_H diff --git a/qglslshader.cpp b/qglslshader.cpp new file mode 100644 index 0000000..068c918 --- /dev/null +++ b/qglslshader.cpp @@ -0,0 +1,259 @@ +#include "qglslshader.h" +using namespace SOPENGL; + +#include "common.h" + +QGLSLShader::QGLSLShader() +{ + m_pVShader = NULL; + m_pFShader = NULL; + m_pProgram = NULL; + m_pVideoTexture = NULL; + + m_fAngle = 0.0f; + m_fScale = 1.0f; +} + +QGLSLShader::~QGLSLShader() +{ + SAFE_DELETE(m_pVShader); + SAFE_DELETE(m_pFShader); + SAFE_DELETE(m_pProgram); + +} + +qreal QGLSLShader::GetAngle() +{ + return m_fAngle; +} + +qreal QGLSLShader::GetScale() +{ + return m_fScale; +} + +QVector QGLSLShader::GetVertices() +{ + return m_Vertices; +} + +QVector QGLSLShader::GetNormals() +{ + return m_Normals; +} + +void QGLSLShader::CreateShader(const char *pSrcVShader, const char *pSrcFShader) +{ + m_pVShader = new QOpenGLShader(QOpenGLShader::Vertex); + m_pVShader->compileSourceCode(pSrcVShader); + qDebug() << m_pVShader->log(); + + m_pFShader = new QOpenGLShader(QOpenGLShader::Fragment); + m_pFShader->compileSourceCode(pSrcFShader); + qDebug() << m_pFShader->log(); + + + + m_pProgram = new QOpenGLShaderProgram; + m_pProgram->addShader(m_pVShader); + m_pProgram->addShader(m_pFShader); + m_pProgram->link(); + + m_AttrVertex = m_pProgram->attributeLocation("vertex"); + m_AttrNormal = m_pProgram->attributeLocation("normal"); + m_AttrTexCoord = m_pProgram->attributeLocation("texCoord"); + m_UniformMatrix = m_pProgram->uniformLocation("matrix"); + m_UniformVideoTexture = m_pProgram->uniformLocation("tex"); + + //m_ImageWidth = m_pProgram->uniformLocation("nImageWidth"); + //m_ImageHeight = m_pProgram->uniformLocation("nImageHeight"); + + //m_nDisplayType = m_pProgram->uniformLocation("nDisplayType"); +} + +void QGLSLShader::CreateTexture(int nWidth, int nHeight, QOpenGLTexture::Target target, QOpenGLTexture::TextureFormat format) +{ + m_nTextureWidth = nWidth; + m_nTextureHeight = nHeight; + m_pVideoTexture = new QOpenGLTexture(target); + m_pVideoTexture->create(); + m_pVideoTexture->setFormat(format); + m_pVideoTexture->setSize(nWidth, nHeight); + m_pVideoTexture->allocateStorage(); + + //m_pVideoTexture->setMinMagFilters(QOpenGLTexture::LinearMipMapLinear, QOpenGLTexture::LinearMipMapLinear); + + + +} + +void QGLSLShader::Bind() +{ + //m_pVideoTexture->setMinMagFilters(QOpenGLTexture::LinearMipMapLinear, QOpenGLTexture::LinearMipMapLinear); + m_pProgram->bind(); +} + +void QGLSLShader::Release() +{ + m_pProgram->release(); +} + +void QGLSLShader::SetUniformValue() +{ + QMatrix4x4 modelview; + + //modelview.rotate(m_fAngle, 0.0f, 1.0f, 0.0f); + modelview.rotate(m_fAngle, 1.0f, 0.0f, 0.0f); + //modelview.rotate(m_fAngle, 0.0f, 0.0f, 1.0f); + modelview.scale(m_fScale); + modelview.translate(0.0f, 0.0f, 0.0f); + + m_pProgram->setUniformValue(m_UniformMatrix, modelview); +} + +void QGLSLShader::EnableAttributeArray() +{ + //int nTextureID = m_pVideoTexture->textureId(); + //m_pProgram->setUniformValue(m_UniformVideoTexture, m_pVideoTexture->textureId()); // use texture unit 0 + m_pProgram->setUniformValue(m_UniformVideoTexture, 0); // use texture unit 0 + + m_pProgram->enableAttributeArray(m_AttrVertex); + m_pProgram->enableAttributeArray(m_AttrNormal); + m_pProgram->enableAttributeArray(m_AttrTexCoord); +} + +void QGLSLShader::SetAttributeBuffer() +{ + m_pProgram->setAttributeBuffer(m_AttrVertex, GL_FLOAT, 0, 3); + m_pProgram->setAttributeBuffer(m_AttrTexCoord, GL_FLOAT, 6 * 3 * sizeof(GLfloat), 2); + //m_pProgram->setAttributeBuffer(m_AttrNormal, GL_FLOAT, 6 * 5 * sizeof(GLfloat), 3); +} + +void QGLSLShader::DisableAttributeArray() +{ + m_pProgram->disableAttributeArray(m_AttrVertex); + m_pProgram->disableAttributeArray(m_AttrNormal); + m_pProgram->disableAttributeArray(m_AttrTexCoord); +} + +void QGLSLShader::BindTexture() +{ + m_pVideoTexture->bind(); +} + +void QGLSLShader::ReleaseTexture() +{ + m_pVideoTexture->release(); +} + +void QGLSLShader::Translate(float fX, float fY, float fZ) +{ + QMatrix4x4 modelview; + + //modelview.rotate(m_fAngle, 0.0f, 1.0f, 0.0f); + modelview.rotate(m_fAngle, 1.0f, 0.0f, 0.0f); + //modelview.rotate(m_fAngle, 0.0f, 0.0f, 1.0f); + modelview.scale(m_fScale); + modelview.translate(fX, fY, fZ); + + m_pProgram->setUniformValue(m_UniformMatrix, modelview); +} + +QOpenGLTexture *QGLSLShader::GetTexture() +{ + return m_pVideoTexture; +} + +void QGLSLShader::CreateGeometry() +{ + m_Vertices.clear(); + m_Normals.clear(); +/* + qreal x1 = +0.06f; + qreal y1 = -0.14f; + qreal x2 = +0.14f; + qreal y2 = -0.06f; + qreal x3 = +0.08f; + qreal y3 = +0.00f; + qreal x4 = +0.30f; + qreal y4 = +0.22f; + + quad(x1, y1, x2, y2, y2, x2, y1, x1); + quad(x3, y3, x4, y4, y4, x4, y3, x3); + + extrude(x1, y1, x2, y2); + extrude(x2, y2, y2, x2); + extrude(y2, x2, y1, x1); + extrude(y1, x1, x1, y1); + extrude(x3, y3, x4, y4); + extrude(x4, y4, y4, x4); + extrude(y4, x4, y3, x3); + + const qreal Pi = 3.14159f; + const int NumSectors = 100; + + for (int i = 0; i < NumSectors; ++i) { + qreal angle1 = (i * 2 * Pi) / NumSectors; + qreal x5 = 0.30 * sin(angle1); + qreal y5 = 0.30 * cos(angle1); + qreal x6 = 0.20 * sin(angle1); + qreal y6 = 0.20 * cos(angle1); + + qreal angle2 = ((i + 1) * 2 * Pi) / NumSectors; + qreal x7 = 0.20 * sin(angle2); + qreal y7 = 0.20 * cos(angle2); + qreal x8 = 0.30 * sin(angle2); + qreal y8 = 0.30 * cos(angle2); + + quad(x5, y5, x6, y6, x7, y7, x8, y8); + + extrude(x6, y6, x7, y7); + extrude(x8, y8, x5, y5); + } + + for (int i = 0;i < m_vertices.size();i++) + m_vertices[i] *= 2.0f; + */ +} + +void QGLSLShader::Quad(qreal x1, qreal y1, qreal x2, qreal y2, qreal x3, qreal y3, qreal x4, qreal y4) +{ + m_Vertices << QVector3D(x1, y1, -0.05f); + m_Vertices << QVector3D(x2, y2, -0.05f); + m_Vertices << QVector3D(x4, y4, -0.05f); + + m_Vertices << QVector3D(x3, y3, -0.05f); + m_Vertices << QVector3D(x4, y4, -0.05f); + m_Vertices << QVector3D(x2, y2, -0.05f); + + QVector3D n = QVector3D::normal + (QVector3D(x2 - x1, y2 - y1, 0.0f), QVector3D(x4 - x1, y4 - y1, 0.0f)); + + m_Normals << n; + m_Normals << n; + m_Normals << n; + + m_Normals << n; + m_Normals << n; + m_Normals << n; + + m_Vertices << QVector3D(x4, y4, 0.05f); + m_Vertices << QVector3D(x2, y2, 0.05f); + m_Vertices << QVector3D(x1, y1, 0.05f); + + m_Vertices << QVector3D(x2, y2, 0.05f); + m_Vertices << QVector3D(x4, y4, 0.05f); + m_Vertices << QVector3D(x3, y3, 0.05f); + + n = QVector3D::normal + (QVector3D(x2 - x4, y2 - y4, 0.0f), QVector3D(x1 - x4, y1 - y4, 0.0f)); + + m_Normals << n; + m_Normals << n; + m_Normals << n; + + m_Normals << n; + m_Normals << n; + m_Normals << n; +} + diff --git a/qglslshader.h b/qglslshader.h new file mode 100644 index 0000000..bf7030e --- /dev/null +++ b/qglslshader.h @@ -0,0 +1,88 @@ +#ifndef QGLSLSHADER_H +#define QGLSLSHADER_H + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include + +#include +#include + +//QT_FORWARD_DECLARE_CLASS(QOpenGLTexture) +//QT_FORWARD_DECLARE_CLASS(QOpenGLShader) +QT_FORWARD_DECLARE_CLASS(QOpenGLShaderProgram) + +namespace SOPENGL +{ + class QGLSLShader : protected QOpenGLFunctions + { + public: + QGLSLShader(); + virtual ~QGLSLShader(); + + qreal GetAngle(); + qreal GetScale(); + + QVector GetVertices(); + QVector GetNormals(); + + virtual void CreateShader(const char* pSrcVShader, const char* pSrcFShader); + virtual void CreateTexture(int nWidth, int nHeight, QOpenGLTexture::Target target, QOpenGLTexture::TextureFormat format); + + void Bind(); + void Release(); + + virtual void SetUniformValue(); + + virtual void EnableAttributeArray(); + virtual void SetAttributeBuffer(); + virtual void DisableAttributeArray(); + + virtual void BindTexture(); + virtual void ReleaseTexture(); + + virtual void Translate(float fX, float fY, float fZ); + + QOpenGLTexture *GetTexture(); + + virtual void CreateGeometry(); + virtual void Quad(qreal x1, qreal y1, qreal x2, qreal y2, qreal x3, qreal y3, qreal x4, qreal y4); + + protected: + qreal m_fAngle; + qreal m_fScale; + QVector m_Vertices; + QVector m_Normals; + + QOpenGLShader* m_pVShader; + QOpenGLShader* m_pFShader; + QOpenGLShaderProgram* m_pProgram; + + int m_AttrVertex; + int m_AttrNormal; + int m_AttrTexCoord; + int m_UniformMatrix; + int m_UniformVideoTexture; + + int m_nTextureWidth; + int m_nTextureHeight; + + + QOpenGLTexture* m_pVideoTexture; + QOpenGLBuffer m_VBO; + }; +} + + +#endif // QGLSLSHADER_H diff --git a/qgstreamerplayer.cpp b/qgstreamerplayer.cpp new file mode 100644 index 0000000..9b11a1d --- /dev/null +++ b/qgstreamerplayer.cpp @@ -0,0 +1,1937 @@ +#include "qgstreamerplayer.h" + +#include "qrtspthread.h" +#include "qvideowidget.h" + +#include "mainwindow.h" + +#include + +#include +#include + +#include +#include +#include +#include +#include + +static void errno_exit(const char *s) +{ + fprintf(stderr, "%s error %d, %s\n",s, errno, strerror(errno)); + exit(EXIT_FAILURE); +} + +static int xioctl(int fd,int request,void *arg) +{ + int r; + do{ r = ioctl(fd, request, arg); } + while(-1 == r && EINTR == errno); + return r; +} + +//#define __720P + +bool g_bSend = false; + +QGstreamerPlayer::QGstreamerPlayer(QObject *parent) : QObject(parent) +{ + m_bCaptureImage = false; + m_bWorkingRTSP = false; + m_bSeeking = false; + + m_nFrameWidth = 0; + m_nFrameHeight = 0; + + m_DataGST.m_bShow = false; + m_DataGST.terminate = false; + + m_nCaptureMode = 2; //Running background capture + + m_bPipeStart = false; + + //int argc = 0; + //gst_init (&argc, NULL); + //gst_segtrap_set_enabled(FALSE); + + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + connect(this, SIGNAL(ExitCapture()), pMainWindow, SLOT(ExitCapture())); + connect(this, SIGNAL(ErrorCapture()), pMainWindow, SLOT(ErrorCapture())); + + + + +} + +QGstreamerPlayer::~QGstreamerPlayer() +{ + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + disconnect(this, SIGNAL(ExitCapture()), pMainWindow, SLOT(ExitCapture())); + disconnect(this, SIGNAL(ErrorCapture()), pMainWindow, SLOT(ErrorCapture())); + + gst_deinit(); +} + +bool QGstreamerPlayer::IsPipeStart() +{ + return m_bPipeStart; +} + +void QGstreamerPlayer::OpenMovieFile(QString strFilename) +{ + +} + + +bool QGstreamerPlayer::IsWorkingRTSP() +{ + return m_bWorkingRTSP; +} + +bool QGstreamerPlayer::IsVideoLink() +{ + return m_DataGST.m_bVideoLink; +} + +void QGstreamerPlayer::CreatePipeLineJetson() +{ + //m_DataGST.queue_src = NULL; + //m_DataGST.queue_sink = NULL; + m_DataGST.vidconv1 = NULL; + m_DataGST.vidconv2 = NULL; + + m_DataGST.source = gst_element_factory_make ("nvv4l2camerasrc", NULL); + //m_DataGST.source = gst_element_factory_make ("v4l2src", NULL); + m_DataGST.sink = gst_element_factory_make ("appsink", NULL); + + if(m_DataGST.queue_src==NULL) + { + m_DataGST.queue_src = gst_element_factory_make ("queue", NULL); + } + + if(m_DataGST.queue_sink==NULL) + { + m_DataGST.queue_sink = gst_element_factory_make ("queue", NULL); + } + + + m_DataGST.vidconv1 = gst_element_factory_make ("nvvidconv", NULL); + //m_DataGST.vidconv2 = gst_element_factory_make ("nvvidconv", NULL); + + m_DataGST.caps_videosrc = gst_element_factory_make("capsfilter", "caps_videosrc"); + m_DataGST.caps_vidconv1 = gst_element_factory_make("capsfilter", "caps_vidconv1"); + + m_DataGST.videoBalance = NULL; + + m_DataGST.tee = gst_element_factory_make ("tee", NULL); + //GstElement* pQueue2 = gst_element_factory_make ("queue", NULL); + + m_DataGST.m_pSink = g_new0 (CustomDataSink, 1); + + if(m_DataGST.sink!=NULL) + { + m_DataGST.appsink_callbacks = (GstAppSinkCallbacks*)malloc(sizeof(GstAppSinkCallbacks)); + + m_DataGST.appsink_callbacks->eos = app_sink_eos; + m_DataGST.appsink_callbacks->new_preroll = app_sink_new_preroll; +#ifdef _GSTREAMER_1_0 + m_DataGST.appsink_callbacks->new_sample = app_sink_new_sample; +#else + m_DataGST.appsink_callbacks->new_buffer = app_sink_new_sample; +#endif + + //test + gst_app_sink_set_callbacks(GST_APP_SINK(m_DataGST.sink), m_DataGST.appsink_callbacks, (gpointer)&m_DataGST, NULL); + g_object_set (m_DataGST.sink, "sync", FALSE, NULL); + gst_app_sink_set_drop(GST_APP_SINK(m_DataGST.sink), TRUE); + } + + GstCaps *cap_source; + GstCaps *cap_vidconv1; + +#ifdef _4K + cap_source = gst_caps_from_string("video/x-raw(memory:NVMM),format=(string)UYVY,width=3840,height=2160,framerate=(fraction)60/1"); + cap_vidconv1 = gst_caps_from_string("video/x-raw,format=(string)UYVY,width=3840,height=2160,framerate=(fraction)60/1"); +#else + cap_source = gst_caps_from_string("video/x-raw(memory:NVMM),format=(string)UYVY,width=1920,height=1080,framerate=(fraction)60/1"); + cap_vidconv1 = gst_caps_from_string("video/x-raw,format=(string)UYVY,width=1920,height=1080,framerate=(fraction)60/1"); +#endif + + + g_object_set(G_OBJECT(m_DataGST.caps_videosrc), "caps", cap_source, NULL); + g_object_set(G_OBJECT(m_DataGST.caps_vidconv1), "caps", cap_vidconv1, NULL); +} + +void QGstreamerPlayer::CreatePipeLinePC() +{ + m_DataGST.vidconv1 = NULL; + m_DataGST.vidconv2 = NULL; + + //m_DataGST.source = gst_element_factory_make ("v4l2src", NULL); + m_DataGST.source = gst_element_factory_make ("videotestsrc", NULL); + m_DataGST.sink = gst_element_factory_make ("appsink", NULL); + + if(m_DataGST.queue_src==NULL) + { + m_DataGST.queue_src = gst_element_factory_make ("queue", NULL); + } + + if(m_DataGST.queue_sink==NULL) + { + m_DataGST.queue_sink = gst_element_factory_make ("queue", NULL); + } + + + m_DataGST.vidconv1 = gst_element_factory_make ("videoconvert", NULL); + + m_DataGST.vidrate1 = gst_element_factory_make ("videorate", NULL); + m_DataGST.vidscale1 = gst_element_factory_make ("videoscale", NULL); + m_DataGST.vidClockDisplay = gst_element_factory_make ("clockoverlay", NULL); + + m_DataGST.caps_videosrc = gst_element_factory_make("capsfilter", "caps_videosrc"); + m_DataGST.caps_vidconv1 = gst_element_factory_make("capsfilter", "caps_vidconv1"); + m_DataGST.caps_vidrate1 = gst_element_factory_make("capsfilter", "caps_vidrate1"); + m_DataGST.caps_vidscale1 = gst_element_factory_make("capsfilter", "caps_vidscale1"); + + m_DataGST.videoBalance = NULL; + + m_DataGST.tee = gst_element_factory_make ("tee", NULL); + + m_DataGST.m_pSink = g_new0 (CustomDataSink, 1); + + if(m_DataGST.sink!=NULL) + { + m_DataGST.appsink_callbacks = (GstAppSinkCallbacks*)malloc(sizeof(GstAppSinkCallbacks)); + + m_DataGST.appsink_callbacks->eos = app_sink_eos; + m_DataGST.appsink_callbacks->new_preroll = app_sink_new_preroll; +#ifdef _GSTREAMER_1_0 + m_DataGST.appsink_callbacks->new_sample = app_sink_new_sample; +#else + m_DataGST.appsink_callbacks->new_buffer = app_sink_new_sample; +#endif + + //test + gst_app_sink_set_callbacks(GST_APP_SINK(m_DataGST.sink), m_DataGST.appsink_callbacks, (gpointer)&m_DataGST, NULL); + g_object_set (m_DataGST.sink, "sync", FALSE, NULL); + gst_app_sink_set_drop(GST_APP_SINK(m_DataGST.sink), TRUE); + } + + GstCaps *cap_source; + cap_source = gst_caps_from_string("video/x-raw,format=(string)YUY2,width=1280,height=720,framerate=(fraction)10/1"); + g_object_set(G_OBJECT(m_DataGST.caps_videosrc), "caps", cap_source, NULL); + + GstCaps *cap_vidscale1; + cap_vidscale1 = gst_caps_from_string("video/x-raw,width=1920,height=1080"); + g_object_set(G_OBJECT(m_DataGST.caps_vidscale1), "caps", cap_vidscale1, NULL); + + GstCaps *cap_vidrate1; + cap_vidrate1 = gst_caps_from_string("video/x-raw,framerate=(fraction)60/1"); + g_object_set(G_OBJECT(m_DataGST.caps_vidrate1), "caps", cap_vidrate1, NULL); + + GstCaps *cap_vidconv1; + cap_vidconv1 = gst_caps_from_string("video/x-raw,format=(string)UYVY,width=1920,height=1080,framerate=(fraction)60/1"); + g_object_set(G_OBJECT(m_DataGST.caps_vidconv1), "caps", cap_vidconv1, NULL); +} + + +int QGstreamerPlayer::OpenCamera4(QString strParameter) +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + QRTSPThread* pRTSPThread = NULL; + m_bError = false; + + m_DataGST.m_TimerStart.restart(); + m_DataGST.m_bVideoLink = false; + + while(pRTSPThread==NULL) + { + usleep(1000); + pRTSPThread = pCommonData->GetThreadRTSP(); + } + + int nCaptureIndex = pRTSPThread->GetCaptureIndex(); + QString strSource = QString("test_src%1").arg(QString::number(nCaptureIndex)); + QString strPipeLine = QString("jetson video%1").arg(QString::number(nCaptureIndex)); + + pid_t pid_current = getpid(); + GstStateChangeReturn ret; + GstMessage *msg; + gboolean bTrapEnabled = FALSE; + + GstPad *queue_app_pad; + GstCaps *video_caps; + + + + if(gst_is_initialized()==false) + { + int argc = 0; + gst_init (&argc, NULL); + gst_segtrap_set_enabled(FALSE); + bTrapEnabled = gst_segtrap_is_enabled(); + } + + + m_DataGST.pipeline = gst_pipeline_new(strPipeLine.toStdString().c_str()); + m_DataGST.m_bEncoding = false; + +#ifdef _PC + CreatePipeLinePC(); + + gst_bin_add_many (GST_BIN (m_DataGST.pipeline), + (GstElement*)gst_object_ref (m_DataGST.source), + gst_object_ref (m_DataGST.caps_videosrc), + gst_object_ref (m_DataGST.queue_src), + gst_object_ref (m_DataGST.vidClockDisplay), + gst_object_ref (m_DataGST.vidrate1), + gst_object_ref (m_DataGST.caps_vidrate1), + gst_object_ref (m_DataGST.vidscale1), + gst_object_ref (m_DataGST.caps_vidscale1), + + gst_object_ref (m_DataGST.tee), + + gst_object_ref (m_DataGST.vidconv1), + gst_object_ref (m_DataGST.caps_vidconv1), + gst_object_ref (m_DataGST.queue_sink), + gst_object_ref (m_DataGST.sink), NULL); +#else + CreatePipeLineJetson(); + + gst_bin_add_many (GST_BIN (m_DataGST.pipeline), (GstElement*)gst_object_ref (m_DataGST.source), + gst_object_ref (m_DataGST.caps_videosrc), + gst_object_ref (m_DataGST.tee), + gst_object_ref (m_DataGST.queue_src), + gst_object_ref (m_DataGST.vidconv1), + gst_object_ref (m_DataGST.caps_vidconv1), + gst_object_ref (m_DataGST.queue_sink), + gst_object_ref (m_DataGST.sink), NULL); +#endif + + + g_object_set (m_DataGST.sink, "sync", FALSE, NULL); + + gst_base_sink_set_last_sample_enabled(GST_BASE_SINK(m_DataGST.sink), true); + + g_signal_connect (m_DataGST.source, "pad-added", G_CALLBACK (QGstreamerPlayer::pad_added_handler), &m_DataGST); + + GstPad* pad = gst_element_get_static_pad (m_DataGST.sink, "sink"); + + //if (!m_DataGST.pipeline || !m_DataGST.source || !m_DataGST.queue_src || !m_DataGST.sink) { + if (!m_DataGST.pipeline || !m_DataGST.source || !m_DataGST.sink) { + qDebug() << strParameter << endl; + g_printerr ("Not all elements could be created.\n"); + m_bWorkingRTSP = false; + m_bError = true; + ErrorCapture(); + return -2; + } + + + + + m_pError = NULL; + + m_bWorkingRTSP = true; + m_nFrameWidth = 0; + m_nFrameHeight = 0; + + m_DataGST.m_strFilename = strParameter; + m_DataGST.m_bError = false; + m_DataGST.terminate = false; + + m_bTerminate = false; + + + + m_DataGST.pWidget = m_pVideoWidget; + m_DataGST.pPlayer = this; + + QSize nSize = m_pVideoWidget->size(); + + +#ifdef _PC + if(m_DataGST.pipeline!=NULL) + { + gst_element_set_state (m_DataGST.source, GST_STATE_NULL); + gst_element_set_state (m_DataGST.caps_videosrc, GST_STATE_NULL); + gst_element_set_state (m_DataGST.queue_src, GST_STATE_NULL); + + gst_element_set_state (m_DataGST.vidClockDisplay, GST_STATE_NULL); + + gst_element_set_state (m_DataGST.vidscale1, GST_STATE_NULL); + gst_element_set_state (m_DataGST.caps_vidscale1, GST_STATE_NULL); + + gst_element_set_state (m_DataGST.vidrate1, GST_STATE_NULL); + gst_element_set_state (m_DataGST.caps_vidrate1, GST_STATE_NULL); + + gst_element_set_state (m_DataGST.vidconv1, GST_STATE_NULL); + gst_element_set_state (m_DataGST.caps_vidconv1, GST_STATE_NULL); + gst_element_set_state (m_DataGST.queue_sink, GST_STATE_NULL); + gst_element_set_state (m_DataGST.sink, GST_STATE_NULL); + } + + if( gst_element_link_many (m_DataGST.source, + m_DataGST.caps_videosrc, + m_DataGST.queue_src, + m_DataGST.vidClockDisplay, + m_DataGST.vidscale1, + m_DataGST.caps_vidscale1, + m_DataGST.vidrate1, + m_DataGST.caps_vidrate1, + + m_DataGST.tee, + m_DataGST.vidconv1, + m_DataGST.caps_vidconv1, + m_DataGST.queue_sink, + m_DataGST.sink, + NULL) != TRUE) + { + int a=0; + } +#else + if(m_DataGST.pipeline!=NULL) + { + gst_element_set_state (m_DataGST.source, GST_STATE_NULL); + gst_element_set_state (m_DataGST.caps_videosrc, GST_STATE_NULL); + gst_element_set_state (m_DataGST.queue_src, GST_STATE_NULL); + gst_element_set_state (m_DataGST.vidconv1, GST_STATE_NULL); + gst_element_set_state (m_DataGST.caps_vidconv1, GST_STATE_NULL); + gst_element_set_state (m_DataGST.queue_sink, GST_STATE_NULL); + gst_element_set_state (m_DataGST.sink, GST_STATE_NULL); + } + + if( gst_element_link_many (m_DataGST.source, + m_DataGST.caps_videosrc, + m_DataGST.tee, + m_DataGST.queue_src, + m_DataGST.vidconv1, + m_DataGST.caps_vidconv1, + m_DataGST.queue_sink, + m_DataGST.sink, + NULL) != TRUE) + { + int a=0; + } +#endif + + + + m_DataGST.m_bShow = true; + + + if(m_DataGST.queue_src!=NULL) + { + g_object_set (m_DataGST.queue_src, "max-size-buffers", 10, NULL); + } + + if(m_DataGST.source!=NULL) + { + //g_object_set (m_DataGST.source, "device", strVideoDevice.toStdString().c_str(), NULL); + + } + + + + //queue_app_pad = gst_element_get_static_pad (m_DataGST.app_queue, "sink"); + //sigint_setup(); + //ret = gst_element_set_state (m_DataGST.pipeline, GST_STATE_PLAYING); + ret = GST_STATE_CHANGE_SUCCESS; + ret = gst_element_set_state (m_DataGST.pipeline, GST_STATE_PAUSED); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (m_DataGST.pipeline); + m_bPipeStart = false; + m_bWorkingRTSP = false; + //ErrorCapture(); + ExitCapture(); + return -3; + } + + m_DataGST.bus = gst_element_get_bus (m_DataGST.pipeline); + + + + + //if(kk>0) + { + //gst_element_set_state (m_DataGST.pipeline, GST_STATE_PLAYING); + } + // + + m_bPipeStart = true; + + bool bSignalOut = false; + + m_pVideoWidget->Reset(); + + + + int64_t tEnd=0; + do { + //msg = gst_bus_timed_pop_filtered (m_DataGST.bus, GST_CLOCK_TIME_NONE, + msg = gst_bus_timed_pop_filtered (m_DataGST.bus, 1, + (GstMessageType)(GST_MESSAGE_STATE_CHANGED | GST_MESSAGE_ERROR | GST_MESSAGE_EOS | GST_MESSAGE_STEP_DONE | GST_MESSAGE_STEP_START | GST_MESSAGE_ASYNC_DONE));// | GST_MESSAGE_DEVICE_REMOVED | GST_MESSAGE_ANY)); + + + if(tEnd==0) + { + gst_element_query_duration (m_DataGST.pipeline, GST_FORMAT_TIME, &tEnd); + if(tEnd!=0) + { + int nHour = 0; + int nMinute = 0; + int nSec = 0; + + int nMilliSec = tEnd/(1000*1000); + nSec = nMilliSec/1000; + nMinute = nSec/60; + nHour = nMinute/60; + + nSec = nSec%60; + nMinute = nMinute%60; + nHour = nHour; + nMilliSec = (nMilliSec/1000)%1000; + qDebug() << "Duration: " << nHour << ":" << nMinute << ":" << nSec << ":" << nMilliSec ; + + //m_bTerminate = true; + + GstState state; + GstState pending; + + gst_element_get_state(m_DataGST.pipeline, &state, &pending, GST_CLOCK_TIME_NONE); + + gst_element_set_state (m_DataGST.pipeline, GST_STATE_PLAYING); + } + } + /* Parse message */ + if (msg != NULL) { + GError *err; + gchar *debug_info; + + switch (GST_MESSAGE_TYPE (msg)) { + case GST_MESSAGE_ERROR: + gst_message_parse_error (msg, &err, &debug_info); + if(err!=NULL) + { + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + } + + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + m_bError = true; + m_DataGST.terminate = true; + break; + + case GST_MESSAGE_EOS: + g_print ("End-Of-Stream reached.\n"); + + { + + //gst_message_unref (msg); + + //if(m_nCaptureMode==0) + { + bSignalOut = true; + m_DataGST.terminate = true; + } + + + } + + + break; + case GST_MESSAGE_STATE_CHANGED: + /* We are only interested in state-changed messages from the pipeline */ + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (m_DataGST.pipeline)) { + + g_print ("Pipeline state changed from %s to %s:\n", + gst_element_state_get_name (old_state), gst_element_state_get_name (new_state)); + + if(new_state==GST_STATE_PAUSED && old_state==GST_STATE_PLAYING) + { + //m_bTerminate = true; + } + } + break; + + case GST_MESSAGE_STEP_DONE: + { + GstFormat format; + guint64 amount; + gdouble rate; + gboolean flush, intermediate; + guint64 duration; + gboolean eos; + + gst_message_parse_step_done (msg, &format, &amount, &rate, + &flush, &intermediate, &duration, &eos); + + app_sink_new_sample((GstAppSink *)m_DataGST.sink, &m_DataGST); + + } + break; + + case GST_MESSAGE_STEP_START: + { + + } + break; + + case GST_MESSAGE_ASYNC_DONE: + { + //qDebug() << "Async Done"; + //app_sink_new_sample((GstAppSink *)m_DataGST.sink, &m_DataGST); + + //gst_element_set_state (m_DataGST.pipeline, GST_STATE_PLAYING); + + + m_bSeeking = false; + + usleep(5*1000); + } + break; + + + + + + default: + /* We should not reach here */ + g_printerr ("Unexpected message received.\n"); + break; + } + + + gst_message_unref (msg); + } + + if(m_DataGST.terminate==true) + { + m_bTerminate = true; + } + } while (m_bTerminate==false); + + if(m_nCaptureMode==1) + { + + } + + + GstMessage * pMessage = NULL; + + while(pMessage=gst_bus_pop(m_DataGST.bus)) + { + if(pMessage==NULL) + { + break; + } + } + + + + + if(m_DataGST.sink!=NULL) + { + gst_bin_remove (GST_BIN (m_DataGST.pipeline), m_DataGST.sink); + gst_element_set_state (m_DataGST.sink, GST_STATE_NULL); + gst_object_unref (m_DataGST.sink); + } + + if(m_DataGST.queue_src!=NULL) + { + gst_bin_remove (GST_BIN (m_DataGST.pipeline), m_DataGST.queue_src); + //gst_element_set_state (m_DataGST.queue_src, GST_STATE_NULL); + //gst_object_unref (m_DataGST.queue_src); + } + + if(m_DataGST.queue_sink!=NULL) + { + gst_bin_remove (GST_BIN (m_DataGST.pipeline), m_DataGST.queue_sink); + //gst_element_set_state (m_DataGST.queue_sink, GST_STATE_NULL); + //gst_object_unref (m_DataGST.queue_sink); + } + + if(m_DataGST.caps_videosrc!=NULL) + { + gst_bin_remove (GST_BIN (m_DataGST.pipeline), m_DataGST.caps_videosrc); + gst_element_set_state (m_DataGST.caps_videosrc, GST_STATE_NULL); + gst_object_unref (m_DataGST.caps_videosrc); + } + + if(m_DataGST.vidconv1!=NULL) + { + gst_bin_remove (GST_BIN (m_DataGST.pipeline), m_DataGST.vidconv1); + gst_element_set_state (m_DataGST.vidconv1, GST_STATE_NULL); + gst_object_unref (m_DataGST.vidconv1); + } + + if(m_DataGST.caps_vidconv1!=NULL) + { + gst_bin_remove (GST_BIN (m_DataGST.pipeline), m_DataGST.caps_vidconv1); + gst_element_set_state (m_DataGST.caps_vidconv1, GST_STATE_NULL); + gst_object_unref (m_DataGST.caps_vidconv1); + } + + if(m_DataGST.vidconv2!=NULL) + { + gst_bin_remove (GST_BIN (m_DataGST.pipeline), m_DataGST.vidconv2); + gst_element_set_state (m_DataGST.vidconv2, GST_STATE_NULL); + gst_object_unref (m_DataGST.vidconv2); + } + + + if(m_DataGST.source!=NULL) + { + gst_bin_remove (GST_BIN (m_DataGST.pipeline), m_DataGST.source); + gst_element_set_state (m_DataGST.source, GST_STATE_NULL); + gst_object_unref (m_DataGST.source); + } + + + + if(m_DataGST.tee!=NULL) + { + gst_bin_remove (GST_BIN (m_DataGST.pipeline), m_DataGST.tee); + gst_element_set_state (m_DataGST.tee, GST_STATE_NULL); + gst_object_unref (m_DataGST.tee); + } + + if(m_DataGST.m_pSink!=NULL) + { + g_free(m_DataGST.m_pSink); + m_DataGST.m_pSink = NULL; + } + + if(m_DataGST.appsink_callbacks!=NULL) + { + free(m_DataGST.appsink_callbacks); + m_DataGST.appsink_callbacks = NULL; + } + + + + + + + if(m_DataGST.pipeline!=NULL) + { + gst_element_set_state (m_DataGST.pipeline, GST_STATE_NULL); + gst_object_unref (m_DataGST.pipeline); + m_DataGST.pipeline = NULL; + } + + if(m_DataGST.bus!=NULL) + { + gst_object_unref (m_DataGST.bus); + m_DataGST.bus = NULL; + } + + + + m_bPipeStart = false; + m_bTerminate = false; + m_DataGST.terminate = false; + m_bWorkingRTSP = false; + m_DataGST.m_bVideoLink = false; + m_DataGST.m_TimerStart.restart(); + + qDebug() << "OpenCamera4 Exit!!!"; + + + if(m_pVideoWidget!=NULL) + { + m_pVideoWidget->Reset(); + if(m_pVideoWidget->Lock()==true) + { + m_pVideoWidget->ClearQueueData(); + m_pVideoWidget->SetChangeTexture(true); + m_pVideoWidget->UpdateTexture(); + m_pVideoWidget->Unlock(); + m_pVideoWidget->update(); + } + } + + if(bSignalOut==true) + { + return -1; + } + + if(m_bError==true) + { + int a=0; + } + + return 0; +} + + +void QGstreamerPlayer::app_sink_eos(GstAppSink *sink, gpointer user_data) +{ + GST_CustomData* pData = (GST_CustomData*)user_data; + + + pData->m_bVideoLink = false; + pData->m_TimerStart.restart(); + + qDebug() << "Enter EOS"; + + if(pData->m_pSink!=NULL) + { + //if(pData->m_pSink->removing==TRUE) + { + +#ifdef _PC +#else + pData->m_pSink->removing = TRUE; + if(pData->m_pSink->m_pQueue!=NULL) + { + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pQueue); + gst_element_set_state (pData->m_pSink->m_pQueue, GST_STATE_READY); + gst_element_set_state (pData->m_pSink->m_pQueue, GST_STATE_NULL); + gst_object_unref (pData->m_pSink->m_pQueue); + pData->m_pSink->m_pQueue = NULL; + } + + if(pData->m_pSink->m_pConvert!=NULL) + { + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pConvert); + gst_element_set_state (pData->m_pSink->m_pConvert, GST_STATE_READY); + gst_element_set_state (pData->m_pSink->m_pConvert, GST_STATE_NULL); + gst_object_unref (pData->m_pSink->m_pConvert); + pData->m_pSink->m_pConvert = NULL; + } + + if(pData->m_pSink->m_pQueueFileData!=NULL) + { + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pQueueFileData); + gst_element_set_state (pData->m_pSink->m_pQueueFileData, GST_STATE_READY); + gst_element_set_state (pData->m_pSink->m_pQueueFileData, GST_STATE_NULL); + gst_object_unref (pData->m_pSink->m_pQueueFileData); + pData->m_pSink->m_pQueueFileData = NULL; + } + + if(pData->m_pSink->m_pEncoder!=NULL) + { + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pEncoder); + gst_element_set_state (pData->m_pSink->m_pEncoder, GST_STATE_READY); + gst_element_set_state (pData->m_pSink->m_pEncoder, GST_STATE_NULL); + gst_object_unref (pData->m_pSink->m_pEncoder); + pData->m_pSink->m_pEncoder = NULL; + } + + if(pData->m_pSink->m_pParser!=NULL) + { + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pParser); + gst_element_set_state (pData->m_pSink->m_pParser, GST_STATE_READY); + gst_element_set_state (pData->m_pSink->m_pParser, GST_STATE_NULL); + gst_object_unref (pData->m_pSink->m_pParser); + pData->m_pSink->m_pParser = NULL; + } + + if(pData->m_pSink->m_pMuxer!=NULL) + { + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pMuxer); + gst_element_set_state (pData->m_pSink->m_pMuxer, GST_STATE_READY); + gst_element_set_state (pData->m_pSink->m_pMuxer, GST_STATE_NULL); + gst_object_unref (pData->m_pSink->m_pMuxer); + pData->m_pSink->m_pMuxer = NULL; + } + + if(pData->m_pSink->m_pSink!=NULL) + { + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pSink); + gst_element_set_state (pData->m_pSink->m_pSink, GST_STATE_READY); + gst_element_set_state (pData->m_pSink->m_pSink, GST_STATE_NULL); + gst_object_unref (pData->m_pSink->m_pSink); + pData->m_pSink->m_pSink = NULL; + } + + + + /* + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->); + + + + gst_element_set_state (pData->m_pSink->m_pConvert, GST_STATE_READY); + gst_element_set_state (pData->m_pSink->m_pQueueFileData, GST_STATE_READY); + gst_element_set_state (pData->m_pSink->m_pEncoder, GST_STATE_READY); + gst_element_set_state (pData->m_pSink->m_pParser, GST_STATE_READY); + gst_element_set_state (pData->m_pSink->m_pMuxer, GST_STATE_READY); + gst_element_set_state (pData->m_pSink->m_pSink, GST_STATE_READY); + + + gst_element_set_state (pData->m_pSink->m_pConvert, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pQueueFileData, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pEncoder, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pParser, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pMuxer, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pSink, GST_STATE_NULL); + + + + gst_object_unref (pData->m_pSink->m_pRate); + gst_object_unref (pData->m_pSink->m_pCaps); + gst_object_unref (pData->m_pSink->m_pMuxer); + gst_object_unref (pData->m_pSink->m_pConvert); + gst_object_unref (pData->m_pSink->m_pSink); + gst_object_unref (pData->m_pSink->m_pEncoder); + gst_object_unref (pData->m_pSink->m_pParser); + + + pData->m_pSink->m_pRate = NULL; + pData->m_pSink->m_pCaps = NULL; + pData->m_pSink->m_pMuxer = NULL; + pData->m_pSink->m_pConvert = NULL; + pData->m_pSink->m_pSink = NULL; + pData->m_pSink->m_pEncoder = NULL; + pData->m_pSink->m_pParser = NULL; + */ + + + //sink->m_pSink = gst_element_factory_make ("filesink", NULL); + //sink->m_pQueue = gst_element_factory_make ("queue", NULL); + //sink->m_pQueueFileData = gst_element_factory_make ("queue", NULL); + //sink->m_pConvert = gst_element_factory_make ("nvvidconv", NULL); + //sink->m_pSink = gst_element_factory_make ("filesink", NULL); + //sink->m_pEncoder = gst_element_factory_make("nvv4l2h265enc", NULL); + //sink->m_pParser = gst_element_factory_make("h265parse", NULL); + //sink->m_pMuxer = gst_element_factory_make("matroskamux", NULL); + #endif + + if(pData->m_pSink->m_pTeePad!=NULL) + { + gst_element_release_request_pad (pData->tee, pData->m_pSink->m_pTeePad); + gst_object_unref (pData->m_pSink->m_pTeePad); + } + + + } + //else + { + + } + + } + +} + +GstFlowReturn QGstreamerPlayer::app_sink_new_preroll(GstAppSink *sink, gpointer user_data) +{ + qDebug() << "preroll" ; + + GST_CustomData* pd = (GST_CustomData*)user_data; + GstSample* sample = NULL; + + + + int nState = pd->pThread->GetState(); + if(nState>0) + { + //return GST_FLOW_OK; + } + + if(g_bSend==true) + { + //qDebug() << "track"; + //gst_element_set_state (pd->pipeline, GST_STATE_PAUSED); + } + + //sample = gst_app_sink_pull_sample(sink); + sample = gst_app_sink_pull_preroll(sink); + + if(sample==NULL) + { + qDebug() << "app_sink_new_proroll ERROR"; + return GST_FLOW_OK; + } + + QGstreamerPlayer* pPlayer = (QGstreamerPlayer*)pd->pPlayer; + + if(pPlayer->GetFrameWidth()==0 || pPlayer->GetFrameHeight()==0) + { + GstCaps* pCaps = NULL; + pCaps = gst_sample_get_caps(sample); + GstStructure* s = gst_caps_get_structure (pCaps, 0); + gint width, height; + int res = gst_structure_get_int (s, "width", &width) | gst_structure_get_int (s, "height", &height); + + pPlayer->SetFrameWidth(width); + pPlayer->SetFrameHeight(height); + + pd->pWidget->SetTextureSize(width, height); + + + } + + gboolean bEnabledLast = gst_base_sink_is_last_sample_enabled(GST_BASE_SINK(sink)); + + + + GstBuffer* buffer = gst_sample_get_buffer(sample); + + GstMemory* memory = gst_buffer_get_all_memory(buffer); + GstMapInfo map_info; + + if(! gst_memory_map(memory, &map_info, GST_MAP_READ)) { + gst_memory_unref(memory); + gst_sample_unref(sample); + + usleep(10*1000); + return GST_FLOW_ERROR; + } + + guint8* pData = map_info.data; + + if(pd->pWidget!=NULL) + { + if(map_info.size>4096) + { + //g_pTestDT-> + pd->pWidget->SetTextureData(pData, map_info.size); + //m_bVideoLink = true; + + /* + + FILE* pFile = NULL; + pFile = fopen("test.data", "wb"); + fwrite(pData, 1280*720*1.5, 1, pFile); + fclose(pFile); + */ + + } + else + { + + } + + } + else + { + FILE* pFile = NULL; + pFile = fopen("test.data", "wb"); + + fwrite(pData, 1280*720, 1, pFile); + + fclose(pFile); + } + + + + if(sample == NULL) { + return GST_FLOW_ERROR; + } + + gst_memory_unmap(memory, &map_info); + gst_memory_unref(memory); + gst_sample_unref(sample); + + usleep(1*1000); + + //gst_element_set_state (pd->pipeline, GST_STATE_PLAYING); + + + return GST_FLOW_OK; +} + + +GstFlowReturn QGstreamerPlayer::app_sink_new_sample(GstAppSink *sink, gpointer user_data) +{ + GST_CustomData* pd = (GST_CustomData*)user_data; + GstSample* sample = NULL; + + if(pd->m_bShow==false) + { + pd->terminate = true; + //gst_element_set_state (pd->pipeline, GST_STATE_PAUSED); + + gst_bin_remove (GST_BIN (pd->pipeline), pd->source); + gst_element_set_state (pd->source, GST_STATE_NULL); + gst_object_unref (pd->source); + + gst_element_set_state (pd->pipeline, GST_STATE_NULL); + gst_object_unref (pd->pipeline); + + //gst_object_unref (pd->bus); + + //m_bTerminate = false; + //m_DataGST.terminate = false; + + return GST_FLOW_EOS; + } + + + //qDebug() << "app_sink_new_sample"; + + int nState = pd->pThread->GetState(); + if(nState>0) + { + //return GST_FLOW_OK; + } + + if(g_bSend==true) + { + //qDebug() << "track"; + //gst_element_set_state (pd->pipeline, GST_STATE_PAUSED); + } + + sample = gst_app_sink_pull_sample(sink); + if(sample==NULL) + { + qDebug() << "app_sink_new_sample ERROR"; + return GST_FLOW_CUSTOM_ERROR; + } + + QGstreamerPlayer* pPlayer = (QGstreamerPlayer*)pd->pPlayer; + + if(pPlayer->GetFrameWidth()==0 || pPlayer->GetFrameHeight()==0) + { + GstCaps* pCaps = NULL; + pCaps = gst_sample_get_caps(sample); + GstStructure* s = gst_caps_get_structure (pCaps, 0); + gint width, height; + int res = gst_structure_get_int (s, "width", &width) | gst_structure_get_int (s, "height", &height); + + pPlayer->SetFrameWidth(width); + pPlayer->SetFrameHeight(height); + + pd->pWidget->SetTextureSize(width, height); + + } + + //sample = gst_app_sink_pull_preroll(sink); + gboolean bEnabledLast = gst_base_sink_is_last_sample_enabled(GST_BASE_SINK(sink)); + + guint8* pData = NULL; + + + GstBuffer* buffer = gst_sample_get_buffer(sample); + + GstMemory* memory = gst_buffer_get_all_memory(buffer); + GstMapInfo map_info; + + if(! gst_memory_map(memory, &map_info, GST_MAP_READ)) { + gst_memory_unref(memory); + gst_sample_unref(sample); + + usleep(10*1000); + return GST_FLOW_ERROR; + } + + pData = map_info.data; + + if(pd->pWidget!=NULL && pd->m_bShow==true) + { + if(map_info.size>4096 && pData!=NULL) + { + //g_pTestDT-> + if(pd->pWidget->isVisible()==false) + { + + } + if(pd->pWidget->isActiveWindow()==false) + { + + } + pd->pWidget->SetTextureData(pData, map_info.size); + + + if(pd->m_bVideoLink==false) + { + pd->m_bVideoLink = true; + pd->m_TimerStart.restart(); + } + + + + + /* + FILE* pFile = NULL; + pFile = fopen("test.data", "wb"); + //fwrite(pData, 1280*720*1.5, 1, pFile); + fwrite(pData, 1920*1080*2, 1, pFile); + fclose(pFile); + */ + + + } + else + { + + } + + } + else + { + if(pd->m_bShow==false) + { + + } + /* + FILE* pFile = NULL; + pFile = fopen("test.data", "wb"); + + fwrite(pData, 1280*720, 1, pFile); + + fclose(pFile); + */ + } + + + + if(sample == NULL) { + return GST_FLOW_ERROR; + } + + gst_memory_unmap(memory, &map_info); + gst_memory_unref(memory); + gst_sample_unref(sample); + + usleep(10); + + return GST_FLOW_OK; +} + +void QGstreamerPlayer::pad_added_handler (GstElement *src, GstPad *new_pad, GST_CustomData *data) { + GstPad *sink_pad = gst_element_get_static_pad (data->sink, "sink"); + GstPadLinkReturn ret; + GstCaps *new_pad_caps = NULL; + GstStructure *new_pad_struct = NULL; + const gchar *new_pad_type = NULL; + + g_print ("Received new pad '%s' from '%s':\n", GST_PAD_NAME (new_pad), GST_ELEMENT_NAME (src)); + + /* If our converter is already linked, we have nothing to do here */ + if (gst_pad_is_linked (sink_pad)) { + g_print (" We are already linked. Ignoring.\n"); + goto exit; + } + + /* Check the new pad's type */ + new_pad_caps = gst_pad_get_allowed_caps (new_pad); + new_pad_struct = gst_caps_get_structure (new_pad_caps, 0); + new_pad_type = gst_structure_get_name (new_pad_struct); + if (!g_str_has_prefix (new_pad_type, "audio/x-raw")) { + g_print (" It has type '%s' which is not raw audio. Ignoring.\n", new_pad_type); + goto exit; + } + + /* Attempt the link */ + ret = gst_pad_link (new_pad, sink_pad); + if (GST_PAD_LINK_FAILED (ret)) { + g_print (" Type is '%s' but link failed.\n", new_pad_type); + } else { + g_print (" Link succeeded (type '%s').\n", new_pad_type); + } + +exit: + /* Unreference the new pad's caps, if we got them */ + if (new_pad_caps != NULL) + gst_caps_unref (new_pad_caps); + + /* Unreference the sink pad */ + gst_object_unref (sink_pad); +} + +void QGstreamerPlayer::SetThread(QRTSPThread *pThread) +{ + m_DataGST.pThread = pThread; +} + +void QGstreamerPlayer::SetVideoWidget(QVideoWidget *pWidget) +{ + m_pVideoWidget = pWidget; + m_DataGST.pWidget = pWidget; +} + +void QGstreamerPlayer::Seek(gint64 nPos) +{ + GstEvent *seek_event; + + m_DataGST.rate = 1.0; + + if(m_bSeeking==false) + { + m_nSeekPos = nPos; + qDebug() << nPos; + + m_bSeeking = true; + + //gst_element_set_state (m_DataGST.pipeline, GST_STATE_PLAYING); + + gst_element_seek_simple(m_DataGST.pipeline, GST_FORMAT_TIME, (GstSeekFlags)(GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE), nPos); + //seek_event = gst_event_new_seek (m_DataGST.rate, GST_FORMAT_TIME, (GstSeekFlags)(GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE | GST_SEEK_FLAG_KEY_UNIT), + //seek_event = gst_event_new_seek (m_DataGST.rate, GST_FORMAT_TIME, (GstSeekFlags)(GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE), + // GST_SEEK_TYPE_SET, nPos, GST_SEEK_TYPE_END, nPos); + + //gboolean bSend = gst_element_send_event (m_DataGST.pipeline, seek_event); + + //gst_element_set_state (m_DataGST.pipeline, GST_STATE_PAUSED); + //gst_element_send_event (m_DataGST.pipeline, gst_event_new_step (GST_FORMAT_BUFFERS, 1, m_DataGST.rate, TRUE, FALSE)); + + g_bSend = true; + } + else + { + m_ListSeeking.push_back(nPos); + } + + +} + +void QGstreamerPlayer::Pause() +{ + gst_element_set_state (m_DataGST.pipeline, GST_STATE_PAUSED); +} + +void QGstreamerPlayer::StartRTSP() +{ + gst_element_set_state (m_DataGST.pipeline, GST_STATE_PLAYING); + m_DataGST.m_bShow = true; + + m_pVideoWidget->setVisible(true); + m_pVideoWidget->activateWindow(); + m_pVideoWidget->setFocus(Qt::ActiveWindowFocusReason); + m_pVideoWidget->update(); + + return; + + +} + +void QGstreamerPlayer::StopRTSP() +{ + m_DataGST.terminate = true; + //usleep(1000*10); + gst_element_send_event (m_DataGST.pipeline, gst_event_new_eos ()); + //usleep(1000*10); + return; +} + +void QGstreamerPlayer::exitRTSP() +{ + m_DataGST.m_bShow = false; + m_DataGST.terminate = true; + + //m_bTerminate = true; + + /* + gst_element_set_state (m_DataGST.pipeline, GST_STATE_PLAYING); + usleep(100*1000); + gst_element_send_event (m_DataGST.pipeline, gst_event_new_eos ()); + */ + return; + + //gst_element_set_state (m_DataGST.pipeline, GST_STATE_PAUSED); + + +} + +void QGstreamerPlayer::Resume() +{ + gst_element_set_state (m_DataGST.pipeline, GST_STATE_PLAYING); +} + +bool QGstreamerPlayer::IsSeeking() +{ + return m_bSeeking; +} + +gint64 QGstreamerPlayer::GetSeekPos() +{ + return m_nSeekPos; +} + +void QGstreamerPlayer::SetFrameWidth(int nWidth) +{ + m_nFrameWidth = nWidth; +} + +void QGstreamerPlayer::SetFrameHeight(int nHeight) +{ + m_nFrameHeight = nHeight; +} + +int QGstreamerPlayer::GetFrameWidth() +{ + return m_nFrameWidth; +} + +int QGstreamerPlayer::GetFrameHeight() +{ + return m_nFrameHeight; +} + +void QGstreamerPlayer::SaveFile(QString strFilename) +{ +#ifdef __x86_64 + CustomDataSink *sink = g_new0 (CustomDataSink, 1); + GstPad *sinkpad; + GstPadTemplate *templ; + + //gst_element_set_state (m_DataGST.pipeline, GST_STATE_PAUSED); + templ = gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (m_DataGST.tee), "src_%u"); + + g_print ("add\n"); + + sink->m_pTeePad = gst_element_request_pad (m_DataGST.tee, templ, NULL, NULL); + + sink->m_pQueue = gst_element_factory_make ("queue", NULL); + sink->m_pConvert = gst_element_factory_make ("videoconvert", NULL); + sink->m_pSink = gst_element_factory_make ("filesink", NULL); + sink->m_pEncoder = gst_element_factory_make("x264enc", NULL); + sink->m_pParser = gst_element_factory_make("h264parse", NULL); + sink->m_pMuxer = gst_element_factory_make("qtmux", NULL); + sink->removing = FALSE; + + + + gst_bin_add_many (GST_BIN (m_DataGST.pipeline), (GstElement*)gst_object_ref (sink->m_pQueue), + gst_object_ref (sink->m_pConvert), + gst_object_ref (sink->m_pEncoder), + gst_object_ref (sink->m_pParser), //gst_object_ref (pQueue2), + gst_object_ref (sink->m_pMuxer), + gst_object_ref (sink->m_pSink), NULL); + + + + gboolean link_ok; + //link_ok = gst_element_link_filtered (sink->m_pRate, sink->m_pConvert, caps); + //gst_caps_unref (caps); + +// gst_element_link_many (sink->m_pQueue, sink->m_pRate, sink->m_pCaps, sink->m_pConvert, sink->m_pEncoder, sink->m_pParser, sink->m_pSink, NULL); + gst_element_link_many (sink->m_pQueue, sink->m_pConvert, sink->m_pEncoder, sink->m_pParser, sink->m_pMuxer, + sink->m_pSink, NULL); + + /* + GstCaps *caps; + + caps = gst_caps_new_simple ("video/x-raw", + //"format", G_TYPE_STRING, "I420", + //"width", G_TYPE_INT, 1920, + //"height", G_TYPE_INT, 1080, + "framerate", GST_TYPE_FRACTION, 60, 1, + NULL); + + */ + + + //g_object_set(G_OBJECT(sink->m_pCaps), "caps", caps, NULL); + + g_object_set (sink->m_pSink, "location", strFilename.toStdString().c_str(), NULL); + + g_object_set (sink->m_pEncoder, "bitrate", 10240, NULL); + g_object_set (sink->m_pEncoder, "byte-stream", true, NULL); + g_object_set (sink->m_pEncoder, "speed-preset", 1, NULL); + g_object_set (sink->m_pEncoder, "tune", 4, NULL); + + + g_object_set (sink->m_pSink, "sync", TRUE, NULL); + //g_object_set (sink->m_pSink, "sync", FALSE, NULL); + //g_object_set (sink->m_pSink, "-e", NULL); + + + + gst_element_sync_state_with_parent (sink->m_pQueue); + gst_element_sync_state_with_parent (sink->m_pConvert); + gst_element_sync_state_with_parent (sink->m_pEncoder); + gst_element_sync_state_with_parent (sink->m_pParser); + gst_element_sync_state_with_parent (sink->m_pMuxer); + gst_element_sync_state_with_parent (sink->m_pSink); + + sinkpad = gst_element_get_static_pad (sink->m_pQueue, "sink"); + gst_pad_link (sink->m_pTeePad, sinkpad); + gst_object_unref (sinkpad); + + g_print ("added\n"); + + m_DataGST.m_pSink = sink; +#else + + + + CustomDataSink *sink = m_DataGST.m_pSink; + GstPad *sinkpad; + GstPadTemplate *templ; + QString strFilename1 = strFilename.remove(MOVIE_FILE_EXTENSION); + + sink->removing = FALSE; + + //gst_element_set_state (m_DataGST.pipeline, GST_STATE_PAUSED); + templ = gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (m_DataGST.tee), "src_%u"); + + g_print ("add\n"); + + + sink->m_pTeePad = gst_element_request_pad (m_DataGST.tee, templ, NULL, NULL); + + + sink->m_pQueue = gst_element_factory_make ("queue", NULL); + sink->m_pQueueFileData = gst_element_factory_make ("queue", NULL); + sink->m_pConvert = gst_element_factory_make ("nvvidconv", NULL); + sink->m_pSink = gst_element_factory_make ("splitmuxsink", NULL); + //sink->m_pSink = gst_element_factory_make ("filesink", NULL); + + bool bUseH265 = false; + +#ifdef __x86_64 + sink->m_pEncoder = gst_element_factory_make("x264enc", NULL); +#else + if(sink->m_pEncoder==NULL) + { + if(bUseH265==true) + { + sink->m_pEncoder = gst_element_factory_make("nvv4l2h265enc", NULL); + } + else + { + sink->m_pEncoder = gst_element_factory_make("nvv4l2h264enc", NULL); + } + } + +#endif + if(sink->m_pParser==NULL) + { + //sink->m_pParser = NULL; + + if(bUseH265==true) + { + sink->m_pParser = gst_element_factory_make("h265parse", NULL); + } + else + { + sink->m_pParser = gst_element_factory_make("h264parse", NULL); + } + } + + if(sink->m_pMuxer==NULL) + { + sink->m_pMuxer = NULL; + //sink->m_pMuxer = gst_element_factory_make("matroskamux", NULL); + } + + + + + gst_bin_add_many (GST_BIN (m_DataGST.pipeline), + (GstElement*)gst_object_ref (sink->m_pQueue), + gst_object_ref (sink->m_pConvert), + gst_object_ref (sink->m_pQueueFileData), + gst_object_ref (sink->m_pEncoder), + gst_object_ref (sink->m_pParser), + //gst_object_ref (sink->m_pMuxer), + gst_object_ref (sink->m_pSink), NULL); + + QString strFileExtension = MOVIE_FILE_EXTENSION; + + QString strSaveFilename = QString("%1_%05d%2").arg(strFilename1).arg(strFileExtension); + qDebug() << strSaveFilename; + g_object_set (sink->m_pSink, "location", strSaveFilename.toStdString().c_str(), "max-size-bytes", 2400000000, "async-handling", true, NULL); + //g_object_set (sink->m_pSink, "location", strSaveFilename.toStdString().c_str(), "max-size-bytes", 200000000, "async-handling", true, NULL); + + //g_object_set (sink->m_pSink, "location", strFilename.toStdString().c_str(), NULL); + //g_object_set (sink->m_pSink, "sync", FALSE, NULL); + + usleep(100); + gboolean link_ok = 0; + link_ok = gst_element_link_many (sink->m_pQueue, + sink->m_pConvert, + sink->m_pQueueFileData, + sink->m_pEncoder, + sink->m_pParser, + //sink->m_pMuxer, + sink->m_pSink, NULL); + + usleep(100); + + if(link_ok==0) + { + + } + + + + + + +#ifdef __x86_64 + g_object_set (sink->m_pEncoder, "bitrate", 10000); +#else + + if(bUseH265==true) + { + g_object_set (G_OBJECT(sink->m_pEncoder), "bitrate", 8000000, "profile", 1, "preset-level", 1, NULL); + } + else + { + //Main Profile MainTier: 20Mbps, HighTier: 50Mbps + g_object_set (G_OBJECT(sink->m_pEncoder), "bitrate", 8000000, "profile", 4, "preset-level", 1, NULL); + } + + + + //g_object_set (G_OBJECT(sink->m_pEncoder), "bitrate", 60000000, "peak-bitrate", 150000000); + + //g_object_set (sink->m_pEncoder, "bitrate", 1000000, NULL); + //g_object_set (sink->m_pEncoder, "peak-bitrate", 1600000, NULL); + //g_object_set (sink->m_pEncoder, "control-rate", 1, NULL); + //g_object_set (sink->m_pEncoder, "bit-packetization", true, NULL); + //g_object_set (sink->m_pEncoder, "EnableTwopassCBR", true, NULL); + //g_object_set (sink->m_pEncoder, "insert-aud", true, NULL); + //g_object_set (sink->m_pEncoder, "iframeinterval", 30, NULL); + //g_object_set (sink->m_pEncoder, "maxperf-enable", false, NULL); + //g_object_set (sink->m_pEncoder, "profile", 1, NULL); + //g_object_set (sink->m_pEncoder, "vbv-size", 10000000, NULL); + //g_object_set (sink->m_pEncoder, "preset-level", 1, NULL); + //g_object_set (sink->m_pEncoder, "insert-sps-pps", true, NULL); +#endif + + + + //m_DataGST.m_pSink = sink; + + gst_element_sync_state_with_parent (sink->m_pQueue); + gst_element_sync_state_with_parent (sink->m_pConvert); + gst_element_sync_state_with_parent (sink->m_pQueueFileData); + gst_element_sync_state_with_parent (sink->m_pEncoder); + gst_element_sync_state_with_parent (sink->m_pParser); + //gst_element_sync_state_with_parent (sink->m_pMuxer); + gst_element_sync_state_with_parent (sink->m_pSink); + + + + + + sinkpad = gst_element_get_static_pad (sink->m_pQueue, "sink"); + gst_pad_link (sink->m_pTeePad, sinkpad); + gst_object_unref (sinkpad); + + m_DataGST.m_bEncoding = true; + + g_print ("added\n"); + + //usleep(10*1000); + + + //gst_element_set_state (sink->m_pSink, GST_STATE_PLAYING); + + + + + /* + GstPad *pPadSinkSink = NULL; + pPadSinkSink = gst_element_get_static_pad (sink->m_pSink, "sink"); + + ret = gst_element_set_state (sink->m_pSink, GST_STATE_PAUSED); + + gst_pad_send_event (pPadSinkSink, gst_event_new_stream_start ("test")); + + + + gst_element_set_state(m_DataGST.pipeline, GST_STATE_PLAYING); + + ret = gst_element_set_state (sink->m_pSink, GST_STATE_PLAYING); + */ +#endif +} + +void QGstreamerPlayer::SaveEnd() +{ + CustomDataSink* sink =m_DataGST.m_pSink; + SetCaptureMode(0); + + if(m_DataGST.m_bEncoding==false) + { + return; + } + + if(sink==NULL) + { + return; + } + + if(sink->removing==TRUE) + { + return; + } + + GST_CustomData* pData = (GST_CustomData*)&m_DataGST; + + GstPad *sinkpad; + + sink->removing = TRUE; + + sinkpad = gst_element_get_static_pad (sink->m_pQueue, "sink"); + + GstElement* pPipeLine = m_DataGST.pipeline; + /* + + + GstStateChangeReturn ret = gst_element_set_state (pPipeLine, GST_STATE_PAUSED); + ret = gst_element_set_state (pPipeLine, GST_STATE_READY); + ret = gst_element_set_state (pPipeLine, GST_STATE_PLAYING); + return; + */ + + gst_pad_unlink (sink->m_pTeePad, sinkpad); + gst_element_send_event(sink->m_pConvert, gst_event_new_eos()); + //gst_pad_send_event (sinkpad, gst_event_new_eos ()); + //gst_element_send_event (pPipeLine, gst_event_new_eos ()); + + + gst_object_unref (sinkpad); + //return; + + usleep(100*1000); + + + +#ifdef __x86_64 + //return; + + //gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pRate); + //gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pCaps); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pConvert); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pSink); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pEncoder); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pParser); + + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pQueue); + + + + gst_element_set_state (pData->m_pSink->m_pQueue, GST_STATE_NULL); + //gst_element_set_state (pData->m_pSink->m_pRate, GST_STATE_NULL); + //gst_element_set_state (pData->m_pSink->m_pCaps, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pConvert, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pSink, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pEncoder, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pParser, GST_STATE_NULL); + + + + gst_object_unref (pData->m_pSink->m_pQueue); + //gst_object_unref (pData->m_pSink->m_pRate); + //gst_object_unref (pData->m_pSink->m_pCaps); + gst_object_unref (pData->m_pSink->m_pConvert); + gst_object_unref (pData->m_pSink->m_pSink); + gst_object_unref (pData->m_pSink->m_pEncoder); + gst_object_unref (pData->m_pSink->m_pParser); +#else + + //gst_pad_send_event (sinkpad, gst_event_new_eos ()); + //gst_element_send_event (pPipeLine, gst_event_new_eos ()); + //gst_pad_unlink (sink->m_pTeePad, sinkpad); + + //gst_object_unref (sinkpad); + //return; + + if(pData->m_pSink!=NULL) + { + if(pData->m_pSink->m_pQueue!=NULL) + { + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pQueue); + gst_element_set_state (pData->m_pSink->m_pQueue, GST_STATE_READY); + gst_element_set_state (pData->m_pSink->m_pQueue, GST_STATE_NULL); + gst_object_unref (pData->m_pSink->m_pQueue); + pData->m_pSink->m_pQueue = NULL; + } + + if(pData->m_pSink->m_pConvert!=NULL) + { + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pConvert); + gst_element_set_state (pData->m_pSink->m_pConvert, GST_STATE_READY); + gst_element_set_state (pData->m_pSink->m_pConvert, GST_STATE_NULL); + gst_object_unref (pData->m_pSink->m_pConvert); + pData->m_pSink->m_pConvert = NULL; + } + + if(pData->m_pSink->m_pQueueFileData!=NULL) + { + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pQueueFileData); + gst_element_set_state (pData->m_pSink->m_pQueueFileData, GST_STATE_READY); + gst_element_set_state (pData->m_pSink->m_pQueueFileData, GST_STATE_NULL); + gst_object_unref (pData->m_pSink->m_pQueueFileData); + pData->m_pSink->m_pQueueFileData = NULL; + } + + if(pData->m_pSink->m_pEncoder!=NULL) + { + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pEncoder); + gst_element_set_state (pData->m_pSink->m_pEncoder, GST_STATE_READY); + gst_element_set_state (pData->m_pSink->m_pEncoder, GST_STATE_NULL); + gst_object_unref (pData->m_pSink->m_pEncoder); + pData->m_pSink->m_pEncoder = NULL; + } + + if(pData->m_pSink->m_pParser!=NULL) + { + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pParser); + gst_element_set_state (pData->m_pSink->m_pParser, GST_STATE_READY); + gst_element_set_state (pData->m_pSink->m_pParser, GST_STATE_NULL); + gst_object_unref (pData->m_pSink->m_pParser); + pData->m_pSink->m_pParser = NULL; + } + + if(pData->m_pSink->m_pMuxer!=NULL) + { + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pMuxer); + gst_element_set_state (pData->m_pSink->m_pMuxer, GST_STATE_READY); + gst_element_set_state (pData->m_pSink->m_pMuxer, GST_STATE_NULL); + gst_object_unref (pData->m_pSink->m_pMuxer); + pData->m_pSink->m_pMuxer = NULL; + } + + if(pData->m_pSink->m_pSink!=NULL) + { + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pSink); + gst_element_set_state (pData->m_pSink->m_pSink, GST_STATE_READY); + gst_element_set_state (pData->m_pSink->m_pSink, GST_STATE_NULL); + gst_object_unref (pData->m_pSink->m_pSink); + pData->m_pSink->m_pSink = NULL; + } + + + + /* + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->); + + + + gst_element_set_state (pData->m_pSink->m_pConvert, GST_STATE_READY); + gst_element_set_state (pData->m_pSink->m_pQueueFileData, GST_STATE_READY); + gst_element_set_state (pData->m_pSink->m_pEncoder, GST_STATE_READY); + gst_element_set_state (pData->m_pSink->m_pParser, GST_STATE_READY); + gst_element_set_state (pData->m_pSink->m_pMuxer, GST_STATE_READY); + gst_element_set_state (pData->m_pSink->m_pSink, GST_STATE_READY); + + + gst_element_set_state (pData->m_pSink->m_pConvert, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pQueueFileData, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pEncoder, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pParser, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pMuxer, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pSink, GST_STATE_NULL); + + + + gst_object_unref (pData->m_pSink->m_pRate); + gst_object_unref (pData->m_pSink->m_pCaps); + gst_object_unref (pData->m_pSink->m_pMuxer); + gst_object_unref (pData->m_pSink->m_pConvert); + gst_object_unref (pData->m_pSink->m_pSink); + gst_object_unref (pData->m_pSink->m_pEncoder); + gst_object_unref (pData->m_pSink->m_pParser); + + + pData->m_pSink->m_pRate = NULL; + pData->m_pSink->m_pCaps = NULL; + pData->m_pSink->m_pMuxer = NULL; + pData->m_pSink->m_pConvert = NULL; + pData->m_pSink->m_pSink = NULL; + pData->m_pSink->m_pEncoder = NULL; + pData->m_pSink->m_pParser = NULL; + */ + + + //sink->m_pSink = gst_element_factory_make ("filesink", NULL); + //sink->m_pQueue = gst_element_factory_make ("queue", NULL); + //sink->m_pQueueFileData = gst_element_factory_make ("queue", NULL); + //sink->m_pConvert = gst_element_factory_make ("nvvidconv", NULL); + //sink->m_pSink = gst_element_factory_make ("filesink", NULL); + //sink->m_pEncoder = gst_element_factory_make("nvv4l2h265enc", NULL); + //sink->m_pParser = gst_element_factory_make("h265parse", NULL); + //sink->m_pMuxer = gst_element_factory_make("matroskamux", NULL); + + + gst_element_release_request_pad (pData->tee, pData->m_pSink->m_pTeePad); + gst_object_unref (pData->m_pSink->m_pTeePad); + } + + #endif + + + + + //pData->m_pSink = NULL; + + m_DataGST.m_bEncoding = false; + + m_DataGST.m_TimerStart.restart(); + + + + usleep(100*1000); +} + +void QGstreamerPlayer::CaptureImage() +{ + m_bCaptureImage = true; +} + +void QGstreamerPlayer::ChangeHue(float fValue) +{ + m_nTestCount++; + + //g_object_set (m_DataGST.videoBalance, "hue", fValue, NULL); +} + +void QGstreamerPlayer::ChangeSaturation(float fValue) +{ + m_nTestCount++; + //g_object_set (m_DataGST.videoBalance, "saturation", fValue, NULL); +} + +void QGstreamerPlayer::Alram() +{ + /* + gchar* msg; + + msg = gst_error_get_message(GST_CORE_ERROR, GST_CORE_ERROR_DISABLED); + g_set_error(&m_pError, GST_CORE_ERROR, GST_CORE_ERROR_DISABLED, "%s", msg); + + g_free(msg); + */ + + GstMessage *m; + GstStructure *s; + m_DataGST.m_bError = true; + m = gst_message_new_error (NULL, NULL, "debug string"); + GST_LOG ("posting error message"); + gst_bus_post (m_DataGST.bus, m); +} + + + +void QGstreamerPlayer::SetCaptureMode(int nMode) +{ + m_nCaptureMode = nMode; +} + +int QGstreamerPlayer::GetCaptuerMode() +{ + return m_nCaptureMode; +} + + +qint64 QGstreamerPlayer::GetVideoLinkTime() +{ + return m_DataGST.m_TimerStart.elapsed(); +} + + +bool QGstreamerPlayer::IsError() +{ + return m_bError; +} diff --git a/qgstreamerplayer.h b/qgstreamerplayer.h new file mode 100644 index 0000000..7a75bf9 --- /dev/null +++ b/qgstreamerplayer.h @@ -0,0 +1,252 @@ +#ifndef QGSTREAMERPLAYER_H +#define QGSTREAMERPLAYER_H + +#include + +#include +#include + +#include + +#include + +class QVideoWidget; +class QRTSPThread; +class QGstreamerPlayer; + +typedef struct _CustomDataSink +{ + GstElement* m_pQueue; + GstElement* m_pConvert; + GstElement* m_pRate; + GstElement* m_pSink; + GstElement* m_pEncoder; + GstElement* m_pParser; + GstElement* m_pMuxer; + GstElement* m_pQueueFileData; + GstPad* m_pTeePad; + gboolean removing; + + GstElement* m_pCaps; + + _CustomDataSink() + { + m_pQueue = NULL; + m_pQueueFileData = NULL; + m_pConvert = NULL; + m_pSink = NULL; + m_pTeePad = NULL; + m_pEncoder = NULL; + m_pParser = NULL; + m_pRate = NULL; + m_pMuxer = NULL; + m_pCaps = NULL; + removing = false; + } +}CustomDataSink; + +/* Structure to contain all our information, so we can pass it around */ +typedef struct _GST_CustomData { + _GST_CustomData() + { + pPlayer = NULL; + pWidget = NULL; + playbin2 = NULL; + pipeline = NULL; + source = NULL; + OptionSrc = NULL; + convert = NULL; + sink = NULL; + bin = NULL; + + queue_src = NULL; + queue_sink = NULL; + pThread = NULL; + + m_pSink = NULL; + m_pSinks = NULL; + + m_pCaps = NULL; + caps_videosrc = NULL; + caps_vidconv1 = NULL; + + videoBalance = NULL; + + vidconv1 = NULL; + vidconv2 = NULL; + + m_bVideoLink = false; + + vidrate1 = NULL; + vidscale1 = NULL; + vidClockDisplay = NULL; + caps_vidrate1 = NULL; + caps_vidscale1 = NULL; + + appsink_callbacks = NULL; + } + + QGstreamerPlayer* pPlayer; + QVideoWidget* pWidget; + GstElement *playbin2; /* Our one and only element */ + gboolean playing; /* Are we in the PLAYING state? */ + gboolean terminate; /* Should we terminate execution? */ + gboolean seek_enabled; /* Is seeking enabled for this media? */ + gboolean seek_done; /* Have we performed the seek already? */ + gint64 duration; /* How long does this media last, in nanoseconds */ + gdouble rate; /* Current playback rate (can be negative) */ + + GstElement* pipeline; + GstElement* source; + GstElement* videoBalance; + GstCaps* OptionSrc; + GstElement* convert; + GstElement* sink; + GstElement* bin; + + GstElement* vidconv1; + GstElement* vidconv2; + + GstElement* vidrate1; + GstElement* vidscale1; + GstElement* vidClockDisplay; + + GstBus* bus; + + GstElement* queue_src; + GstElement* queue_sink; + QRTSPThread* pThread; + + GstElement* tee; + + GList* m_pSinks; + + CustomDataSink* m_pSink; + + QString m_strFilename; + + GstElement* m_pCaps; + + GstElement* caps_videosrc; + GstElement* caps_vidconv1; + GstElement* caps_vidrate1; + GstElement* caps_vidscale1; + + bool m_bError; + + bool m_bShow; + + bool m_bVideoLink; + + bool m_bEncoding; + + GstAppSinkCallbacks* appsink_callbacks; + + QElapsedTimer m_TimerStart; +} GST_CustomData, *PGST_CustomData; + + + +class QGstreamerPlayer : public QObject +{ + Q_OBJECT +public: + explicit QGstreamerPlayer(QObject *parent = 0); + virtual ~QGstreamerPlayer(); + + virtual void OpenMovieFile(QString strFile); + + virtual int OpenCamera4(QString strPatameter); + + virtual void CreatePipeLineJetson(); + virtual void CreatePipeLinePC(); + + static void app_sink_eos(GstAppSink *sink, gpointer user_data); + static GstFlowReturn app_sink_new_sample(GstAppSink *sink, gpointer user_data); + static GstFlowReturn app_sink_new_preroll(GstAppSink *sink, gpointer user_data); + static void pad_added_handler (GstElement *src, GstPad *new_pad, GST_CustomData *data); + + void SetThread(QRTSPThread* pThread); + void SetVideoWidget(QVideoWidget* pWidget); + + void Seek(gint64 nPos); + + void Pause(); + + void StopRTSP(); + void StartRTSP(); + + void exitRTSP(); + + void Resume(); + + bool IsSeeking(); + + QList m_ListSeeking; + + gint64 GetSeekPos(); + + void SetFrameWidth(int nWidth); + void SetFrameHeight(int nHeight); + int GetFrameWidth(); + int GetFrameHeight(); + + virtual void SaveFile(QString strFilename); + virtual void SaveEnd(); + + bool IsWorkingRTSP(); + + void CaptureImage(); + + bool IsPipeStart(); + + void ChangeHue(float fValue); + void ChangeSaturation(float fValue); + + void Alram(); + + void SetCaptureMode(int nMode); + int GetCaptuerMode(); + + qint64 GetVideoLinkTime(); + + bool IsVideoLink(); + + bool IsError(); + +protected: + + GError* m_pError; + bool m_bWorkingRTSP; + bool m_bError; + +signals: + void SendFinished(); + + void ExitCapture(); + void ErrorCapture(); + + + +public slots: + +protected: + int m_nTestCount; + bool m_bPipeStart; + bool m_bCaptureImage; + bool m_bSeeking; + GST_CustomData m_DataGST; + GstMessage* m_pMsgGST; + + bool m_bTerminate; + QVideoWidget* m_pVideoWidget; + + gint64 m_nSeekPos; + + int m_nFrameWidth; + int m_nFrameHeight; + + int m_nCaptureMode; +}; + +#endif // QGSTREAMERPLAYER_H diff --git a/qgstreamerplayer2.cpp b/qgstreamerplayer2.cpp new file mode 100644 index 0000000..e7250ba --- /dev/null +++ b/qgstreamerplayer2.cpp @@ -0,0 +1,506 @@ +#include "qgstreamerplayer2.h" + +#include "qrtspthread.h" +#include "qvideowidget.h" + +#include "mainwindow.h" + +QGstreamerPlayer2::QGstreamerPlayer2(QObject *parent) : QGstreamerPlayer(parent) +{ + +} + +QGstreamerPlayer2::~QGstreamerPlayer2() +{ + +} + +int QGstreamerPlayer2::OpenCamera(QString strVideoDevice) +{ + m_bWorkingRTSP = true; + m_nFrameWidth = 0; + m_nFrameHeight = 0; + + m_DataGST.m_strFilename = strVideoDevice; + + pid_t pid_current = getpid(); + GstBus *bus; + GstStateChangeReturn ret; + GstMessage *msg; + GError *error = NULL; + gboolean bTrapEnabled = FALSE; + + GstPad *queue_app_pad; + GstCaps *video_caps; + + m_bTerminate = false; + + /* init */ + //int argc = 0; + //gst_init (&argc, NULL); + //gst_segtrap_set_enabled(FALSE); + bTrapEnabled = gst_segtrap_is_enabled(); + + QString strTest = QString("v4l2src device=/dev/video0 name=test_src ! video/x-raw,format=(string)YUY2,width=1920,height=1080,framerate=(fraction)60/1 ! queue name=queue_src ! tee name=teename ! queue name=queue_sink ! appsink name=test_sink"); + +#ifdef _GSTREAMER_1_0 +#ifdef __x86_64 + m_DataGST.pipeline = gst_parse_launch(strTest.toStdString().c_str(), &error); + +#else +#endif +#else +#endif + + if(error!=NULL) + { + g_printerr ("Can not Create Pipeline.\n"); + return -1; + } + + GstElement* pVideoRate = gst_bin_get_by_name(GST_BIN(m_DataGST.pipeline), "test_videorate"); + GstElement* pTimeOverlay = gst_bin_get_by_name(GST_BIN(m_DataGST.pipeline), "test_timeoverlay"); + GstElement* pQueue1 = gst_bin_get_by_name(GST_BIN(m_DataGST.pipeline), "queue_name1"); + GstElement* pQueue2 = gst_bin_get_by_name(GST_BIN(m_DataGST.pipeline), "queue_name2"); + + m_DataGST.source = gst_bin_get_by_name(GST_BIN(m_DataGST.pipeline), "test_src"); + m_DataGST.sink = gst_bin_get_by_name(GST_BIN(m_DataGST.pipeline), "test_sink"); + + m_DataGST.queue_src = gst_bin_get_by_name(GST_BIN(m_DataGST.pipeline), "queue_src"); + m_DataGST.queue_sink = gst_bin_get_by_name(GST_BIN(m_DataGST.pipeline), "queue_sink"); + + m_DataGST.tee = gst_bin_get_by_name(GST_BIN(m_DataGST.pipeline), "teename"); + + m_DataGST.pWidget = m_pVideoWidget; + m_DataGST.pPlayer = this; + + m_DataGST.m_bShow = true; + + g_signal_connect (m_DataGST.source, "pad-added", G_CALLBACK (QGstreamerPlayer::pad_added_handler), &m_DataGST); + + GstPad* pad = gst_element_get_static_pad (m_DataGST.sink, "sink"); + + + if (!m_DataGST.pipeline || !m_DataGST.source || !m_DataGST.queue_src || !m_DataGST.sink) { + g_printerr ("Not all elements could be created.\n"); + return -2; + } + + + + if(m_DataGST.queue_src!=NULL) + { + g_object_set (m_DataGST.queue_src, "max-size-buffers", 10, NULL); + } + + if(m_DataGST.source!=NULL) + { + //g_object_set (m_DataGST.source, "device", strVideoDevice.toStdString().c_str(), NULL); + + } + + GstAppSinkCallbacks* appsink_callbacks = NULL; + if(m_DataGST.sink!=NULL) + { + appsink_callbacks = (GstAppSinkCallbacks*)malloc(sizeof(GstAppSinkCallbacks)); + + appsink_callbacks->eos = app_sink_eos; + appsink_callbacks->new_preroll = app_sink_new_preroll; +#ifdef _GSTREAMER_1_0 + appsink_callbacks->new_sample = app_sink_new_sample; +#else + appsink_callbacks->new_buffer = app_sink_new_sample; +#endif + gst_app_sink_set_callbacks(GST_APP_SINK(m_DataGST.sink), appsink_callbacks, (gpointer)&m_DataGST, NULL); + g_object_set (m_DataGST.sink, "sync", FALSE, NULL); + gst_app_sink_set_drop(GST_APP_SINK(m_DataGST.sink), TRUE); + + } + + //ret = gst_element_set_state (m_DataGST.pipeline, GST_STATE_PLAYING); + ret = gst_element_set_state (m_DataGST.pipeline, GST_STATE_PAUSED); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (m_DataGST.pipeline); + return -3; + } + + bus = gst_element_get_bus (m_DataGST.pipeline); + + m_bPipeStart = true; + + bool bSignalOut = false; + + int64_t tEnd=0; + do { + msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, + (GstMessageType)(GST_MESSAGE_STATE_CHANGED | GST_MESSAGE_ERROR | GST_MESSAGE_EOS | GST_MESSAGE_STEP_DONE | GST_MESSAGE_STEP_START | GST_MESSAGE_ASYNC_DONE)); + + if(tEnd==0) + { + gst_element_query_duration (m_DataGST.pipeline, GST_FORMAT_TIME, &tEnd); + if(tEnd!=0) + { + int nHour = 0; + int nMinute = 0; + int nSec = 0; + + int nMilliSec = tEnd/(1000*1000); + nSec = nMilliSec/1000; + nMinute = nSec/60; + nHour = nMinute/60; + + nSec = nSec%60; + nMinute = nMinute%60; + nHour = nHour; + nMilliSec = (nMilliSec/1000)%1000; + qDebug() << "Duration: " << nHour << ":" << nMinute << ":" << nSec << ":" << nMilliSec ; + + GstState state; + GstState pending; + + gst_element_get_state(m_DataGST.pipeline, &state, &pending, GST_CLOCK_TIME_NONE); + } + } + /* Parse message */ + if (msg != NULL) { + GError *err; + gchar *debug_info; + + switch (GST_MESSAGE_TYPE (msg)) { + case GST_MESSAGE_ERROR: + gst_message_parse_error (msg, &err, &debug_info); + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + m_bTerminate = true; + break; + + case GST_MESSAGE_EOS: + g_print ("End-Of-Stream reached.\n"); + { + //gst_message_unref (msg); + bSignalOut = true; + m_bTerminate = true; + } + break; + case GST_MESSAGE_STATE_CHANGED: + /* We are only interested in state-changed messages from the pipeline */ + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (m_DataGST.pipeline)) { + + g_print ("Pipeline state changed from %s to %s:\n", + gst_element_state_get_name (old_state), gst_element_state_get_name (new_state)); + + if(new_state==GST_STATE_PAUSED && old_state==GST_STATE_PLAYING) + { + //m_bTerminate = true; + } + } + break; + + case GST_MESSAGE_STEP_DONE: + { + GstFormat format; + guint64 amount; + gdouble rate; + gboolean flush, intermediate; + guint64 duration; + gboolean eos; + + gst_message_parse_step_done (msg, &format, &amount, &rate, + &flush, &intermediate, &duration, &eos); + + app_sink_new_sample((GstAppSink *)m_DataGST.sink, &m_DataGST); + + } + break; + + case GST_MESSAGE_STEP_START: + { + + break; + } + + case GST_MESSAGE_ASYNC_DONE: + { + qDebug() << "Async Done"; + //app_sink_new_sample((GstAppSink *)m_DataGST.sink, &m_DataGST); + m_bSeeking = false; + break; + } + + default: + /* We should not reach here */ + g_printerr ("Unexpected message received.\n"); + break; + } + + + gst_message_unref (msg); + + if(m_DataGST.terminate==true) + { + m_bTerminate = true; + } + } + } while (m_bTerminate==false); + + + if(pVideoRate!=NULL) + { + gst_bin_remove (GST_BIN (m_DataGST.pipeline), pVideoRate); + gst_element_set_state (pVideoRate, GST_STATE_NULL); + gst_object_unref (pVideoRate); + } + + if(pTimeOverlay!=NULL) + { + gst_bin_remove (GST_BIN (m_DataGST.pipeline), pTimeOverlay); + gst_element_set_state (pTimeOverlay, GST_STATE_NULL); + gst_object_unref (pTimeOverlay); + } + + + if(pQueue1!=NULL) + { + gst_bin_remove (GST_BIN (m_DataGST.pipeline), pQueue1); + gst_element_set_state (pQueue1, GST_STATE_NULL); + gst_object_unref (pQueue1); + } + + if(pQueue2!=NULL) + { + gst_bin_remove (GST_BIN (m_DataGST.pipeline), pQueue2); + gst_element_set_state (pQueue2, GST_STATE_NULL); + gst_object_unref (pQueue2); + } + + + if(m_DataGST.source!=NULL) + { + gst_bin_remove (GST_BIN (m_DataGST.pipeline), m_DataGST.source); + gst_element_set_state (m_DataGST.source, GST_STATE_NULL); + gst_object_unref (m_DataGST.source); + } + + if(m_DataGST.tee!=NULL) + { + gst_bin_remove (GST_BIN (m_DataGST.pipeline), m_DataGST.tee); + gst_element_set_state (m_DataGST.tee, GST_STATE_NULL); + gst_object_unref (m_DataGST.tee); + } + + if(m_DataGST.queue_src!=NULL) + { + gst_bin_remove (GST_BIN (m_DataGST.pipeline), m_DataGST.queue_src); + gst_element_set_state (m_DataGST.queue_src, GST_STATE_NULL); + gst_object_unref (m_DataGST.queue_src); + } + + + if(m_DataGST.queue_sink!=NULL) + { + gst_bin_remove (GST_BIN (m_DataGST.pipeline), m_DataGST.queue_sink); + gst_element_set_state (m_DataGST.queue_sink, GST_STATE_NULL); + gst_object_unref (m_DataGST.queue_sink); + } + + + if(m_DataGST.sink!=NULL) + { + gst_bin_remove (GST_BIN (m_DataGST.pipeline), m_DataGST.sink); + gst_element_set_state (m_DataGST.sink, GST_STATE_NULL); + gst_object_unref (m_DataGST.sink); + } + + + if(m_DataGST.pipeline!=NULL) + { + gst_element_set_state (m_DataGST.pipeline, GST_STATE_NULL); + gst_object_unref (m_DataGST.pipeline); + } + + gst_object_unref (bus); + + free(appsink_callbacks); + + m_bPipeStart = false; + m_bTerminate = false; + m_DataGST.terminate = false; + //gst_deinit(); + + m_bWorkingRTSP = false; + + ExitCapture(); + + if(bSignalOut==true) + { + return -1; + } + return 0; +} + + +void QGstreamerPlayer2::SaveFile(QString strFilename) +{ + +#ifdef __x86_64 + CustomDataSink *sink = NULL; + GstPad *sinkpad; + GstPadTemplate *templ; + + templ = gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (m_DataGST.tee), "src_%u"); + + g_print ("add\n"); + + if(m_DataGST.m_pSink==NULL) + { + sink = g_new0 (CustomDataSink, 1); + } + else + { + sink = m_DataGST.m_pSink; + } + + + sink->m_pTeePad = gst_element_request_pad (m_DataGST.tee, templ, NULL, NULL); + + if(sink->m_pQueue==NULL) + { + sink->m_pQueue = gst_element_factory_make ("queue", NULL); + } + + if(sink->m_pConvert==NULL) + { + sink->m_pConvert = gst_element_factory_make ("videoconvert", NULL); + } + + if(sink->m_pEncoder==NULL) + { + sink->m_pEncoder = gst_element_factory_make("x264enc", NULL); + } + + if(sink->m_pParser==NULL) + { + sink->m_pParser = gst_element_factory_make("matroskamux", NULL); + } + + if(sink->m_pSink==NULL) + { + sink->m_pSink = gst_element_factory_make ("filesink", NULL); + } + else + { + sink->m_pSink = gst_element_factory_make ("filesink", NULL); + } + + + + + + sink->removing = FALSE; + + gst_bin_add_many (GST_BIN (m_DataGST.pipeline), (GstElement*)gst_object_ref (sink->m_pQueue), + gst_object_ref (sink->m_pConvert), + gst_object_ref (sink->m_pEncoder), gst_object_ref (sink->m_pParser), //gst_object_ref (pQueue2), + gst_object_ref (sink->m_pSink), NULL); + + + + gboolean link_ok; + gst_element_link_many (sink->m_pQueue, sink->m_pConvert, sink->m_pEncoder, sink->m_pParser, sink->m_pSink, NULL); + + + g_object_set (sink->m_pSink, "location", strFilename.toStdString().c_str(), NULL); + + g_object_set (sink->m_pEncoder, "bitrate", 10240, NULL); + g_object_set (sink->m_pEncoder, "byte-stream", true, NULL); + g_object_set (sink->m_pEncoder, "speed-preset", 1, NULL); + g_object_set (sink->m_pEncoder, "tune", 4, NULL); + + + g_object_set (sink->m_pSink, "sync", TRUE, NULL); + gst_element_sync_state_with_parent (sink->m_pQueue); + gst_element_sync_state_with_parent (sink->m_pConvert); + gst_element_sync_state_with_parent (sink->m_pEncoder); + gst_element_sync_state_with_parent (sink->m_pParser); + gst_element_sync_state_with_parent (sink->m_pSink); + + sinkpad = gst_element_get_static_pad (sink->m_pQueue, "sink"); + gst_pad_link (sink->m_pTeePad, sinkpad); + gst_object_unref (sinkpad); + + g_print ("added\n"); + + gst_object_unref(templ); + + m_DataGST.m_pSink = sink; +#else +#endif +} + +void QGstreamerPlayer2::SaveEnd() +{ + CustomDataSink* sink =m_DataGST.m_pSink; + + if(sink==NULL) + { + return; + } + + GST_CustomData* pData = (GST_CustomData*)&m_DataGST; + + GstPad *sinkpad; + + sink->removing = TRUE; + + sinkpad = gst_element_get_static_pad (sink->m_pQueue, "sink"); + + GstElement* pPipeLine = m_DataGST.pipeline; + + + + + + gst_pad_unlink (sink->m_pTeePad, sinkpad); + gst_object_unref (sinkpad); + //gst_pad_send_event (sinkpad, gst_event_new_eos ()); + + gst_element_send_event(pData->m_pSink->m_pEncoder, gst_event_new_eos()); + //usleep(100*1000); + +#ifdef __x86_64 + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pQueue); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pConvert); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pEncoder); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pParser); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pSink); + + gst_element_set_state (pData->m_pSink->m_pQueue, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pConvert, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pEncoder, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pSink, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pParser, GST_STATE_NULL); + + gst_object_unref (pData->m_pSink->m_pQueue); + gst_object_unref (pData->m_pSink->m_pConvert); + gst_object_unref (pData->m_pSink->m_pEncoder); + gst_object_unref (pData->m_pSink->m_pParser); + gst_object_unref (pData->m_pSink->m_pSink); +#else +#endif + + gst_element_release_request_pad (pData->tee, pData->m_pSink->m_pTeePad); + gst_element_remove_pad(pData->tee, pData->m_pSink->m_pTeePad); + gst_object_unref (pData->m_pSink->m_pTeePad); + + g_free(pData->m_pSink); + pData->m_pSink = NULL; + + + usleep(10*1000); +} diff --git a/qgstreamerplayer2.h b/qgstreamerplayer2.h new file mode 100644 index 0000000..622a7c2 --- /dev/null +++ b/qgstreamerplayer2.h @@ -0,0 +1,22 @@ +#ifndef QGSTREAMERPLAYER2_H +#define QGSTREAMERPLAYER2_H + +#include "qgstreamerplayer.h" + +class QGstreamerPlayer2 : public QGstreamerPlayer +{ + Q_OBJECT +public: + explicit QGstreamerPlayer2(QObject *parent = nullptr); + virtual ~QGstreamerPlayer2(); + + virtual void SaveFile(QString strFilename); + virtual void SaveEnd(); + + virtual int OpenCamera(QString strVideoDevice); + +signals: + +}; + +#endif // QGstreamerPlayer2_H diff --git a/qgstreamerplayer_old.cpp b/qgstreamerplayer_old.cpp new file mode 100644 index 0000000..b95fd35 --- /dev/null +++ b/qgstreamerplayer_old.cpp @@ -0,0 +1,2046 @@ +#include "qgstreamerplayer.h" + +#include "qrtspthread.h" +#include "qvideowidget.h" + +#include "mainwindow.h" + +//#define __720P + +bool g_bSend = false; + +QGstreamerPlayer::QGstreamerPlayer(QObject *parent) : QObject(parent) +{ + m_bCaptureImage = false; + m_bWorkingRTSP = false; + m_bSeeking = false; + + m_nFrameWidth = 0; + m_nFrameHeight = 0; + + m_DataGST.m_bShow = false; + m_DataGST.terminate = false; + + m_bPipeStart = false; + + int argc = 0; + gst_init (&argc, NULL); + gst_segtrap_set_enabled(FALSE); + + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + connect(this, SIGNAL(ExitCapture()), pMainWindow, SLOT(ExitCapture())); + connect(this, SIGNAL(ErrorCapture()), pMainWindow, SLOT(ErrorCapture())); + + + + + + if(m_DataGST.source==NULL) + { + m_DataGST.source = gst_element_factory_make("videotestsrc", "source"); + } + gst_element_set_state (m_DataGST.source, GST_STATE_READY); + + if(m_DataGST.m_pCaps==NULL) + { + m_DataGST.m_pCaps = gst_element_factory_make("capsfilter", "caps"); + } + gst_element_set_state (m_DataGST.m_pCaps, GST_STATE_READY); + + //if(m_DataGST.queue_src==NULL) + { + m_DataGST.queue_src = gst_element_factory_make ("queue", NULL); + } + gst_element_set_state (m_DataGST.queue_src, GST_STATE_READY); + + if(m_DataGST.tee==NULL) + { + m_DataGST.tee = gst_element_factory_make ("tee", "teename"); + } + gst_element_set_state (m_DataGST.tee, GST_STATE_READY); + + if(m_DataGST.sink==NULL) + { + m_DataGST.sink = gst_element_factory_make("appsink", "test_sink"); + + GstAppSinkCallbacks* appsink_callbacks = NULL; + if(m_DataGST.sink!=NULL) + { + appsink_callbacks = (GstAppSinkCallbacks*)malloc(sizeof(GstAppSinkCallbacks)); + + appsink_callbacks->eos = app_sink_eos; + appsink_callbacks->new_preroll = app_sink_new_preroll; + #ifdef _GSTREAMER_1_0 + appsink_callbacks->new_sample = app_sink_new_sample; + #else + appsink_callbacks->new_buffer = app_sink_new_sample; + #endif + gst_app_sink_set_callbacks(GST_APP_SINK(m_DataGST.sink), appsink_callbacks, (gpointer)&m_DataGST, NULL); + g_object_set (m_DataGST.sink, "sync", TRUE, NULL); + + gst_app_sink_set_drop(GST_APP_SINK(m_DataGST.sink), TRUE); + } + } + gst_element_set_state (m_DataGST.sink, GST_STATE_READY); + + + + m_DataGST.pipeline = gst_pipeline_new("test-pipeline"); + + gst_bin_add_many(GST_BIN(m_DataGST.pipeline), m_DataGST.source, m_DataGST.m_pCaps, m_DataGST.queue_src, m_DataGST.tee, m_DataGST.sink, NULL); + + gboolean link_ok; + + link_ok = gst_element_link_many (m_DataGST.source, m_DataGST.m_pCaps, m_DataGST.queue_src, m_DataGST.tee, m_DataGST.sink, NULL); + + if(link_ok==0) + { + int a=0; + } + + GstCaps *caps; + +#ifdef __x86_64 + caps = gst_caps_new_simple ("video/x-raw", + "width", G_TYPE_INT, 1920, + "height", G_TYPE_INT, 1080, + "framerate", GST_TYPE_FRACTION, 60, 1, + "format", G_TYPE_STRING, "UYVY", + NULL); +#else + caps = gst_caps_new_simple ("video/x-raw", + "width", G_TYPE_INT, 1920, + "height", G_TYPE_INT, 1080, + "framerate", GST_TYPE_FRACTION, 60, 1, + "format", G_TYPE_STRING, "UYVY", + NULL); +#endif + + g_object_set(G_OBJECT(m_DataGST.m_pCaps), "caps", caps, NULL); +} + +QGstreamerPlayer::~QGstreamerPlayer() +{ + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + disconnect(this, SIGNAL(ExitCapture()), pMainWindow, SLOT(ExitCapture())); + disconnect(this, SIGNAL(ErrorCapture()), pMainWindow, SLOT(ErrorCapture())); + //gst_deinit(); +} + +bool QGstreamerPlayer::IsPipeStart() +{ + return m_bPipeStart; +} + +void QGstreamerPlayer::OpenMovieFile(QString strFilename) +{ + m_nFrameWidth = 0; + m_nFrameHeight = 0; + + m_DataGST.m_strFilename = strFilename; + + pid_t pid_current = getpid(); + GstBus *bus; + GstStateChangeReturn ret; + GstMessage *msg; + GError *error = NULL; + gboolean bTrapEnabled = FALSE; + + GstPad *queue_app_pad; + GstCaps *video_caps; + + m_bTerminate = false; + + /* init */ + int argc = 0; + gst_init (&argc, NULL); + gst_segtrap_set_enabled(FALSE); + bTrapEnabled = gst_segtrap_is_enabled(); + + + /* + m_DataGST.source = gst_element_factory_make ("videotestsrc", "source"); + m_DataGST.bin = gst_element_factory_make ("decodebin", "bin"); + m_DataGST.queue_src = gst_element_factory_make ("queue", "queue"); + m_DataGST.sink = gst_element_factory_make ("appsink", "sink"); + + m_DataGST.pipeline = gst_pipeline_new ("test-pipeline"); + + + + + + gst_bin_add_many (GST_BIN (m_DataGST.pipeline), m_DataGST.source, m_DataGST.bin, m_DataGST.sink, NULL); + + if (!gst_element_link (m_DataGST.source, m_DataGST.sink)) + { + g_printerr ("Elements could not be linked.\n"); + gst_object_unref (m_DataGST.pipeline); + return; + } +*/ + +#ifdef _GSTREAMER_1_0 + //m_DataGST.pipeline = gst_parse_launch("filesrc name=test_src ! queue name=queue_src ! decodebin ! nvvidconv ! video/x-raw,format=I420,width=1920,height=1080 ! queue name=queue_sink ! appsink name=test_sink", &error); + m_DataGST.pipeline = gst_parse_launch("filesrc name=test_src ! queue name=queue_src ! decodebin ! tee name=teename teename. ! videoconvert ! videoscale ! video/x-raw,format=I420,width=1920,height=1080 ! queue name=queue_sink ! appsink name=test_sink", &error); +#else + m_DataGST.pipeline = gst_parse_launch("rtspsrc name=test_src location=rtsp://192.168.11.110:8554/test123 latency=0 ! rtph264depay ! queue name=queue_src ! vpudec ! queue name=queue_sink ! appsink name=test_sink max-lateness=-1", &error); +#endif + + + + + + + if(error!=NULL) + { + g_printerr ("Can not Create Pipeline.\n"); + return; + } + + + + m_DataGST.source = gst_bin_get_by_name(GST_BIN(m_DataGST.pipeline), "test_src"); + m_DataGST.sink = gst_bin_get_by_name(GST_BIN(m_DataGST.pipeline), "test_sink"); + + m_DataGST.queue_src = gst_bin_get_by_name(GST_BIN(m_DataGST.pipeline), "queue_src"); + m_DataGST.queue_sink = gst_bin_get_by_name(GST_BIN(m_DataGST.pipeline), "queue_sink"); + + m_DataGST.tee = gst_bin_get_by_name(GST_BIN(m_DataGST.pipeline), "teename"); + + m_DataGST.pWidget = m_pVideoWidget; + m_DataGST.pPlayer = this; + + //test!!! + //gst_base_sink_set_last_sample_enabled(GST_BASE_SINK(m_DataGST.sink), true); + + + g_signal_connect (m_DataGST.source, "pad-added", G_CALLBACK (QGstreamerPlayer::pad_added_handler), &m_DataGST); + + GstPad* pad = gst_element_get_static_pad (m_DataGST.sink, "sink"); + + + if (!m_DataGST.pipeline || !m_DataGST.source || !m_DataGST.queue_src || !m_DataGST.sink) { + g_printerr ("Not all elements could be created.\n"); + return; + } + + + + if(m_DataGST.queue_src!=NULL) + { + g_object_set (m_DataGST.queue_src, "max-size-buffers", 10, NULL); + } + + if(m_DataGST.source!=NULL) + { + g_object_set (m_DataGST.source, "location", strFilename.toStdString().c_str(), NULL); + //g_object_set (m_DataGST.source, "location", "rtsp://192.168.11.110:8554/test123", NULL); + } + + if(m_DataGST.sink!=NULL) + { + GstAppSinkCallbacks* appsink_callbacks = (GstAppSinkCallbacks*)malloc(sizeof(GstAppSinkCallbacks)); + + appsink_callbacks->eos = app_sink_eos; + appsink_callbacks->new_preroll = app_sink_new_preroll; +#ifdef _GSTREAMER_1_0 + appsink_callbacks->new_sample = app_sink_new_sample; +#else + appsink_callbacks->new_buffer = app_sink_new_sample; +#endif + + //test + + gst_app_sink_set_callbacks(GST_APP_SINK(m_DataGST.sink), appsink_callbacks, (gpointer)&m_DataGST, NULL); + + //g_signal_connect (m_DataGST.source, "new-buffer", G_CALLBACK (new_buffer), &m_DataGST); + + g_object_set (m_DataGST.sink, "sync", TRUE, NULL); + + gst_app_sink_set_drop(GST_APP_SINK(m_DataGST.sink), TRUE); + } + + + + + + + + + + + + + //queue_app_pad = gst_element_get_static_pad (m_DataGST.app_queue, "sink"); + + //sigint_setup(); + + + + + ret = gst_element_set_state (m_DataGST.pipeline, GST_STATE_PLAYING); + //ret = gst_element_set_state (m_DataGST.pipeline, GST_STATE_PAUSED); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (m_DataGST.pipeline); + return; + } + + bus = gst_element_get_bus (m_DataGST.pipeline); + + int64_t tEnd=0; + do { + msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, + (GstMessageType)(GST_MESSAGE_STATE_CHANGED | GST_MESSAGE_ERROR | GST_MESSAGE_EOS | GST_MESSAGE_STEP_DONE | GST_MESSAGE_STEP_START | GST_MESSAGE_ASYNC_DONE)); + + usleep(100); + if(tEnd==0) + { + gst_element_query_duration (m_DataGST.pipeline, GST_FORMAT_TIME, &tEnd); + if(tEnd!=0) + { + int nHour = 0; + int nMinute = 0; + int nSec = 0; + + int nMilliSec = tEnd/(1000*1000); + nSec = nMilliSec/1000; + nMinute = nSec/60; + nHour = nMinute/60; + + nSec = nSec%60; + nMinute = nMinute%60; + nHour = nHour; + nMilliSec = (nMilliSec/1000)%1000; + qDebug() << "Duration: " << nHour << ":" << nMinute << ":" << nSec << ":" << nMilliSec ; + + //m_bTerminate = true; + + GstState state; + GstState pending; + + gst_element_get_state(m_DataGST.pipeline, &state, &pending, GST_CLOCK_TIME_NONE); + } + } + /* Parse message */ + if (msg != NULL) { + GError *err; + gchar *debug_info; + + switch (GST_MESSAGE_TYPE (msg)) { + case GST_MESSAGE_ERROR: + gst_message_parse_error (msg, &err, &debug_info); + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + m_bTerminate = true; + break; + + case GST_MESSAGE_EOS: + g_print ("End-Of-Stream reached.\n"); + + { + + m_bTerminate = true; + + } + + + break; + case GST_MESSAGE_STATE_CHANGED: + /* We are only interested in state-changed messages from the pipeline */ + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (m_DataGST.pipeline)) { + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + g_print ("Pipeline state changed from %s to %s:\n", + gst_element_state_get_name (old_state), gst_element_state_get_name (new_state)); + + if(new_state==GST_STATE_PAUSED && old_state==GST_STATE_PLAYING) + { + //m_bTerminate = true; + } + } + break; + + case GST_MESSAGE_STEP_DONE: + { + GstFormat format; + guint64 amount; + gdouble rate; + gboolean flush, intermediate; + guint64 duration; + gboolean eos; + + gst_message_parse_step_done (msg, &format, &amount, &rate, + &flush, &intermediate, &duration, &eos); + + app_sink_new_sample((GstAppSink *)m_DataGST.sink, &m_DataGST); + + } + break; + + case GST_MESSAGE_STEP_START: + { + int a=0; + } + break; + + case GST_MESSAGE_ASYNC_DONE: + { + qDebug() << "Async Done"; + //app_sink_new_sample((GstAppSink *)m_DataGST.sink, &m_DataGST); + + + m_bSeeking = false; + } + break; + + + + + + default: + /* We should not reach here */ + g_printerr ("Unexpected message received.\n"); + break; + } + + + + + + gst_message_unref (msg); + } + } while (m_bTerminate==false); + + + + + SendFinished(); +} + + +bool QGstreamerPlayer::IsWorkingRTSP() +{ + return m_bWorkingRTSP; +} + +int QGstreamerPlayer::OpenCamera(QString strVideoDevice) +{ + return OpenCamera2(strVideoDevice); + + m_bWorkingRTSP = true; + m_nFrameWidth = 0; + m_nFrameHeight = 0; + + m_DataGST.m_strFilename = strVideoDevice; + + GstBus *bus; + GstStateChangeReturn ret; + GstMessage *msg; + GError *error = NULL; + gboolean bTrapEnabled = FALSE; + + m_bTerminate = false; + + /* init */ + bTrapEnabled = gst_segtrap_is_enabled(); + + QString strTest = QString("v4l2src device=/dev/video0 name=test_src ! video/x-raw,format=(string)UYVY,width=1920,height=1080,framerate=(fraction)60/1 ! queue name=queue_src ! videorate name=test_videorate ! queue name=queue_name1 ! timeoverlay name=test_timeoverlay ! tee name=teename ! queue name=queue_name2 ! appsink name=test_sink"); + +#ifdef _GSTREAMER_1_0 +#ifdef __x86_64 + strTest = QString("videotestsrc name=test_src ! video/x-raw,format=(string)UYVY,width=1920,height=1080,framerate=(fraction)60/1 ! queue name=queue_src ! tee name=teename ! appsink name=test_sink"); + + + +#else + strTest = QString("videotestsrc name=test_src ! video/x-raw,format=(string)UYVY,width=1920,height=1080,framerate=(fraction)60/1 ! queue name=queue_src ! tee name=teename ! appsink name=test_sink"); + +#endif +#else + m_DataGST.pipeline = gst_parse_launch("rtspsrc name=test_src location=rtsp://192.168.11.110:8554/test123 latency=0 ! rtph264depay ! queue name=queue_src ! vpudec ! queue name=queue_sink ! appsink name=test_sink max-lateness=-1", &error); +#endif + + if(error!=NULL) + { + g_printerr ("Can not Create Pipeline.\n"); + m_bWorkingRTSP = false; + ErrorCapture(); + return -1; + } + + m_DataGST.pWidget = m_pVideoWidget; + m_DataGST.pPlayer = this; + m_DataGST.m_bShow = true; + + //test!!! + g_signal_connect (m_DataGST.source, "pad-added", G_CALLBACK (QGstreamerPlayer::pad_added_handler), &m_DataGST); + + GstPad* pad = gst_element_get_static_pad (m_DataGST.sink, "sink"); + + //if (!m_DataGST.pipeline || !m_DataGST.source || !m_DataGST.queue_src || !m_DataGST.sink) { + if (!m_DataGST.pipeline || !m_DataGST.source || !m_DataGST.sink) { + g_printerr ("Not all elements could be created.\n"); + m_bWorkingRTSP = false; + ErrorCapture(); + return -2; + } + + if(m_DataGST.queue_src!=NULL) + { + //g_object_set (m_DataGST.queue_src, "max-size-buffers", 10, NULL); + } + + if(m_DataGST.source!=NULL) + { + //g_object_set (m_DataGST.source, "device", strVideoDevice.toStdString().c_str(), NULL); + + } + + + + ret = gst_element_set_state (m_DataGST.pipeline, GST_STATE_PAUSED); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (m_DataGST.pipeline); + m_bPipeStart = false; + m_bWorkingRTSP = false; + ExitCapture(); + return -3; + } + + bus = gst_element_get_bus (m_DataGST.pipeline); + + m_bPipeStart = true; + + int64_t tEnd=0; + do { + msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, + (GstMessageType)(GST_MESSAGE_STATE_CHANGED | GST_MESSAGE_ERROR | GST_MESSAGE_EOS | GST_MESSAGE_STEP_DONE | GST_MESSAGE_STEP_START | GST_MESSAGE_ASYNC_DONE)); + + + if(tEnd==0) + { + gst_element_query_duration (m_DataGST.pipeline, GST_FORMAT_TIME, &tEnd); + if(tEnd!=0) + { + int nHour = 0; + int nMinute = 0; + int nSec = 0; + + int nMilliSec = tEnd/(1000*1000); + nSec = nMilliSec/1000; + nMinute = nSec/60; + nHour = nMinute/60; + + nSec = nSec%60; + nMinute = nMinute%60; + nHour = nHour; + nMilliSec = (nMilliSec/1000)%1000; + qDebug() << "Duration: " << nHour << ":" << nMinute << ":" << nSec << ":" << nMilliSec ; + + //m_bTerminate = true; + + GstState state; + GstState pending; + + gst_element_get_state(m_DataGST.pipeline, &state, &pending, GST_CLOCK_TIME_NONE); + } + } + /* Parse message */ + if (msg != NULL) { + GError *err; + gchar *debug_info; + + switch (GST_MESSAGE_TYPE (msg)) { + case GST_MESSAGE_ERROR: + gst_message_parse_error (msg, &err, &debug_info); + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + m_bTerminate = true; + break; + + case GST_MESSAGE_EOS: + g_print ("End-Of-Stream reached.\n"); + + { + + //gst_message_unref (msg); + m_bTerminate = true; + + } + + + break; + case GST_MESSAGE_STATE_CHANGED: + /* We are only interested in state-changed messages from the pipeline */ + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (m_DataGST.pipeline)) { + + g_print ("Pipeline state changed from %s to %s:\n", + gst_element_state_get_name (old_state), gst_element_state_get_name (new_state)); + + if(new_state==GST_STATE_PAUSED && old_state==GST_STATE_PLAYING) + { + //m_bTerminate = true; + int a=0; + ExitCapture(); + } + else if(new_state==GST_STATE_PLAYING && old_state==GST_STATE_PAUSED) + { + int a=0; + } + } + break; + + case GST_MESSAGE_STEP_DONE: + { + GstFormat format; + guint64 amount; + gdouble rate; + gboolean flush, intermediate; + guint64 duration; + gboolean eos; + + gst_message_parse_step_done (msg, &format, &amount, &rate, + &flush, &intermediate, &duration, &eos); + + app_sink_new_sample((GstAppSink *)m_DataGST.sink, &m_DataGST); + + } + break; + + case GST_MESSAGE_STEP_START: + { + int a=0; + } + break; + + case GST_MESSAGE_ASYNC_DONE: + { + qDebug() << "Async Done"; + //app_sink_new_sample((GstAppSink *)m_DataGST.sink, &m_DataGST); + + + m_bSeeking = false; + } + break; + + + + + + default: + /* We should not reach here */ + g_printerr ("Unexpected message received.\n"); + break; + } + + + gst_message_unref (msg); + + if(m_DataGST.terminate==true) + { + m_bTerminate = true; + } + } + } while (m_bTerminate==false); + + + /* + gst_element_set_state (m_DataGST.pipeline, GST_STATE_PAUSED); + m_bPipeStart = false; + m_bTerminate = false; + m_DataGST.terminate = false; + //gst_deinit(); + + //gst_object_ref(caps); + //free(caps); + + ExitCapture(); + + return 0; + */ + + if(m_DataGST.pipeline!=NULL) + { + gst_element_set_state (m_DataGST.pipeline, GST_STATE_NULL); + gst_object_unref (m_DataGST.pipeline); + m_DataGST.pipeline = NULL; + } + + if(m_DataGST.source!=NULL) + { + //gst_element_set_state (m_DataGST.source, GST_STATE_NULL); + //gst_bin_remove (GST_BIN (m_DataGST.pipeline), m_DataGST.source); + gst_object_unref (m_DataGST.source); + m_DataGST.source = NULL; + } + + if(m_DataGST.tee!=NULL) + { + //gst_element_set_state (m_DataGST.tee, GST_STATE_NULL); + //gst_bin_remove (GST_BIN (m_DataGST.pipeline), m_DataGST.tee); + + gst_object_unref (m_DataGST.tee); + m_DataGST.tee = NULL; + } + + if(m_DataGST.queue_src!=NULL) + { + //gst_element_set_state (m_DataGST.queue_src, GST_STATE_NULL); + //gst_bin_remove (GST_BIN (m_DataGST.pipeline), m_DataGST.queue_src); + + gst_object_unref (m_DataGST.queue_src); + m_DataGST.queue_src = NULL; + } + + if(m_DataGST.queue_sink!=NULL) + { + //gst_element_set_state (m_DataGST.queue_sink, GST_STATE_NULL); + //gst_bin_remove (GST_BIN (m_DataGST.pipeline), m_DataGST.queue_sink); + + gst_object_unref (m_DataGST.queue_sink); + m_DataGST.queue_sink = NULL; + } + + if(m_DataGST.sink!=NULL) + { + //gst_element_set_state (m_DataGST.sink, GST_STATE_NULL); + //gst_bin_remove (GST_BIN (m_DataGST.pipeline), m_DataGST.sink); + + gst_object_unref (m_DataGST.sink); + m_DataGST.sink = NULL; + } + + + + + gst_object_unref (bus); + + //free(appsink_callbacks); + + m_bPipeStart = false; + m_bTerminate = false; + m_DataGST.terminate = false; + //gst_deinit(); + + //gst_object_ref(caps); + //free(caps); + + //ExitCapture(); + + return 0; +} + +int QGstreamerPlayer::OpenCamera2(QString strVideoDevice) +{ + m_bWorkingRTSP = true; + m_nFrameWidth = 0; + m_nFrameHeight = 0; + + m_DataGST.m_strFilename = strVideoDevice; + + pid_t pid_current = getpid(); + GstBus *bus; + GstStateChangeReturn ret; + GstMessage *msg; + GError *error = NULL; + gboolean bTrapEnabled = FALSE; + + GstPad *queue_app_pad; + GstCaps *video_caps; + + m_bTerminate = false; + + /* init */ + //int argc = 0; + //gst_init (&argc, NULL); + //gst_segtrap_set_enabled(FALSE); + bTrapEnabled = gst_segtrap_is_enabled(); + + QSize nSize = m_pVideoWidget->size(); + + QString strTest = QString("v4l2src device=/dev/video0 name=test_src ! video/x-raw,format=(string)UYVY,width=1920,height=1080,framerate=(fraction)60/1 ! queue name=queue_src ! videorate name=test_videorate ! queue name=queue_name1 ! timeoverlay name=test_timeoverlay ! tee name=teename ! queue name=queue_name2 ! appsink name=test_sink"); + +#ifdef _GSTREAMER_1_0 +#ifdef __x86_64 + strTest = QString("videotestsrc name=test_src ! video/x-raw,format=(string)UYVY,width=1920,height=1080,framerate=(fraction)60/1 ! queue name=queue_src ! videorate name=test_videorate ! queue name=queue_name1 ! timeoverlay name=test_timeoverlay ! tee name=teename ! queue name=queue_name2 ! appsink name=test_sink"); +#ifdef __720P + m_DataGST.pipeline = gst_parse_launch("v4l2src name=test_src ! video/x-raw,format=(string)YUY2,width=1280,height=720,framerate=(fraction)60/1 ! queue name=queue_src ! tee name=teename teename. ! queue ! appsink name=test_sink", &error); +#else + //m_DataGST.pipeline = gst_parse_launch("v4l2src name=test_src ! 'video/x-raw,format=(string)YUY2,width=1920,height=1080,framerate=(fraction)120/1' ! queue name=queue_src ! tee name=teename teename. ! queue ! appsink name=test_sink", &error); + + //m_DataGST.pipeline = gst_parse_launch("videotestsrc name=test_src ! video/x-raw,format=(string)YUY2,width=1920,height=1080,framerate=(fraction)60/1 ! queue name=queue_src ! videorate name=test_videorate ! clockoverlay ! appsink name=test_sink", &error); + + m_DataGST.pipeline = gst_parse_launch(strTest.toStdString().c_str(), &error); +#endif + +#else + + //strTest = QString("videotestsrc name=test_src ! video/x-raw,format=(string)UYVY,width=1920,height=1080,framerate=(fraction)60/1 ! queue name=queue_src ! videorate name=test_videorate ! queue name=queue_name1 ! timeoverlay name=test_timeoverlay ! tee name=teename ! queue name=queue_name2 ! appsink name=test_sink"); + + strTest = QString("v4l2src name=test_src ! video/x-raw,format=(string)UYVY,width=1920,height=1080,framerate=(fraction)60/1 ! queue name=queue_src ! tee name=teename ! queue name=queue_sink ! appsink name=test_sink"); + + m_DataGST.pipeline = gst_parse_launch(strTest.toStdString().c_str(), &error); + /* + m_DataGST.pipeline = gst_parse_launch("v4l2src name=test_src ! video/x-raw,width=1920,height=1080,framerate=(fraction)60/1,format=(string)YUY2 ! queue name=queue_src ! tee name=teename teename. ! queue ! videoconvert ! queue ! appsink name=test_sink ", &error); + //m_DataGST.pipeline = gst_parse_launch("videotestsrc name=test_src ! video/x-raw,format=(string)UYVY,width=1920,height=1080,framerate=(fraction)60/1 ! queue name=queue_src ! appsink name=test_sink", &error); + */ + +#endif +#else + m_DataGST.pipeline = gst_parse_launch("rtspsrc name=test_src location=rtsp://192.168.11.110:8554/test123 latency=0 ! rtph264depay ! queue name=queue_src ! vpudec ! queue name=queue_sink ! appsink name=test_sink max-lateness=-1", &error); +#endif + + if(error!=NULL) + { + g_printerr ("Can not Create Pipeline.\n"); + m_bWorkingRTSP = false; + ErrorCapture(); + return -1; + } + + + + /* + GstElement* pVideoRate = gst_bin_get_by_name(GST_BIN(m_DataGST.pipeline), "test_videorate"); + GstElement* pTimeOverlay = gst_bin_get_by_name(GST_BIN(m_DataGST.pipeline), "test_timeoverlay"); + GstElement* pQueue1 = gst_bin_get_by_name(GST_BIN(m_DataGST.pipeline), "queue_name1"); + GstElement* pQueue2 = gst_bin_get_by_name(GST_BIN(m_DataGST.pipeline), "queue_name2"); + */ + + + m_DataGST.source = gst_bin_get_by_name(GST_BIN(m_DataGST.pipeline), "test_src"); + m_DataGST.sink = gst_bin_get_by_name(GST_BIN(m_DataGST.pipeline), "test_sink"); + + m_DataGST.queue_src = gst_bin_get_by_name(GST_BIN(m_DataGST.pipeline), "queue_src"); + m_DataGST.queue_sink = gst_bin_get_by_name(GST_BIN(m_DataGST.pipeline), "queue_sink"); + + m_DataGST.tee = gst_bin_get_by_name(GST_BIN(m_DataGST.pipeline), "teename"); + + m_DataGST.pWidget = m_pVideoWidget; + m_DataGST.pPlayer = this; + + m_DataGST.m_bShow = true; + + //test!!! + //gst_base_sink_set_last_sample_enabled(GST_BASE_SINK(m_DataGST.sink), true); + + + g_signal_connect (m_DataGST.source, "pad-added", G_CALLBACK (QGstreamerPlayer::pad_added_handler), &m_DataGST); + + GstPad* pad = gst_element_get_static_pad (m_DataGST.sink, "sink"); + + + //if (!m_DataGST.pipeline || !m_DataGST.source || !m_DataGST.queue_src || !m_DataGST.sink) { + if (!m_DataGST.pipeline || !m_DataGST.source || !m_DataGST.sink) { + g_printerr ("Not all elements could be created.\n"); + m_bWorkingRTSP = false; + ErrorCapture(); + return -2; + } + + + + if(m_DataGST.queue_src!=NULL) + { + g_object_set (m_DataGST.queue_src, "max-size-buffers", 10, NULL); + } + + if(m_DataGST.source!=NULL) + { + //g_object_set (m_DataGST.source, "device", strVideoDevice.toStdString().c_str(), NULL); + + } + + GstAppSinkCallbacks* appsink_callbacks = NULL; + if(m_DataGST.sink!=NULL) + { + appsink_callbacks = (GstAppSinkCallbacks*)malloc(sizeof(GstAppSinkCallbacks)); + + appsink_callbacks->eos = app_sink_eos; + appsink_callbacks->new_preroll = app_sink_new_preroll; +#ifdef _GSTREAMER_1_0 + appsink_callbacks->new_sample = app_sink_new_sample; +#else + appsink_callbacks->new_buffer = app_sink_new_sample; +#endif + + //test + + gst_app_sink_set_callbacks(GST_APP_SINK(m_DataGST.sink), appsink_callbacks, (gpointer)&m_DataGST, NULL); + + //g_signal_connect (m_DataGST.source, "new-buffer", G_CALLBACK (new_buffer), &m_DataGST); + + //g_object_set (m_DataGST.sink, "sync", FALSE, NULL); + g_object_set (m_DataGST.sink, "sync", TRUE, NULL); + + gst_app_sink_set_drop(GST_APP_SINK(m_DataGST.sink), TRUE); + //gst_app_sink_set_drop(GST_APP_SINK(m_DataGST.sink), FALSE); + + } + + + + + + + + + + + + + //queue_app_pad = gst_element_get_static_pad (m_DataGST.app_queue, "sink"); + + //sigint_setup(); + + + + + //ret = gst_element_set_state (m_DataGST.pipeline, GST_STATE_PLAYING); + ret = gst_element_set_state (m_DataGST.pipeline, GST_STATE_PAUSED); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (m_DataGST.pipeline); + m_bPipeStart = false; + m_bWorkingRTSP = false; + //ErrorCapture(); + ExitCapture(); + return -3; + } + + bus = gst_element_get_bus (m_DataGST.pipeline); + + m_bPipeStart = true; + + int64_t tEnd=0; + do { + msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, + (GstMessageType)(GST_MESSAGE_STATE_CHANGED | GST_MESSAGE_ERROR | GST_MESSAGE_EOS | GST_MESSAGE_STEP_DONE | GST_MESSAGE_STEP_START | GST_MESSAGE_ASYNC_DONE)); + + + if(tEnd==0) + { + gst_element_query_duration (m_DataGST.pipeline, GST_FORMAT_TIME, &tEnd); + if(tEnd!=0) + { + int nHour = 0; + int nMinute = 0; + int nSec = 0; + + int nMilliSec = tEnd/(1000*1000); + nSec = nMilliSec/1000; + nMinute = nSec/60; + nHour = nMinute/60; + + nSec = nSec%60; + nMinute = nMinute%60; + nHour = nHour; + nMilliSec = (nMilliSec/1000)%1000; + qDebug() << "Duration: " << nHour << ":" << nMinute << ":" << nSec << ":" << nMilliSec ; + + //m_bTerminate = true; + + GstState state; + GstState pending; + + gst_element_get_state(m_DataGST.pipeline, &state, &pending, GST_CLOCK_TIME_NONE); + } + } + /* Parse message */ + if (msg != NULL) { + GError *err; + gchar *debug_info; + + switch (GST_MESSAGE_TYPE (msg)) { + case GST_MESSAGE_ERROR: + gst_message_parse_error (msg, &err, &debug_info); + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + m_bTerminate = true; + break; + + case GST_MESSAGE_EOS: + g_print ("End-Of-Stream reached.\n"); + + { + + //gst_message_unref (msg); + m_bTerminate = true; + + } + + + break; + case GST_MESSAGE_STATE_CHANGED: + /* We are only interested in state-changed messages from the pipeline */ + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (m_DataGST.pipeline)) { + + g_print ("Pipeline state changed from %s to %s:\n", + gst_element_state_get_name (old_state), gst_element_state_get_name (new_state)); + + if(new_state==GST_STATE_PAUSED && old_state==GST_STATE_PLAYING) + { + //m_bTerminate = true; + } + } + break; + + case GST_MESSAGE_STEP_DONE: + { + GstFormat format; + guint64 amount; + gdouble rate; + gboolean flush, intermediate; + guint64 duration; + gboolean eos; + + gst_message_parse_step_done (msg, &format, &amount, &rate, + &flush, &intermediate, &duration, &eos); + + app_sink_new_sample((GstAppSink *)m_DataGST.sink, &m_DataGST); + + } + break; + + case GST_MESSAGE_STEP_START: + { + int a=0; + } + break; + + case GST_MESSAGE_ASYNC_DONE: + { + qDebug() << "Async Done"; + //app_sink_new_sample((GstAppSink *)m_DataGST.sink, &m_DataGST); + + + m_bSeeking = false; + } + break; + + + + + + default: + /* We should not reach here */ + g_printerr ("Unexpected message received.\n"); + break; + } + + + gst_message_unref (msg); + + if(m_DataGST.terminate==true) + { + m_bTerminate = true; + } + } + } while (m_bTerminate==false); + + /* + if(pVideoRate!=NULL) + { + gst_bin_remove (GST_BIN (m_DataGST.pipeline), pVideoRate); + gst_element_set_state (pVideoRate, GST_STATE_NULL); + gst_object_unref (pVideoRate); + } + + if(pTimeOverlay!=NULL) + { + gst_bin_remove (GST_BIN (m_DataGST.pipeline), pTimeOverlay); + gst_element_set_state (pTimeOverlay, GST_STATE_NULL); + gst_object_unref (pTimeOverlay); + } + + + if(pQueue1!=NULL) + { + gst_bin_remove (GST_BIN (m_DataGST.pipeline), pQueue1); + gst_element_set_state (pQueue1, GST_STATE_NULL); + gst_object_unref (pQueue1); + } + + if(pQueue2!=NULL) + { + gst_bin_remove (GST_BIN (m_DataGST.pipeline), pQueue2); + gst_element_set_state (pQueue2, GST_STATE_NULL); + gst_object_unref (pQueue2); + } + */ + + + + + if(m_DataGST.source!=NULL) + { + gst_bin_remove (GST_BIN (m_DataGST.pipeline), m_DataGST.source); + gst_element_set_state (m_DataGST.source, GST_STATE_NULL); + gst_object_unref (m_DataGST.source); + } + + if(m_DataGST.tee!=NULL) + { + gst_bin_remove (GST_BIN (m_DataGST.pipeline), m_DataGST.tee); + gst_element_set_state (m_DataGST.tee, GST_STATE_NULL); + gst_object_unref (m_DataGST.tee); + } + + + + + if(m_DataGST.queue_src!=NULL) + { + gst_bin_remove (GST_BIN (m_DataGST.pipeline), m_DataGST.queue_src); + gst_element_set_state (m_DataGST.queue_src, GST_STATE_NULL); + gst_object_unref (m_DataGST.queue_src); + } + + + if(m_DataGST.queue_sink!=NULL) + { + gst_bin_remove (GST_BIN (m_DataGST.pipeline), m_DataGST.queue_sink); + gst_element_set_state (m_DataGST.queue_sink, GST_STATE_NULL); + gst_object_unref (m_DataGST.queue_sink); + } + + + if(m_DataGST.sink!=NULL) + { + gst_bin_remove (GST_BIN (m_DataGST.pipeline), m_DataGST.sink); + gst_element_set_state (m_DataGST.sink, GST_STATE_NULL); + gst_object_unref (m_DataGST.sink); + } + + + if(m_DataGST.pipeline!=NULL) + { + gst_element_set_state (m_DataGST.pipeline, GST_STATE_NULL); + gst_object_unref (m_DataGST.pipeline); + } + + + + gst_object_unref (bus); + + free(appsink_callbacks); + + m_bPipeStart = false; + m_bTerminate = false; + m_DataGST.terminate = false; + //gst_deinit(); + + + + + ExitCapture(); + + return 0; +} + +void QGstreamerPlayer::app_sink_eos(GstAppSink *sink, gpointer user_data) +{ + GST_CustomData* pData = (GST_CustomData*)user_data; + + pData->terminate = true; + + qDebug() << "Enter EOS"; + + if(pData->m_pSink!=NULL) + { + if(pData->m_pSink->removing==TRUE) + { + + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pQueue); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pRate); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pCaps); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pConvert); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pSink); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pEncoder); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pParser); + + gst_element_set_state (pData->m_pSink->m_pQueue, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pRate, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pCaps, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pConvert, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pSink, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pEncoder, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pParser, GST_STATE_NULL); + + + gst_object_unref (pData->m_pSink->m_pQueue); + gst_object_unref (pData->m_pSink->m_pRate); + gst_object_unref (pData->m_pSink->m_pCaps); + gst_object_unref (pData->m_pSink->m_pConvert); + gst_object_unref (pData->m_pSink->m_pSink); + gst_object_unref (pData->m_pSink->m_pEncoder); + gst_object_unref (pData->m_pSink->m_pParser); + + gst_element_release_request_pad (pData->tee, pData->m_pSink->m_pTeePad); + gst_object_unref (pData->m_pSink->m_pTeePad); + + g_free(pData->m_pSink); + pData->m_pSink = NULL; + } + //else + { + + } + + } + +} + +GstFlowReturn QGstreamerPlayer::app_sink_new_preroll(GstAppSink *sink, gpointer user_data) +{ + qDebug() << "preroll" ; + + GST_CustomData* pd = (GST_CustomData*)user_data; + GstSample* sample = NULL; + + + + int nState = pd->pThread->GetState(); + if(nState>0) + { + //return GST_FLOW_OK; + } + + if(g_bSend==true) + { + //qDebug() << "track"; + //gst_element_set_state (pd->pipeline, GST_STATE_PAUSED); + } + + //sample = gst_app_sink_pull_sample(sink); + sample = gst_app_sink_pull_preroll(sink); + + if(sample==NULL) + { + qDebug() << "app_sink_new_proroll ERROR"; + return GST_FLOW_OK; + } + + QGstreamerPlayer* pPlayer = (QGstreamerPlayer*)pd->pPlayer; + + if(pPlayer->GetFrameWidth()==0 || pPlayer->GetFrameHeight()==0) + { + GstCaps* pCaps = NULL; + pCaps = gst_sample_get_caps(sample); + GstStructure* s = gst_caps_get_structure (pCaps, 0); + gint width, height; + int res = gst_structure_get_int (s, "width", &width) | gst_structure_get_int (s, "height", &height); + + pPlayer->SetFrameWidth(width); + pPlayer->SetFrameHeight(height); + + pd->pWidget->SetTextureSize(width, height); + + + } + + gboolean bEnabledLast = gst_base_sink_is_last_sample_enabled(GST_BASE_SINK(sink)); + + + + GstBuffer* buffer = gst_sample_get_buffer(sample); + + GstMemory* memory = gst_buffer_get_all_memory(buffer); + GstMapInfo map_info; + + if(! gst_memory_map(memory, &map_info, GST_MAP_READ)) { + gst_memory_unref(memory); + gst_sample_unref(sample); + + usleep(10*1000); + return GST_FLOW_ERROR; + } + + guint8* pData = map_info.data; + + if(pd->pWidget!=NULL) + { + if(map_info.size>4096) + { + //g_pTestDT-> + pd->pWidget->SetTextureData(pData, map_info.size); + + /* + + FILE* pFile = NULL; + pFile = fopen("test.data", "wb"); + fwrite(pData, 1280*720*1.5, 1, pFile); + fclose(pFile); + */ + + } + else + { + int a=0; + } + + } + else + { + FILE* pFile = NULL; + pFile = fopen("test.data", "wb"); + + fwrite(pData, 1280*720, 1, pFile); + + fclose(pFile); + } + + + + if(sample == NULL) { + return GST_FLOW_ERROR; + } + + gst_memory_unmap(memory, &map_info); + gst_memory_unref(memory); + gst_sample_unref(sample); + + usleep(1*1000); + + return GST_FLOW_OK; +} + + +GstFlowReturn QGstreamerPlayer::app_sink_new_sample(GstAppSink *sink, gpointer user_data) +{ + + GST_CustomData* pd = (GST_CustomData*)user_data; + GstSample* sample = NULL; + + if(pd->m_bShow==false) + { + pd->terminate = true; + //gst_element_set_state (pd->pipeline, GST_STATE_PAUSED); + + gst_bin_remove (GST_BIN (pd->pipeline), pd->source); + gst_element_set_state (pd->source, GST_STATE_NULL); + gst_object_unref (pd->source); + + gst_element_set_state (pd->pipeline, GST_STATE_NULL); + gst_object_unref (pd->pipeline); + + //gst_object_unref (pd->bus); + + //m_bTerminate = false; + //m_DataGST.terminate = false; + + return GST_FLOW_EOS; + } + + + //qDebug() << "app_sink_new_sample"; + + int nState = pd->pThread->GetState(); + if(nState>0) + { + //return GST_FLOW_OK; + } + + if(g_bSend==true) + { + //qDebug() << "track"; + //gst_element_set_state (pd->pipeline, GST_STATE_PAUSED); + } + + sample = gst_app_sink_pull_sample(sink); + if(sample==NULL) + { + qDebug() << "app_sink_new_sample ERROR"; + return GST_FLOW_CUSTOM_ERROR; + } + + QGstreamerPlayer* pPlayer = (QGstreamerPlayer*)pd->pPlayer; + + if(pPlayer->GetFrameWidth()==0 || pPlayer->GetFrameHeight()==0) + { + GstCaps* pCaps = NULL; + pCaps = gst_sample_get_caps(sample); + GstStructure* s = gst_caps_get_structure (pCaps, 0); + gint width, height; + int res = gst_structure_get_int (s, "width", &width) | gst_structure_get_int (s, "height", &height); + + pPlayer->SetFrameWidth(width); + pPlayer->SetFrameHeight(height); + + pd->pWidget->SetTextureSize(width, height); + + } + + //sample = gst_app_sink_pull_preroll(sink); + gboolean bEnabledLast = gst_base_sink_is_last_sample_enabled(GST_BASE_SINK(sink)); + + + + GstBuffer* buffer = gst_sample_get_buffer(sample); + + GstMemory* memory = gst_buffer_get_all_memory(buffer); + GstMapInfo map_info; + + if(! gst_memory_map(memory, &map_info, GST_MAP_READ)) { + gst_memory_unref(memory); + gst_sample_unref(sample); + + usleep(10*1000); + return GST_FLOW_ERROR; + } + + guint8* pData = map_info.data; + + if(pd->pWidget!=NULL && pd->m_bShow==true) + { + if(map_info.size>4096) + { + //g_pTestDT-> + if(pd->pWidget->isVisible()==false) + { + int a=0; + } + if(pd->pWidget->isActiveWindow()==false) + { + int a=0; + } + pd->pWidget->SetTextureData(pData, map_info.size); + + + + /* + FILE* pFile = NULL; + pFile = fopen("test.data", "wb"); + //fwrite(pData, 1280*720*1.5, 1, pFile); + fwrite(pData, 1920*1080*2, 1, pFile); + fclose(pFile); + */ + + + } + else + { + int a=0; + } + + } + else + { + if(pd->m_bShow==false) + { + int a=0; + } + /* + FILE* pFile = NULL; + pFile = fopen("test.data", "wb"); + + fwrite(pData, 1280*720, 1, pFile); + + fclose(pFile); + */ + } + + + + if(sample == NULL) { + return GST_FLOW_ERROR; + } + + gst_memory_unmap(memory, &map_info); + gst_memory_unref(memory); + gst_sample_unref(sample); + + //usleep(1*1000); + + return GST_FLOW_OK; +} + +void QGstreamerPlayer::pad_added_handler (GstElement *src, GstPad *new_pad, GST_CustomData *data) { + GstPad *sink_pad = gst_element_get_static_pad (data->sink, "sink"); + GstPadLinkReturn ret; + GstCaps *new_pad_caps = NULL; + GstStructure *new_pad_struct = NULL; + const gchar *new_pad_type = NULL; + + g_print ("Received new pad '%s' from '%s':\n", GST_PAD_NAME (new_pad), GST_ELEMENT_NAME (src)); + + /* If our converter is already linked, we have nothing to do here */ + if (gst_pad_is_linked (sink_pad)) { + g_print (" We are already linked. Ignoring.\n"); + goto exit; + } + + /* Check the new pad's type */ + new_pad_caps = gst_pad_get_allowed_caps (new_pad); + new_pad_struct = gst_caps_get_structure (new_pad_caps, 0); + new_pad_type = gst_structure_get_name (new_pad_struct); + if (!g_str_has_prefix (new_pad_type, "audio/x-raw")) { + g_print (" It has type '%s' which is not raw audio. Ignoring.\n", new_pad_type); + goto exit; + } + + /* Attempt the link */ + ret = gst_pad_link (new_pad, sink_pad); + if (GST_PAD_LINK_FAILED (ret)) { + g_print (" Type is '%s' but link failed.\n", new_pad_type); + } else { + g_print (" Link succeeded (type '%s').\n", new_pad_type); + } + +exit: + /* Unreference the new pad's caps, if we got them */ + if (new_pad_caps != NULL) + gst_caps_unref (new_pad_caps); + + /* Unreference the sink pad */ + gst_object_unref (sink_pad); +} + +void QGstreamerPlayer::SetThread(QRTSPThread *pThread) +{ + m_DataGST.pThread = pThread; +} + +void QGstreamerPlayer::SetVideoWidget(QVideoWidget *pWidget) +{ + m_pVideoWidget = pWidget; + m_DataGST.pWidget = pWidget; +} + +void QGstreamerPlayer::Seek(gint64 nPos) +{ + GstEvent *seek_event; + + m_DataGST.rate = 1.0; + + if(m_bSeeking==false) + { + m_nSeekPos = nPos; + qDebug() << nPos; + + m_bSeeking = true; + + //gst_element_set_state (m_DataGST.pipeline, GST_STATE_PLAYING); + + gst_element_seek_simple(m_DataGST.pipeline, GST_FORMAT_TIME, (GstSeekFlags)(GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE), nPos); + //seek_event = gst_event_new_seek (m_DataGST.rate, GST_FORMAT_TIME, (GstSeekFlags)(GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE | GST_SEEK_FLAG_KEY_UNIT), + //seek_event = gst_event_new_seek (m_DataGST.rate, GST_FORMAT_TIME, (GstSeekFlags)(GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE), + // GST_SEEK_TYPE_SET, nPos, GST_SEEK_TYPE_END, nPos); + + //gboolean bSend = gst_element_send_event (m_DataGST.pipeline, seek_event); + + //gst_element_set_state (m_DataGST.pipeline, GST_STATE_PAUSED); + //gst_element_send_event (m_DataGST.pipeline, gst_event_new_step (GST_FORMAT_BUFFERS, 1, m_DataGST.rate, TRUE, FALSE)); + + g_bSend = true; + } + else + { + m_ListSeeking.push_back(nPos); + } + + +} + +void QGstreamerPlayer::Pause() +{ + gst_element_set_state (m_DataGST.pipeline, GST_STATE_PAUSED); +} + +void QGstreamerPlayer::StartRTSP() +{ + gst_element_set_state (m_DataGST.pipeline, GST_STATE_PLAYING); + m_DataGST.m_bShow = true; + + m_pVideoWidget->setVisible(true); + m_pVideoWidget->activateWindow(); + m_pVideoWidget->setFocus(Qt::ActiveWindowFocusReason); + m_pVideoWidget->update(); + + return; + + +} + +void QGstreamerPlayer::StopRTSP() +{ + gst_element_set_state (m_DataGST.pipeline, GST_STATE_PAUSED); + return; + //m_DataGST.m_bShow = false; + m_DataGST.terminate = true; + //gst_element_set_state (m_DataGST.pipeline, GST_STATE_PAUSED); + gst_element_send_event (m_DataGST.pipeline, gst_event_new_eos ()); + return; + + //gst_element_set_state (m_DataGST.pipeline, GST_STATE_PAUSED); + + +} + +void QGstreamerPlayer::exitRTSP() +{ + m_DataGST.m_bShow = false; + + m_bTerminate = true; + + gst_element_set_state (m_DataGST.pipeline, GST_STATE_PLAYING); + usleep(100*1000); + gst_element_send_event (m_DataGST.pipeline, gst_event_new_eos ()); + return; + + //gst_element_set_state (m_DataGST.pipeline, GST_STATE_PAUSED); + + +} + +void QGstreamerPlayer::Resume() +{ + gst_element_set_state (m_DataGST.pipeline, GST_STATE_PLAYING); +} + +bool QGstreamerPlayer::IsSeeking() +{ + return m_bSeeking; +} + +gint64 QGstreamerPlayer::GetSeekPos() +{ + return m_nSeekPos; +} + +void QGstreamerPlayer::SetFrameWidth(int nWidth) +{ + m_nFrameWidth = nWidth; +} + +void QGstreamerPlayer::SetFrameHeight(int nHeight) +{ + m_nFrameHeight = nHeight; +} + +int QGstreamerPlayer::GetFrameWidth() +{ + return m_nFrameWidth; +} + +int QGstreamerPlayer::GetFrameHeight() +{ + return m_nFrameHeight; +} + +void QGstreamerPlayer::SaveFile(QString strFilename) +{ + +#ifdef __x86_64 + CustomDataSink *sink = g_new0 (CustomDataSink, 1); + GstPad *sinkpad; + GstPadTemplate *templ; + + //gst_element_set_state (m_DataGST.pipeline, GST_STATE_PAUSED); + templ = gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (m_DataGST.tee), "src_%u"); + + g_print ("add\n"); + + sink->m_pTeePad = gst_element_request_pad (m_DataGST.tee, templ, NULL, NULL); + + sink->m_pQueue = gst_element_factory_make ("queue", NULL); + sink->m_pConvert = gst_element_factory_make ("videoconvert", NULL); + sink->m_pSink = gst_element_factory_make ("filesink", NULL); + sink->m_pEncoder = gst_element_factory_make("x264enc", NULL); + sink->m_pParser = gst_element_factory_make("matroskamux", NULL); +// sink->m_pRate = gst_element_factory_make("videorate", NULL); +// sink->m_pCaps = gst_element_factory_make("capsfilter", "caps_scale"); + sink->removing = FALSE; + + + //GstElement* pQueue2 = gst_element_factory_make ("queue", NULL); + + + + gst_bin_add_many (GST_BIN (m_DataGST.pipeline), (GstElement*)gst_object_ref (sink->m_pQueue), + gst_object_ref (sink->m_pConvert), + gst_object_ref (sink->m_pEncoder), gst_object_ref (sink->m_pParser), //gst_object_ref (pQueue2), + gst_object_ref (sink->m_pSink), NULL); + + + + gboolean link_ok; + //link_ok = gst_element_link_filtered (sink->m_pRate, sink->m_pConvert, caps); + //gst_caps_unref (caps); + +// gst_element_link_many (sink->m_pQueue, sink->m_pRate, sink->m_pCaps, sink->m_pConvert, sink->m_pEncoder, sink->m_pParser, sink->m_pSink, NULL); + gst_element_link_many (sink->m_pQueue, sink->m_pConvert, sink->m_pEncoder, sink->m_pParser, //pQueue2, + sink->m_pSink, NULL); + + /* + GstCaps *caps; + + caps = gst_caps_new_simple ("video/x-raw", + //"format", G_TYPE_STRING, "I420", + //"width", G_TYPE_INT, 1920, + //"height", G_TYPE_INT, 1080, + "framerate", GST_TYPE_FRACTION, 60, 1, + NULL); + + */ + + + //g_object_set(G_OBJECT(sink->m_pCaps), "caps", caps, NULL); + + g_object_set (sink->m_pSink, "location", strFilename.toStdString().c_str(), NULL); + + g_object_set (sink->m_pEncoder, "bitrate", 10240, NULL); + g_object_set (sink->m_pEncoder, "byte-stream", true, NULL); + g_object_set (sink->m_pEncoder, "speed-preset", 1, NULL); + g_object_set (sink->m_pEncoder, "tune", 4, NULL); + + + g_object_set (sink->m_pSink, "sync", TRUE, NULL); + //g_object_set (sink->m_pSink, "sync", FALSE, NULL); + //g_object_set (sink->m_pSink, "-e", NULL); + + + + gst_element_sync_state_with_parent (sink->m_pQueue); + gst_element_sync_state_with_parent (sink->m_pConvert); + gst_element_sync_state_with_parent (sink->m_pEncoder); + gst_element_sync_state_with_parent (sink->m_pParser); + //gst_element_sync_state_with_parent (pQueue2); + gst_element_sync_state_with_parent (sink->m_pSink); + + sinkpad = gst_element_get_static_pad (sink->m_pQueue, "sink"); + gst_pad_link (sink->m_pTeePad, sinkpad); + gst_object_unref (sinkpad); + + g_print ("added\n"); + + m_DataGST.m_pSink = sink; +#else + + + + CustomDataSink *sink = g_new0 (CustomDataSink, 1); + GstPad *sinkpad; + GstPadTemplate *templ; + + //gst_element_set_state (m_DataGST.pipeline, GST_STATE_PAUSED); + templ = gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (m_DataGST.tee), "src_%u"); + + g_print ("add\n"); + + sink->m_pTeePad = gst_element_request_pad (m_DataGST.tee, templ, NULL, NULL); + + if(sink->m_pQueue==NULL) + { + sink->m_pQueue = gst_element_factory_make ("queue", NULL); + } + + //sink->m_pConvert = gst_element_factory_make ("videoconvert", NULL); + + if(sink->m_pConvert==NULL) + { + //sink->m_pConvert = gst_element_factory_make ("nvvidconv", NULL); + sink->m_pConvert = gst_element_factory_make ("videoconvert", NULL); + } + + sink->m_pSink = gst_element_factory_make ("filesink", NULL); + //sink->m_pSink = gst_element_factory_make ("fakesink", NULL); + +#ifdef __x86_64 + sink->m_pEncoder = gst_element_factory_make("x264enc", NULL); +#else + //sink->m_pEncoder = gst_element_factory_make("omxh264enc", NULL); + if(sink->m_pEncoder==NULL) + { + sink->m_pEncoder = gst_element_factory_make("nvv4l2h265enc", NULL); + usleep(100*1000); + } + +#endif + if(sink->m_pParser==NULL) + { + sink->m_pParser = gst_element_factory_make("h265parse", NULL); + } + + if(sink->m_pMuxer==NULL) + { + sink->m_pMuxer = gst_element_factory_make("matroskamux", NULL); + } + + //sink->m_pRate = gst_element_factory_make("videorate", NULL); + //sink->m_pCaps = gst_element_factory_make("capsfilter", "caps_scale"); + if(sink->m_pCaps==NULL) + { + sink->m_pCaps = gst_element_factory_make("capsfilter", "caps"); + } + + sink->removing = FALSE; + + + + //gst_bin_add_many (GST_BIN (m_DataGST.pipeline), (GstElement*) gst_object_ref (sink->m_pConvert), (GstElement*)gst_object_ref (sink->m_pQueue), + // gst_object_ref (sink->m_pEncoder), gst_object_ref(sink->m_pCaps), gst_object_ref (sink->m_pParser), gst_object_ref (sink->m_pMuxer), gst_object_ref (sink->m_pSink), NULL); + + gst_bin_add_many (GST_BIN (m_DataGST.pipeline), (GstElement*)gst_object_ref (sink->m_pQueue), gst_object_ref (sink->m_pConvert), + gst_object_ref (sink->m_pEncoder), gst_object_ref (sink->m_pCaps), gst_object_ref (sink->m_pParser), gst_object_ref (sink->m_pMuxer), gst_object_ref (sink->m_pSink), NULL); + + + + gboolean link_ok; + //link_ok = gst_element_link_filtered (sink->m_pRate, sink->m_pConvert, caps); + //gst_caps_unref (caps); + + //link_ok = gst_element_link_many (sink->m_pConvert, sink->m_pQueue, sink->m_pEncoder, sink->m_pCaps, sink->m_pParser, sink->m_pMuxer, sink->m_pSink, NULL); + //link_ok = gst_element_link_many (sink->m_pConvert, sink->m_pQueue, sink->m_pEncoder, sink->m_pParser, sink->m_pMuxer, sink->m_pSink, NULL); + link_ok = gst_element_link_many (sink->m_pQueue, sink->m_pConvert, sink->m_pEncoder, sink->m_pCaps, sink->m_pParser, sink->m_pMuxer, sink->m_pSink, NULL); + + //gst_element_link_many (sink->m_pQueue, sink->m_pRate, sink->m_pCaps, sink->m_pConvert, sink->m_pEncoder, sink->m_pParser, sink->m_pSink, NULL); + //gst_element_link_many (sink->m_pQueue, sink->m_pConvert, sink->m_pSink, NULL); + + GstCaps *caps; + +#ifdef __x86_64 + caps = gst_caps_new_simple ("video/x-raw", + "format", G_TYPE_STRING, "I420", + //"width", G_TYPE_INT, 1920, + //"height", G_TYPE_INT, 1080, + "framerate", GST_TYPE_FRACTION, 60, 1, + NULL); +#else + caps = gst_caps_new_simple ("video/x-h265", + "stream-format", G_TYPE_STRING, "byte-stream", + //"width", G_TYPE_INT, 384, + //"height", G_TYPE_INT, 288, + //"framerate", GST_TYPE_FRACTION, 30, 1, + NULL); +#endif + + + + g_object_set(G_OBJECT(sink->m_pCaps), "caps", caps, NULL); + + g_object_set (sink->m_pSink, "location", strFilename.toStdString().c_str(), NULL); + +#ifdef __x86_64 + g_object_set (sink->m_pEncoder, "bitrate", 10000); +#else + //g_object_set (G_OBJECT(sink->m_pEncoder), "bitrate", 60000000, "peak-bitrate", 150000000); + + g_object_set (sink->m_pEncoder, "bitrate", 10000000, NULL); + g_object_set (sink->m_pEncoder, "peak-bitrate", 16000000, NULL); + g_object_set (sink->m_pEncoder, "control-rate", 0, NULL); + g_object_set (sink->m_pEncoder, "bit-packetization", true, NULL); + g_object_set (sink->m_pEncoder, "EnableTwopassCBR", true, NULL); + g_object_set (sink->m_pEncoder, "insert-aud", true, NULL); + g_object_set (sink->m_pEncoder, "iframeinterval", 10, NULL); + g_object_set (sink->m_pEncoder, "maxperf-enable", true, NULL); + g_object_set (sink->m_pEncoder, "profile", 1, NULL); + g_object_set (sink->m_pEncoder, "vbv-size", 10000000, NULL); + g_object_set (sink->m_pEncoder, "preset-level", 1, NULL); + g_object_set (sink->m_pEncoder, "insert-sps-pps", true, NULL); +#endif + + g_object_set (sink->m_pSink, "sync", TRUE, NULL); + + + gst_element_sync_state_with_parent (sink->m_pQueue); + + gst_element_sync_state_with_parent (sink->m_pConvert); + + //gst_element_sync_state_with_parent (sink->m_pRate); + + gst_element_sync_state_with_parent (sink->m_pEncoder); + gst_element_sync_state_with_parent (sink->m_pCaps); + + gst_element_sync_state_with_parent (sink->m_pParser); + + gst_element_sync_state_with_parent (sink->m_pMuxer); + + gst_element_sync_state_with_parent (sink->m_pSink); + + + + sinkpad = gst_element_get_static_pad (sink->m_pQueue, "sink"); + + + + gst_pad_link (sink->m_pTeePad, sinkpad); + + /* + gst_element_set_state(m_DataGST.pipeline, GST_STATE_PLAYING); + + + GstState checkState; + gst_element_get_state(m_DataGST.pipeline, &checkState, NULL, 0); + while(checkState==GST_STATE_PAUSED) + { + gst_element_set_state(m_DataGST.pipeline, GST_STATE_PLAYING); + usleep(100*1000); + gst_element_get_state(m_DataGST.pipeline, &checkState, NULL, 0); + + } + + GstStateChangeReturn ret = gst_element_set_state (sink->m_pQueue, GST_STATE_PLAYING); + + gst_pad_send_event (sinkpad, gst_event_new_stream_start ("test")); + */ + + gst_object_unref (sinkpad); + + g_print ("added\n"); + + + m_DataGST.m_pSink = sink; + + /* + GstPad *pPadSinkSink = NULL; + pPadSinkSink = gst_element_get_static_pad (sink->m_pSink, "sink"); + + ret = gst_element_set_state (sink->m_pSink, GST_STATE_PAUSED); + + gst_pad_send_event (pPadSinkSink, gst_event_new_stream_start ("test")); + + usleep(1000*1000); + + gst_element_set_state(m_DataGST.pipeline, GST_STATE_PLAYING); + + ret = gst_element_set_state (sink->m_pSink, GST_STATE_PLAYING); + */ +#endif +} + +void QGstreamerPlayer::SaveEnd() +{ + CustomDataSink* sink =m_DataGST.m_pSink; + + if(sink==NULL) + { + return; + } + + GST_CustomData* pData = (GST_CustomData*)&m_DataGST; + + GstPad *sinkpad; + + sink->removing = TRUE; + + sinkpad = gst_element_get_static_pad (sink->m_pQueue, "sink"); + + GstElement* pPipeLine = m_DataGST.pipeline; + /* + + + GstStateChangeReturn ret = gst_element_set_state (pPipeLine, GST_STATE_PAUSED); + ret = gst_element_set_state (pPipeLine, GST_STATE_READY); + ret = gst_element_set_state (pPipeLine, GST_STATE_PLAYING); + return; + */ + + gst_pad_send_event (sinkpad, gst_event_new_eos ()); + //gst_element_send_event (pPipeLine, gst_event_new_eos ()); + gst_pad_unlink (sink->m_pTeePad, sinkpad); + + gst_object_unref (sinkpad); + //return; + + usleep(100*1000); + + + +#ifdef __x86_64 + //return; + + //gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pRate); + //gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pCaps); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pConvert); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pSink); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pEncoder); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pParser); + + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pQueue); + + + + gst_element_set_state (pData->m_pSink->m_pQueue, GST_STATE_NULL); + //gst_element_set_state (pData->m_pSink->m_pRate, GST_STATE_NULL); + //gst_element_set_state (pData->m_pSink->m_pCaps, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pConvert, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pSink, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pEncoder, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pParser, GST_STATE_NULL); + + + + gst_object_unref (pData->m_pSink->m_pQueue); + //gst_object_unref (pData->m_pSink->m_pRate); + //gst_object_unref (pData->m_pSink->m_pCaps); + gst_object_unref (pData->m_pSink->m_pConvert); + gst_object_unref (pData->m_pSink->m_pSink); + gst_object_unref (pData->m_pSink->m_pEncoder); + gst_object_unref (pData->m_pSink->m_pParser); +#else + + //gst_pad_send_event (sinkpad, gst_event_new_eos ()); + //gst_element_send_event (pPipeLine, gst_event_new_eos ()); + //gst_pad_unlink (sink->m_pTeePad, sinkpad); + + //gst_object_unref (sinkpad); + //return; + + //usleep(1000*1000); + + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pQueue); + //gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pRate); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pMuxer); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pCaps); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pConvert); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pSink); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pEncoder); + gst_bin_remove (GST_BIN (pData->pipeline), pData->m_pSink->m_pParser); + + gst_element_set_state (pData->m_pSink->m_pQueue, GST_STATE_NULL); + //gst_element_set_state (pData->m_pSink->m_pRate, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pCaps, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pMuxer, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pConvert, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pSink, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pEncoder, GST_STATE_NULL); + gst_element_set_state (pData->m_pSink->m_pParser, GST_STATE_NULL); + + //gst_object_unref (pData->m_pSink->m_pQueue); + //gst_object_unref (pData->m_pSink->m_pRate); + //gst_object_unref (pData->m_pSink->m_pCaps); + //gst_object_unref (pData->m_pSink->m_pMuxer); + //gst_object_unref (pData->m_pSink->m_pConvert); + gst_object_unref (pData->m_pSink->m_pSink); + //gst_object_unref (pData->m_pSink->m_pEncoder); + //gst_object_unref (pData->m_pSink->m_pParser); +#endif + + gst_element_release_request_pad (pData->tee, pData->m_pSink->m_pTeePad); + gst_object_unref (pData->m_pSink->m_pTeePad); + + pData->m_pSink = NULL; + + usleep(100*1000); +} + +void QGstreamerPlayer::CaptureImage() +{ + m_bCaptureImage = true; +} diff --git a/qopenglbufferbase.cpp b/qopenglbufferbase.cpp new file mode 100644 index 0000000..aa66c1d --- /dev/null +++ b/qopenglbufferbase.cpp @@ -0,0 +1,173 @@ +#include "qopenglbufferbase.h" +using namespace SOPENGL; + + + +QOpenGLBufferBase::QOpenGLBufferBase(QOpenGLContext *pContext, QSurfaceFormat surfaceformat, QObject *parent): + QObject(parent), m_SurfaceFormatParent(surfaceformat), m_pContext(pContext) +{ + m_pShaderThumbnail = new QGLSLShader; + + int i=0; + for(i=0 ; i<18 ; i++) + { + m_fNormalRect[i] = -1; + } + + GLfloat afTexCoord[] = { + 0.0f,1.0f, 1.0f,1.0f, 0.0f,0.0f, + 1.0f,0.0f, 0.0f,0.0f, 1.0f,1.0f + }; + + memcpy(m_fNormalRectTexture, afTexCoord, sizeof(GLfloat)*2*6); + +} + +QOpenGLBufferBase::~QOpenGLBufferBase() +{ + +} + +void QOpenGLBufferBase::initializeGL() +{ + m_pFBO = new QOpenGLFramebufferObject(m_rectDisplay.width(), m_rectDisplay.height(), QOpenGLFramebufferObject::CombinedDepthStencil, GL_TEXTURE_2D, (int)QOpenGLTexture::RGBA8_UNorm); + + m_pOffScreen = new QOffscreenSurface(); + m_pOffScreen->setFormat(m_SurfaceFormatParent); + m_pOffScreen->create(); + + char *pSrcVertex = + "#version 300 es\n" + "attribute highp vec4 vertex;\n" + "attribute highp vec4 texCoord;\n" + "uniform mediump mat4 matrix;\n" + "varying highp vec4 texc;\n" + "void main(void)\n" + "{\n" + " gl_Position = matrix * vertex;\n" + " texc = texCoord;\n" + "}\n"; + + char *pSrcFragment = + "#version 300 es\n" + "in highp vec4 texc;\n" + "uniform sampler2D tex;\n" + "uniform lowp int nImageWidth;\n" + "uniform lowp int nImageHeight;\n" + "uniform lowp int nDisplayType;\n" + "out lowp vec4 FragColor;\n" + "void main(void)\n" + "{\n" + " lowp vec4 color = texture2D(tex, texc.st);\n" + " FragColor = vec4(color);\n" + "}\n"; + + m_pShaderThumbnail->CreateShader((const char*)pSrcVertex, (const char*)pSrcFragment); + + + + if (!m_VBOThumbnail.isCreated()) { + MakeRectNormal(m_rectDisplay, QSize(1920, 1080)); + m_VBOThumbnail.create(); + m_VBOThumbnail.bind(); + + m_VBOThumbnail.allocate(6 * 5 * sizeof(GLfloat)); + m_VBOThumbnail.write(0, m_fNormalRect, 6*3*sizeof(GLfloat)); + m_VBOThumbnail.write(6*3*sizeof(GLfloat), m_fNormalRectTexture, 6*2*sizeof(GLfloat)); + //m_VBOVideo.write(6*5*sizeof(GLfloat), afNormals, 6*3*sizeof(GLfloat)); + + m_VBOThumbnail.release(); + } + +} + + +float QOpenGLBufferBase::MakeNormalize(int nPos, int nRange) +{ + float fData = 0.0f; + + //fData = (float)(nPos-nRange/2.0)/(float)(nRange/2.0); + + fData = (float)nPos/(float)(nRange/2) - 1.0f; + return fData; +} + +void QOpenGLBufferBase::MakeRectNormal(const QRect &rect, QSize rectSize) +{ + float fLeft = MakeNormalize(rect.left(), rectSize.width()); + float fTop = MakeNormalize(rect.top(), rectSize.height()) * -1.0f; + float fRight = MakeNormalize(rect.right(), rectSize.width()); + float fBottom = MakeNormalize(rect.bottom(), rectSize.height()) * -1.0f; + //lefttop + m_fNormalRect[0] = fLeft; + m_fNormalRect[1] = fBottom; + + //righttop + m_fNormalRect[3] = fRight; + m_fNormalRect[4] = fBottom; + + //leftbottom + m_fNormalRect[6] = fLeft; + m_fNormalRect[7] = fTop; + + //rightbottom + m_fNormalRect[9] = fRight; + m_fNormalRect[10] = fTop; + + //leftbottom + m_fNormalRect[12] = fLeft; + m_fNormalRect[13] = fTop; + + //righttop + m_fNormalRect[15] = fRight; + m_fNormalRect[16] = fBottom; +} + +void QOpenGLBufferBase::MakeRectNormalFlip(const QRect &rect, QSize rectSize) +{ + float fLeft = MakeNormalize(rect.left(), rectSize.width()); + float fTop = MakeNormalize(rect.top(), rectSize.height()) * 1.0f; + float fRight = MakeNormalize(rect.right(), rectSize.width()); + float fBottom = MakeNormalize(rect.bottom(), rectSize.height()) * 1.0f; + //lefttop + m_fNormalRect[0] = fLeft; + m_fNormalRect[1] = fBottom; + + //righttop + m_fNormalRect[3] = fRight; + m_fNormalRect[4] = fBottom; + + //leftbottom + m_fNormalRect[6] = fLeft; + m_fNormalRect[7] = fTop; + + //rightbottom + m_fNormalRect[9] = fRight; + m_fNormalRect[10] = fTop; + + //leftbottom + m_fNormalRect[12] = fLeft; + m_fNormalRect[13] = fTop; + + //righttop + m_fNormalRect[15] = fRight; + m_fNormalRect[16] = fBottom; +} + +void QOpenGLBufferBase::MakeRectNormalWithOffset(const QRect &rect, QSize rectSize, QSize rectOffset) +{ + QRect rectNormal; + int nX = 0; + int nY = 0; + int nWidth = 0; + int nHeight = 0; + + nX = rect.left() - rectOffset.width(); + nY = rect.top() - rectOffset.height(); + nWidth = rect.width(); + nHeight = rect.height(); + + rectNormal = QRect(nX, nY, nWidth, nHeight); + + MakeRectNormalFlip(rectNormal, rectSize); +} diff --git a/qopenglbufferbase.h b/qopenglbufferbase.h new file mode 100644 index 0000000..dc113f4 --- /dev/null +++ b/qopenglbufferbase.h @@ -0,0 +1,50 @@ +#ifndef QOPENGLBUFFERBASE_H +#define QOPENGLBUFFERBASE_H + +#include + +#include "qopengltexturebutton.h" +#include "qglslshader.h" +#include +#include + +#include + +namespace SOPENGL +{ + class QOpenGLBufferBase : public QObject + { + Q_OBJECT + public: + explicit QOpenGLBufferBase(QOpenGLContext* pContext, QSurfaceFormat surfaceformat, QObject *parent = 0); + virtual ~QOpenGLBufferBase(); + + virtual void initializeGL(); + + virtual float MakeNormalize(int nPos, int nRange); + virtual void MakeRectNormal(const QRect& rect, QSize rectSize); + virtual void MakeRectNormalFlip(const QRect& rect, QSize rectSize); + virtual void MakeRectNormalWithOffset(const QRect& rect, QSize rectSize, QSize rectOffset); + + signals: + + public slots: + + protected: + QOpenGLFramebufferObject* m_pFBO; + QOffscreenSurface* m_pOffScreen; + QOpenGLContext* m_pContext; + QSurfaceFormat m_SurfaceFormatParent; + + + GLfloat m_fNormalRect[18]; + GLfloat m_fNormalRectTexture[12]; + + QGLSLShader* m_pShaderThumbnail; + QOpenGLBuffer m_VBOThumbnail; + QRect m_rectDisplay; + }; +} + + +#endif // QOPENGLBUFFERBASE_H diff --git a/qopenglbuffermenu.cpp b/qopenglbuffermenu.cpp new file mode 100644 index 0000000..8fef27c --- /dev/null +++ b/qopenglbuffermenu.cpp @@ -0,0 +1,253 @@ +#include "qopenglbuffermenu.h" +using namespace SOPENGL; + + +QOpenGLBufferMenu::QOpenGLBufferMenu(QOpenGLContext *pContext, QSurfaceFormat surfaceformat, QObject *parent) + :QOpenGLBufferBase(pContext, surfaceformat, parent) +{ + m_bRecording = false; + m_bCapturing = false; + m_bThumbnailView = false; + m_pButtonRecord = NULL; + m_pButtonCapture = NULL; + m_pButtonThumbnailView = NULL; +} + +QOpenGLBufferMenu::~QOpenGLBufferMenu() +{ + +} + +void QOpenGLBufferMenu::initializeGL() +{ + m_rectDisplay = QRect(1920-128, 0, 128, 1080); + QOpenGLBufferBase::initializeGL(); + + m_pButtonRecord = new QOpenGLTextureButton; + m_pButtonCapture = new QOpenGLTextureButton; + m_pButtonThumbnailView = new QOpenGLTextureButton; + + m_pButtonRecord->LoadImage(":/images/images/opengl_record_normal.png", ":/images/images/opengl_record_clicked.png"); + m_pButtonCapture->LoadImage(":/images/images/opengl_capture_normal.png", ":/images/images/opengl_capture_clicked.png"); + m_pButtonThumbnailView->LoadImage(":/images/images/opengl_thumbnail_hide.png", ":/images/images/opengl_thumbnail_view.png"); + + m_rectRecord = QRect(m_rectDisplay.left(), m_rectDisplay.top()+m_rectDisplay.height()/2-128-20, 128, 128); + m_rectRecordSmall = QRect(m_rectRecord.left()/2, m_rectRecord.top()/2, m_rectRecord.width()/2, m_rectRecord.height()/2); + + m_rectCapture = QRect(m_rectDisplay.left(), m_rectDisplay.top()+m_rectDisplay.height()/2, 128, 128); + m_rectCaptureSmall = QRect(m_rectCapture.left()/2, m_rectCapture.top()/2, m_rectCapture.width()/2, m_rectCapture.height()/2); + + m_rectThumbnailView = QRect(m_rectDisplay.left(), m_rectDisplay.bottom()-128, 128, 128); + m_rectThumbnailViewSmall = QRect(m_rectThumbnailView.left()/2, m_rectThumbnailView.top()/2, m_rectThumbnailView.width()/2, m_rectThumbnailView.height()/2); + + + if (!m_VBORecord.isCreated()) { + MakeRectNormalWithOffset(m_rectRecord, QSize(m_rectDisplay.width(), m_rectDisplay.height()), QSize(m_rectDisplay.left(), m_rectDisplay.top())); + + m_VBORecord.create(); + m_VBORecord.bind(); + + m_VBORecord.allocate(6 * 5 * sizeof(GLfloat)); + m_VBORecord.write(0, m_fNormalRect, 6*3*sizeof(GLfloat)); + m_VBORecord.write(6*3*sizeof(GLfloat), m_fNormalRectTexture, 6*2*sizeof(GLfloat)); + //m_VBOVideo.write(6*5*sizeof(GLfloat), afNormals, 6*3*sizeof(GLfloat)); + + m_VBORecord.release(); + } + + + if (!m_VBOCapture.isCreated()) { + MakeRectNormalWithOffset(m_rectCapture, QSize(m_rectDisplay.width(), m_rectDisplay.height()), QSize(m_rectDisplay.left(), m_rectDisplay.top())); + + m_VBOCapture.create(); + m_VBOCapture.bind(); + + m_VBOCapture.allocate(6 * 5 * sizeof(GLfloat)); + m_VBOCapture.write(0, m_fNormalRect, 6*3*sizeof(GLfloat)); + m_VBOCapture.write(6*3*sizeof(GLfloat), m_fNormalRectTexture, 6*2*sizeof(GLfloat)); + //m_VBOVideo.write(6*5*sizeof(GLfloat), afNormals, 6*3*sizeof(GLfloat)); + + m_VBOCapture.release(); + } + + + if (!m_VBOThumbnailView.isCreated()) { + MakeRectNormalWithOffset(m_rectThumbnailView, QSize(m_rectDisplay.width(), m_rectDisplay.height()), QSize(m_rectDisplay.left(), m_rectDisplay.top())); + + m_VBOThumbnailView.create(); + m_VBOThumbnailView.bind(); + + m_VBOThumbnailView.allocate(6 * 5 * sizeof(GLfloat)); + m_VBOThumbnailView.write(0, m_fNormalRect, 6*3*sizeof(GLfloat)); + m_VBOThumbnailView.write(6*3*sizeof(GLfloat), m_fNormalRectTexture, 6*2*sizeof(GLfloat)); + //m_VBOVideo.write(6*5*sizeof(GLfloat), afNormals, 6*3*sizeof(GLfloat)); + + m_VBOThumbnailView.release(); + } +} + +void QOpenGLBufferMenu::Paint() +{ + m_pShaderThumbnail->Bind(); + m_pShaderThumbnail->SetUniformValue(); + m_pShaderThumbnail->EnableAttributeArray(); + + m_VBOThumbnail.bind(); + // In the buffer we first have 36 vertices (3 floats for each), then 36 texture + // coordinates (2 floats for each), then 36 normals (3 floats for each). + m_pShaderThumbnail->SetAttributeBuffer(); + m_VBOThumbnail.release(); + + int nTextureID = m_pFBO->texture(); + glBindTexture(GL_TEXTURE_2D, nTextureID); + glDrawArrays(GL_TRIANGLES, 0, 6); + glBindTexture(GL_TEXTURE_2D, 0); + + m_pShaderThumbnail->DisableAttributeArray(); + m_pShaderThumbnail->Release(); +} + +void QOpenGLBufferMenu::PaintBuffer() +{ + QOpenGLTexture* pTexture = NULL; + + m_pContext->makeCurrent(m_pOffScreen); + glViewport(0, 0, m_pFBO->width(), m_pFBO->height()); + + //glFrontFace(GL_CW); + //glCullFace(GL_FRONT); + //glEnable(GL_CULL_FACE); + glDisable(GL_DEPTH_TEST); + glEnable(GL_BLEND); + + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + m_pFBO->bind(); + + glClearColor(1.0f, 1.0f, 1.0f, 0.3f); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + m_pShaderThumbnail->Bind(); + m_pShaderThumbnail->SetUniformValue(); + + m_pShaderThumbnail->EnableAttributeArray(); + + m_VBOCapture.bind(); + m_pShaderThumbnail->SetAttributeBuffer(); + m_VBOCapture.release(); + + if(m_bCapturing==false) + { + pTexture = m_pButtonCapture->GetTextureNormal(); + } + else + { + pTexture = m_pButtonCapture->GetTextureClicked(); + } + + pTexture->bind(); + glDrawArrays(GL_TRIANGLES, 0, 6); + pTexture->release(); + + + + + + m_VBORecord.bind(); + m_pShaderThumbnail->SetAttributeBuffer(); + m_VBORecord.release(); + + if(m_bRecording==false) + { + pTexture = m_pButtonRecord->GetTextureNormal(); + } + else + { + pTexture = m_pButtonRecord->GetTextureClicked(); + } + + pTexture->bind(); + glDrawArrays(GL_TRIANGLES, 0, 6); + pTexture->release(); + + + + + m_VBOThumbnailView.bind(); + m_pShaderThumbnail->SetAttributeBuffer(); + m_VBOThumbnailView.release(); + + if(m_bThumbnailView==false) + { + pTexture = m_pButtonThumbnailView->GetTextureNormal(); + } + else + { + pTexture = m_pButtonThumbnailView->GetTextureClicked(); + } + + pTexture->bind(); + glDrawArrays(GL_TRIANGLES, 0, 6); + pTexture->release(); + + + + + m_pShaderThumbnail->DisableAttributeArray(); + + m_pShaderThumbnail->Release(); +} + +void QOpenGLBufferMenu::CheckRegion(int nX, int nY) +{ + if(m_rectRecord.contains(nX, nY)==true) + { + m_bRecording = !m_bRecording; + SendRecord(m_bRecording); + } + + if(m_rectCapture.contains(nX, nY)==true) + { + m_bCapturing = !m_bCapturing; + if(m_bCapturing==true) + { + SendSaveBitmap(); + } + } + + if(m_rectThumbnailView.contains(nX, nY)==true) + { + m_bThumbnailView = !m_bThumbnailView; + SendViewThumbnail(m_bThumbnailView); + } +} + +void QOpenGLBufferMenu::CheckRegionSmall(int nX, int nY) +{ + if(m_rectRecordSmall.contains(nX, nY)==true) + { + m_bRecording = !m_bRecording; + SendRecord(m_bRecording); + } + + if(m_rectCaptureSmall.contains(nX, nY)==true) + { + m_bCapturing = !m_bCapturing; + + if(m_bCapturing==true) + { + SendSaveBitmap(); + } + } + + if(m_rectThumbnailViewSmall.contains(nX, nY)==true) + { + m_bThumbnailView = !m_bThumbnailView; + SendViewThumbnail(m_bThumbnailView); + } +} + +void QOpenGLBufferMenu::SetCapture(bool bCapture) +{ + m_bCapturing = bCapture; +} diff --git a/qopenglbuffermenu.h b/qopenglbuffermenu.h new file mode 100644 index 0000000..96df197 --- /dev/null +++ b/qopenglbuffermenu.h @@ -0,0 +1,56 @@ +#ifndef QOPENGLBUFFERMENU_H +#define QOPENGLBUFFERMENU_H + +#include "qopenglbufferbase.h" + +namespace SOPENGL +{ + class QOpenGLBufferMenu : public QOpenGLBufferBase + { + Q_OBJECT + public: + explicit QOpenGLBufferMenu(QOpenGLContext* pContext, QSurfaceFormat surfaceformat, QObject *parent = 0); + virtual ~QOpenGLBufferMenu(); + + virtual void initializeGL(); + virtual void Paint(); + virtual void PaintBuffer(); + + void CheckRegion(int nX, int nY); + void CheckRegionSmall(int nX, int nY); + + void SetCapture(bool bCapture); + + signals: + void SendRecord(bool bRecord); + void SendSaveBitmap(); + void SendViewThumbnail(bool bView); + + public slots: + + protected: + bool m_bRecording; + bool m_bCapturing; + bool m_bThumbnailView; + + QOpenGLTextureButton* m_pButtonRecord; + QOpenGLTextureButton* m_pButtonCapture; + QOpenGLTextureButton* m_pButtonThumbnailView; + + QOpenGLBuffer m_VBORecord; + QOpenGLBuffer m_VBOCapture; + QOpenGLBuffer m_VBOThumbnailView; + + + QRect m_rectRecord; + QRect m_rectRecordSmall; + QRect m_rectThumbnailView; + QRect m_rectThumbnailViewSmall; + + QRect m_rectCapture; + QRect m_rectCaptureSmall; + }; +} + + +#endif // QOPENGLBUFFERMENU_H diff --git a/qopenglbufferthumbnail.cpp b/qopenglbufferthumbnail.cpp new file mode 100644 index 0000000..5623503 --- /dev/null +++ b/qopenglbufferthumbnail.cpp @@ -0,0 +1,396 @@ +#include "qopenglbufferthumbnail.h" +using namespace SOPENGL; + +QOpenGLBufferThumbnail::QOpenGLBufferThumbnail(QOpenGLContext* pContext, QSurfaceFormat surfaceformat, QObject *parent) : + QOpenGLBufferBase(pContext, surfaceformat, parent) +{ + m_pButtonNext = NULL; + m_pButtonPrev = NULL; + + m_pThumbnailTextureList = new QList; + m_pThumbnailFileList = new QList; + + m_bPrevClicked = false; + m_bNextClicked = false; + + + + +} + +QOpenGLBufferThumbnail::~QOpenGLBufferThumbnail() +{ + ResetThumbnailTexture(); + if(m_pThumbnailTextureList!=NULL) + { + delete m_pThumbnailTextureList; + m_pThumbnailTextureList = NULL; + } + + if(m_pThumbnailFileList!=NULL) + { + delete m_pThumbnailFileList; + m_pThumbnailFileList = NULL; + } +} + +void QOpenGLBufferThumbnail::ResetThumbnailTexture() +{ + m_pThumbnailFileList->clear(); + + int nTexture = 0; + nTexture = m_pThumbnailTextureList->size(); + + QList::iterator it; + for(it=m_pThumbnailTextureList->begin() ; it!=m_pThumbnailTextureList->end() ; ++it) + { + QOpenGLTexture* pTexture = *it; + if(pTexture!=NULL) + { + pTexture->destroy(); + delete pTexture; + } + } + + m_pThumbnailTextureList->clear(); +} + +void QOpenGLBufferThumbnail::initializeGL() +{ + m_rectDisplay = QRect(0, 1080-128, 1920-128, 128); + QOpenGLBufferBase::initializeGL(); + + m_pButtonPrev = new QOpenGLTextureButton; + m_pButtonNext = new QOpenGLTextureButton; + + m_pThumbnailHover = new QOpenGLTextureButton; + + m_pButtonPrev->LoadImage(":/images/images/left.png", ":/images/images/left_click.png"); + m_pButtonNext->LoadImage(":/images/images/right.png", ":/images/images/right_click.png"); + m_pThumbnailHover->LoadImage(":/images/images/thumbnail_hover.png", ":/images/images/thumbnail_select.png"); + + + + m_rectPrev = QRect(0, m_rectDisplay.top(), 52, 128); + m_rectNext = QRect(m_rectDisplay.right()-52, m_rectDisplay.top(), 52, 128); + m_rectPrevSmall = QRect(m_rectPrev.left()/2, m_rectPrev.top()/2, m_rectPrev.width()/2, m_rectPrev.height()/2); + m_rectNextSmall = QRect(m_rectNext.left()/2, m_rectNext.top()/2, m_rectNext.width()/2, m_rectNext.height()/2); + + int i=0; + + int nGabWidth = 0; + nGabWidth = (m_rectDisplay.width()-52*2)/8; + for(i=0 ; i<8 ; i++) + { + m_rectThumbnail[i] = QRect(52+i*nGabWidth, m_rectDisplay.top(), nGabWidth, m_rectDisplay.height()); + m_rectThumbnailSmall[i] = QRect(m_rectThumbnail[i].left()/2, m_rectThumbnail[i].top()/2, m_rectThumbnail[i].width()/2, m_rectThumbnail[i].height()/2); + m_bThumbnailHover[i] = false; + } + + + + for(i=0 ; i<8 ; i++) + { + if (!m_VBOTest[i].isCreated()) { + + MakeRectNormalWithOffset(m_rectThumbnail[i], QSize(m_rectDisplay.width(), m_rectDisplay.height()), QSize(m_rectDisplay.left(), m_rectDisplay.top())); + + m_VBOTest[i].create(); + m_VBOTest[i].bind(); + + m_VBOTest[i].allocate(6 * 5 * sizeof(GLfloat)); + m_VBOTest[i].write(0, m_fNormalRect, 6*3*sizeof(GLfloat)); + m_VBOTest[i].write(6*3*sizeof(GLfloat), m_fNormalRectTexture, 6*2*sizeof(GLfloat)); + //m_VBOVideo.write(6*5*sizeof(GLfloat), afNormals, 6*3*sizeof(GLfloat)); + + m_VBOTest[i].release(); + } + } + + + if (!m_VBOPrev.isCreated()) { + MakeRectNormalWithOffset(m_rectPrev, QSize(m_rectDisplay.width(), m_rectDisplay.height()), QSize(m_rectDisplay.left(), m_rectDisplay.top())); + + + m_VBOPrev.create(); + m_VBOPrev.bind(); + + m_VBOPrev.allocate(6 * 5 * sizeof(GLfloat)); + m_VBOPrev.write(0, m_fNormalRect, 6*3*sizeof(GLfloat)); + m_VBOPrev.write(6*3*sizeof(GLfloat), m_fNormalRectTexture, 6*2*sizeof(GLfloat)); + //m_VBOVideo.write(6*5*sizeof(GLfloat), afNormals, 6*3*sizeof(GLfloat)); + + m_VBOPrev.release(); + } + + if (!m_VBONext.isCreated()) { + MakeRectNormalWithOffset(m_rectNext, QSize(m_rectDisplay.width(), m_rectDisplay.height()), QSize(m_rectDisplay.left(), m_rectDisplay.top())); + + + m_VBONext.create(); + m_VBONext.bind(); + + m_VBONext.allocate(6 * 5 * sizeof(GLfloat)); + m_VBONext.write(0, m_fNormalRect, 6*3*sizeof(GLfloat)); + m_VBONext.write(6*3*sizeof(GLfloat), m_fNormalRectTexture, 6*2*sizeof(GLfloat)); + //m_VBOVideo.write(6*5*sizeof(GLfloat), afNormals, 6*3*sizeof(GLfloat)); + + m_VBONext.release(); + } +} + +void QOpenGLBufferThumbnail::InitState() +{ + m_bPrevClicked = false; + m_bNextClicked = false; + + int i=0; + for(i=0 ; i<8 ; i++) + { + m_bThumbnailHover[i] = false; + } +} + +void QOpenGLBufferThumbnail::CheckRegion(int nX, int nY) +{ + if(m_rectPrev.contains(nX, nY)==true) + { + m_bPrevClicked = true; + } + else + { + m_bPrevClicked = false; + } + + if(m_rectNext.contains(nX, nY)==true) + { + m_bNextClicked = true; + } + else + { + m_bNextClicked = false; + } + + int i=0; + for(i=0 ; i<8 ; i++) + { + if(m_rectThumbnail[i].contains(nX, nY)==true) + { + m_bThumbnailHover[i] = true; + } + else + { + m_bThumbnailHover[i] = false; + } + } +} + +void QOpenGLBufferThumbnail::CheckRegionSmall(int nX, int nY) +{ + if(m_rectPrevSmall.contains(nX, nY)==true) + { + m_bPrevClicked = true; + } + else + { + m_bPrevClicked = false; + } + + if(m_rectNextSmall.contains(nX, nY)==true) + { + m_bNextClicked = true; + } + else + { + m_bNextClicked = false; + } + + int i=0; + for(i=0 ; i<8 ; i++) + { + if(m_rectThumbnailSmall[i].contains(nX, nY)==true) + { + m_bThumbnailHover[i] = true; + } + else + { + m_bThumbnailHover[i] = false; + } + } + +} + +void QOpenGLBufferThumbnail::Paint() +{ + m_pShaderThumbnail->Bind(); + m_pShaderThumbnail->SetUniformValue(); + + int nSec = m_StartTime.elapsed(); + float fY = (float)nSec/1000; + if(nSec>500) + { + fY = 0.5; + } + m_pShaderThumbnail->Translate(0.0f, -0.5+fY, 0.0f); + + m_pShaderThumbnail->EnableAttributeArray(); + + + + + m_VBOThumbnail.bind(); + // In the buffer we first have 36 vertices (3 floats for each), then 36 texture + // coordinates (2 floats for each), then 36 normals (3 floats for each). + m_pShaderThumbnail->SetAttributeBuffer(); + m_VBOThumbnail.release(); + + + + int nTextureID = m_pFBO->texture(); + glBindTexture(GL_TEXTURE_2D, nTextureID); + glDrawArrays(GL_TRIANGLES, 0, 6); + glBindTexture(GL_TEXTURE_2D, 0); + + + + + + + m_pShaderThumbnail->DisableAttributeArray(); + + m_pShaderThumbnail->Release(); +} + +void QOpenGLBufferThumbnail::PaintBuffer() +{ + QOpenGLTexture* pTexture = NULL; + + m_pContext->makeCurrent(m_pOffScreen); + glViewport(0, 0, m_pFBO->width(), m_pFBO->height()); + + //glFrontFace(GL_CW); + //glCullFace(GL_FRONT); + //glEnable(GL_CULL_FACE); + glDisable(GL_DEPTH_TEST); + glEnable(GL_BLEND); + + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + m_pFBO->bind(); + + glClearColor(1.0f, 1.0f, 1.0f, 0.3f); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + + m_pShaderThumbnail->Bind(); + m_pShaderThumbnail->SetUniformValue(); + + m_pShaderThumbnail->EnableAttributeArray(); + + + + + + if(m_pThumbnailTextureList->size()>0) + { + int nThumbnailCount = m_pThumbnailTextureList->size(); + + int i=0; + for(i=0 ; iSetAttributeBuffer(); + //glDrawArrays(GL_TRIANGLES, 0, 6); + m_VBOTest[i].release(); + + pTexture = m_pThumbnailTextureList->at(i); + + pTexture->bind(); + glDrawArrays(GL_TRIANGLES, 0, 6); + pTexture->release(); + + if(m_bThumbnailHover[i]==true) + { + pTexture = m_pThumbnailHover->GetTextureNormal(); + + pTexture->bind(); + glDrawArrays(GL_TRIANGLES, 0, 6); + pTexture->release(); + } + + } + + + + } + + + + m_VBOPrev.bind(); + m_pShaderThumbnail->SetAttributeBuffer(); + //glDrawArrays(GL_TRIANGLES, 0, 6); + m_VBOPrev.release(); + + if(m_bPrevClicked==true) + { + pTexture = m_pButtonPrev->GetTextureClicked(); + } + else + { + pTexture = m_pButtonPrev->GetTextureNormal(); + } + + pTexture->bind(); + glDrawArrays(GL_TRIANGLES, 0, 6); + pTexture->release(); + + + + m_VBONext.bind(); + m_pShaderThumbnail->SetAttributeBuffer(); + //glDrawArrays(GL_TRIANGLES, 0, 6); + m_VBONext.release(); + + if(m_bNextClicked==true) + { + pTexture = m_pButtonNext->GetTextureClicked(); + } + else + { + pTexture = m_pButtonNext->GetTextureNormal(); + } + pTexture->bind(); + glDrawArrays(GL_TRIANGLES, 0, 6); + pTexture->release(); + + + + + + m_pShaderThumbnail->DisableAttributeArray(); + + m_pShaderThumbnail->Release(); + + m_pFBO->release(); + + glFlush(); + +} + + + +void QOpenGLBufferThumbnail::AddThumbnail(QString strFilenameThumbnail) +{ + m_pContext->makeCurrent(m_pOffScreen); + QImage imageThumbnail(strFilenameThumbnail); + QOpenGLTexture* pTexture = new QOpenGLTexture(imageThumbnail); + m_pThumbnailTextureList->push_front(pTexture); + m_pThumbnailFileList->push_front(strFilenameThumbnail); + m_pContext->makeCurrent(NULL); +} + +void QOpenGLBufferThumbnail::StartAnimation() +{ + m_StartTime.restart(); +} + diff --git a/qopenglbufferthumbnail.h b/qopenglbufferthumbnail.h new file mode 100644 index 0000000..d904868 --- /dev/null +++ b/qopenglbufferthumbnail.h @@ -0,0 +1,73 @@ +#ifndef QOPENGLBUFFERTHUMBNAIL_H +#define QOPENGLBUFFERTHUMBNAIL_H + +#include "qopenglbufferbase.h" + +namespace SOPENGL +{ + class QOpenGLBufferThumbnail : public QOpenGLBufferBase + { + Q_OBJECT + public: + explicit QOpenGLBufferThumbnail(QOpenGLContext* pContext, QSurfaceFormat surfaceformat, QObject *parent = 0); + virtual ~QOpenGLBufferThumbnail(); + + void ResetThumbnailTexture(); + + virtual void initializeGL(); + + void InitState(); + + void CheckRegion(int nX, int nY); + void CheckRegionSmall(int nX, int nY); + + virtual void Paint(); + virtual void PaintBuffer(); + + + + void AddThumbnail(QString strFilenameThumbnail); + + void StartAnimation(); + + + signals: + + public slots: + + protected: + QTime m_StartTime; + QOpenGLBuffer m_VBOTest[8]; + + + + QRect m_rectThumbnail[8]; + QRect m_rectThumbnailSmall[8]; + bool m_bThumbnailHover[8]; + + QRect m_rectPrev; + QRect m_rectNext; + + QRect m_rectPrevSmall; + QRect m_rectNextSmall; + + QOpenGLBuffer m_VBOPrev; + QOpenGLBuffer m_VBONext; + + QList* m_pThumbnailTextureList; + QList* m_pThumbnailFileList; + + QOpenGLTextureButton* m_pButtonPrev; + QOpenGLTextureButton* m_pButtonNext; + QOpenGLTextureButton* m_pThumbnailHover; + + + + bool m_bPrevClicked; + bool m_bNextClicked; + + }; +} + + +#endif // QOPENGLBUFFERTHUMBNAIL_H diff --git a/qopengltexturebutton.cpp b/qopengltexturebutton.cpp new file mode 100644 index 0000000..b827d93 --- /dev/null +++ b/qopengltexturebutton.cpp @@ -0,0 +1,51 @@ +#include "qopengltexturebutton.h" + +QOpenGLTextureButton::QOpenGLTextureButton(QObject *parent) : QObject(parent) +{ + m_pNormal = NULL; + m_pClicked = NULL; +} + +QOpenGLTextureButton::~QOpenGLTextureButton() +{ + if(m_pNormal!=NULL) + { + m_pNormal->destroy(); + delete m_pNormal; + m_pNormal = NULL; + } + + if(m_pClicked!=NULL) + { + m_pClicked->destroy(); + delete m_pClicked; + m_pClicked = NULL; + } +} + +void QOpenGLTextureButton::LoadImage(QString strNormal, QString strClicked) +{ + if(strNormal.isEmpty()==false) + { + QImage imageNormal(strNormal); + imageNormal = imageNormal.convertToFormat(QImage::Format_ARGB32); + m_pNormal = new QOpenGLTexture(imageNormal); + } + + if(strClicked.isEmpty()==false) + { + QImage imageClicked(strClicked); + m_pClicked = new QOpenGLTexture(imageClicked); + } +} + +QOpenGLTexture *QOpenGLTextureButton::GetTextureNormal() +{ + return m_pNormal; +} + +QOpenGLTexture *QOpenGLTextureButton::GetTextureClicked() +{ + return m_pClicked; +} + diff --git a/qopengltexturebutton.h b/qopengltexturebutton.h new file mode 100644 index 0000000..4dc7d39 --- /dev/null +++ b/qopengltexturebutton.h @@ -0,0 +1,32 @@ +#ifndef QOPENGLTEXTUREBUTTON_H +#define QOPENGLTEXTUREBUTTON_H + +#include + +#include + +#include + +class QOpenGLTextureButton : public QObject +{ + Q_OBJECT +public: + explicit QOpenGLTextureButton(QObject *parent = 0); + + virtual ~QOpenGLTextureButton(); + + void LoadImage(QString strNormal, QString strClicked); + + QOpenGLTexture *GetTextureNormal(); + QOpenGLTexture* GetTextureClicked(); + +signals: + +public slots: + +protected: + QOpenGLTexture* m_pNormal; + QOpenGLTexture* m_pClicked; +}; + +#endif // QOPENGLTEXTUREBUTTON_H diff --git a/qrc_assets.cpp b/qrc_assets.cpp new file mode 100644 index 0000000..427e55c --- /dev/null +++ b/qrc_assets.cpp @@ -0,0 +1,2369 @@ +/**************************************************************************** +** Resource object code +** +** Created by: The Resource Compiler for Qt version 5.12.12 +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +static const unsigned char qt_resource_data[] = { + // /work/project/qt/SVG_Upload5/image/Arrow_under_2.png + 0x0,0x0,0x1,0x64, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x2e,0x0,0x0,0x0,0x19,0x8,0x6,0x0,0x0,0x0,0x4e,0xc6,0x1c,0x22, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0x2e,0x23,0x0,0x0,0x2e,0x23, + 0x1,0x78,0xa5,0x3f,0x76,0x0,0x0,0x1,0x16,0x49,0x44,0x41,0x54,0x58,0x85,0xd5, + 0xd6,0xe1,0xd,0x82,0x30,0x10,0x86,0xe1,0x57,0x26,0x60,0x13,0x1d,0xc1,0x51,0x70, + 0x3,0x47,0xc2,0x4d,0x1c,0x1,0x36,0x81,0x9,0x6a,0x8e,0x54,0xa3,0x48,0xcb,0xb5, + 0x94,0x2,0x5f,0xd2,0x1f,0xd4,0x26,0x3c,0x36,0x7a,0x77,0x27,0x63,0x4c,0x3,0x9c, + 0x39,0x56,0x1e,0x5,0x70,0x5,0xda,0x3,0xb1,0x1f,0x40,0x25,0x37,0x2e,0xf,0x25, + 0xf0,0x3c,0xc0,0xcd,0xb7,0xf6,0xa2,0xbb,0xc2,0x6e,0x74,0xf2,0x2d,0x80,0x7e,0x63, + 0x98,0x2f,0x1f,0xb4,0x9c,0x29,0xbe,0xe,0x36,0xf6,0x83,0x3d,0xe2,0x7f,0xd0,0x8c, + 0xe0,0xec,0x14,0xdf,0xdb,0x5f,0x43,0xf7,0xbd,0x39,0x86,0x63,0xf1,0xf7,0x7c,0x2e, + 0x6f,0x7a,0x7b,0x91,0xcd,0xf8,0xd0,0x14,0x5c,0x52,0x3,0xb7,0xed,0xbc,0x43,0x9c, + 0x68,0x3c,0x70,0x76,0x80,0xbf,0xbb,0xd0,0x43,0xa4,0x1c,0xce,0xac,0xda,0xe4,0x4f, + 0x35,0xe7,0xd2,0xc0,0x73,0xe3,0x67,0xd1,0x21,0xf0,0x5c,0xf8,0x5a,0xeb,0x9,0x81, + 0x97,0x32,0xd7,0xec,0x1,0x1d,0xa,0x5f,0x13,0x1f,0x84,0x96,0xf5,0x9e,0x55,0x42, + 0x92,0x7a,0xae,0xf9,0xeb,0x8a,0x9a,0xf8,0xca,0xa1,0x2b,0x29,0xe7,0x9a,0x28,0x34, + 0x91,0x70,0x12,0x8d,0x6,0xd1,0x68,0x16,0xc0,0x59,0x88,0x9f,0x9c,0x3f,0x42,0xb2, + 0x4,0x4e,0xe4,0x5c,0xe3,0x6d,0xe5,0xea,0x84,0xfe,0x9b,0x1d,0xab,0x52,0x56,0x8f, + 0xce,0x18,0x73,0x49,0xf1,0xce,0x54,0x70,0x2d,0x5e,0xd5,0x15,0x73,0xc3,0x99,0xe9, + 0xae,0xc9,0xd0,0x6b,0xc0,0x5d,0xf8,0xa4,0xe8,0xb5,0xe0,0x63,0x7c,0x70,0x57,0xd4, + 0xac,0x98,0xce,0xa9,0xc9,0xbb,0xbb,0x4a,0xe5,0x90,0xb2,0x97,0x36,0xc0,0xb,0x5a, + 0x80,0x3b,0xb3,0x94,0x3f,0xc,0xc9,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae, + 0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/Arrow_under_3.png + 0x0,0x0,0x1,0x6a, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x2e,0x0,0x0,0x0,0x19,0x8,0x6,0x0,0x0,0x0,0x4e,0xc6,0x1c,0x22, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0x2e,0x23,0x0,0x0,0x2e,0x23, + 0x1,0x78,0xa5,0x3f,0x76,0x0,0x0,0x1,0x1c,0x49,0x44,0x41,0x54,0x58,0x85,0xd5, + 0xd6,0xbb,0xd,0xc2,0x40,0x10,0x84,0xe1,0x1f,0x44,0x17,0x14,0x1,0x25,0x50,0x0, + 0x21,0x5,0x98,0xe,0x5c,0x12,0x17,0x13,0xd2,0x88,0xe9,0x81,0x2,0xa0,0x3,0x74, + 0x78,0x25,0x9e,0x77,0xec,0x1e,0x6b,0x63,0x4f,0xe4,0xc0,0x82,0x4f,0x1b,0x78,0x66, + 0x32,0x5f,0x6f,0x1a,0x60,0xc1,0xb8,0x12,0xa6,0xc0,0xa,0x38,0x8e,0x88,0x1d,0x4e, + 0x87,0x7d,0x35,0x3d,0x1d,0xf6,0xe7,0x11,0xe1,0xa3,0xb1,0x8e,0xf,0xf1,0xe2,0x8, + 0xbe,0x2,0x2e,0x7f,0xa7,0xa5,0x13,0xd1,0x2b,0xb1,0xb6,0x70,0x5a,0x7c,0x23,0x97, + 0x1f,0x22,0xfe,0x9,0xcd,0x23,0x9c,0xe1,0xe2,0xa3,0xa5,0x7a,0x44,0xf3,0xa,0xe7, + 0x8e,0xaf,0x7b,0xa5,0xa5,0x73,0x91,0x4b,0x37,0xaf,0x6f,0xbc,0xc1,0x69,0xf1,0x3b, + 0x60,0xfb,0x3f,0xef,0x2d,0x49,0x34,0x29,0x38,0xc3,0xc0,0xd7,0x29,0x34,0x39,0x38, + 0x77,0x7c,0xe8,0x84,0x95,0xcf,0x56,0xfe,0x3b,0x99,0x2c,0x5c,0xf0,0x55,0xcf,0xf8, + 0xaf,0x68,0x34,0x70,0xfa,0xc5,0x7,0xd,0x1a,0x2d,0x5c,0x52,0x77,0xdc,0xae,0x41, + 0xe,0xa4,0x8a,0x1a,0xde,0xf1,0x34,0x30,0xa1,0x31,0x5e,0xbc,0x2b,0xfc,0xb1,0xa4, + 0x37,0x4c,0x70,0xfc,0x77,0xcd,0x5b,0x95,0x6b,0x63,0x86,0xe3,0x37,0xd,0x8a,0xd1, + 0x94,0xc2,0xf9,0x1d,0xff,0x71,0x7f,0x58,0x52,0xc,0xa7,0x7c,0xd7,0x64,0xab,0x5c, + 0x9b,0x9f,0xe0,0xd8,0xa7,0x81,0xb,0x1a,0xf,0x38,0x36,0x7c,0x76,0x7f,0x58,0xe2, + 0x2,0x47,0xb7,0x6b,0x54,0x55,0xae,0x8d,0x1b,0x9c,0xfc,0x34,0x70,0x45,0xe3,0xd, + 0xe7,0x33,0x5e,0xbd,0x3f,0x2c,0x99,0x79,0xff,0xa0,0x24,0x7e,0x69,0x96,0x40,0x63, + 0xad,0x72,0x55,0x80,0x2b,0xeb,0x27,0xaa,0x6f,0xa2,0xac,0x34,0xf3,0x0,0x0,0x0, + 0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/Arrow_top_2.png + 0x0,0x0,0x1,0x7e, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x2e,0x0,0x0,0x0,0x19,0x8,0x6,0x0,0x0,0x0,0x4e,0xc6,0x1c,0x22, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0x2e,0x23,0x0,0x0,0x2e,0x23, + 0x1,0x78,0xa5,0x3f,0x76,0x0,0x0,0x1,0x30,0x49,0x44,0x41,0x54,0x58,0x85,0xcd, + 0x96,0xdb,0xd,0x82,0x40,0x10,0x45,0xaf,0xc6,0x7f,0x29,0xc1,0xe,0xa0,0x4,0x4b, + 0xa0,0x3,0x29,0xc1,0x52,0xe8,0x40,0xa8,0x40,0x4b,0xa0,0x4,0xec,0xc0,0x12,0xa0, + 0x82,0x35,0x6b,0x66,0x13,0x50,0x16,0xf6,0x31,0x83,0x9c,0x84,0x3f,0x86,0x3d,0x99, + 0x2c,0x33,0x77,0xa7,0x94,0x82,0x0,0x9,0x80,0x6,0x40,0xb,0xa0,0x90,0x38,0xe0, + 0x20,0xf1,0x51,0x0,0x25,0x80,0x94,0x9e,0xe,0xc0,0x95,0xfd,0x4,0xdd,0x71,0xe6, + 0xa7,0x52,0xbf,0x14,0xdc,0xe7,0xac,0x21,0x6d,0x60,0x95,0xe7,0x94,0x2e,0x66,0xa4, + 0xd,0xf9,0xd6,0xc4,0x5d,0xa4,0x35,0x9d,0x52,0x2a,0xdb,0x8a,0xb8,0xab,0x34,0xab, + 0x7c,0xec,0x38,0xcc,0x68,0xec,0x1d,0x3d,0xeb,0x7a,0xaa,0x7d,0x85,0x1e,0xbc,0xf, + 0x2d,0x8c,0x90,0x6,0xd5,0x3c,0x68,0xde,0x7,0x11,0xda,0xf1,0x13,0x2d,0x97,0x10, + 0xe9,0x21,0x4f,0x0,0x67,0x9a,0xf5,0x5e,0x84,0x74,0x3c,0xa1,0x6e,0xc5,0x4a,0x83, + 0x16,0x54,0x13,0x52,0xe8,0x2b,0x6e,0x56,0x79,0x1a,0x72,0x98,0x5,0xfd,0xad,0xca, + 0xb7,0xc8,0xf7,0xaa,0xb4,0xcc,0xd2,0x43,0x6a,0x9f,0x5c,0xe3,0xd3,0xf1,0x4a,0x50, + 0x5a,0x73,0xa1,0x8c,0xe3,0x86,0xe3,0xdc,0x9c,0x5b,0xe5,0xdc,0x38,0x45,0x3,0x17, + 0xe9,0x72,0x45,0x69,0xc3,0xa2,0x3c,0xf7,0x56,0xe4,0x64,0x36,0xd7,0xcc,0xfd,0x9c, + 0xfa,0x47,0xb9,0x9,0xde,0xe9,0x25,0x7a,0x9a,0xf1,0xed,0xd4,0x7b,0x36,0xf1,0x1c, + 0xc0,0xfd,0x8f,0xd2,0x6,0xab,0xfc,0x94,0x78,0xcc,0x2a,0x97,0x60,0x32,0xd7,0x7c, + 0x8f,0xc3,0xad,0x49,0xc3,0x96,0x6b,0x86,0x1d,0xe7,0xca,0x1f,0x52,0x8c,0x72,0x8d, + 0xe9,0x38,0x67,0xfe,0x90,0x62,0x94,0x6b,0xf6,0x42,0xf9,0x43,0x52,0xfe,0x93,0x6b, + 0xf4,0x55,0x91,0xcc,0x1f,0x32,0x0,0xf5,0x1b,0xe7,0xb5,0xf,0x32,0x6a,0xef,0x3b, + 0x6b,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/Arrow_top_3.png + 0x0,0x0,0x1,0xad, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x2e,0x0,0x0,0x0,0x19,0x8,0x6,0x0,0x0,0x0,0x4e,0xc6,0x1c,0x22, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0x2e,0x23,0x0,0x0,0x2e,0x23, + 0x1,0x78,0xa5,0x3f,0x76,0x0,0x0,0x1,0x5f,0x49,0x44,0x41,0x54,0x58,0x85,0xd5, + 0x96,0xc1,0x4d,0x3,0x31,0x10,0x45,0x7f,0xb6,0x81,0x70,0xc7,0x7,0x3a,0xd8,0x94, + 0x40,0x1,0x58,0x2,0x9,0x9f,0x3,0x1d,0xa5,0x83,0xc0,0xd9,0x7,0x56,0x72,0x3, + 0x29,0x21,0x74,0x90,0x83,0xb,0x80,0xa,0x16,0x59,0x9a,0x85,0x2c,0xc4,0xbb,0x1e, + 0x7b,0x1c,0xe0,0x1f,0x57,0x3b,0x9e,0xa7,0xaf,0xb1,0xe7,0x2f,0xfa,0xbe,0x87,0xb4, + 0x94,0x36,0x17,0x0,0x76,0x0,0xf6,0xde,0xd9,0x7,0xf1,0x6,0x0,0x9a,0x1a,0x87, + 0x2,0xd8,0x0,0x68,0x1,0xac,0x95,0x36,0x9b,0x1a,0xd,0xc4,0x1d,0x57,0xda,0x3c, + 0x5,0xe0,0x6f,0x9f,0x1f,0xbd,0xb3,0xe1,0xbb,0x98,0x44,0x1d,0x8f,0x40,0x7,0x6d, + 0x95,0x36,0xa2,0x23,0x23,0xe6,0x38,0x81,0x6d,0x67,0x7e,0xbb,0xf3,0xce,0x76,0x12, + 0xfd,0x44,0xc0,0x13,0xa1,0x83,0xde,0x1,0x5c,0x7b,0x67,0xf7,0xa5,0x3d,0x8b,0x47, + 0x85,0x1,0x1d,0xb4,0xc,0xaf,0x8d,0xd2,0x66,0x55,0xda,0xb7,0xc8,0x71,0x2,0x8, + 0xcf,0xde,0x92,0x59,0x1a,0x9c,0x5f,0x79,0x67,0xf,0xb9,0xbd,0xb3,0x1d,0x2f,0x80, + 0x6,0xd5,0x74,0xf4,0xde,0x67,0x29,0xcb,0x71,0xa5,0xcd,0x55,0x58,0x2e,0x99,0xd0, + 0xc7,0x7a,0xa5,0x99,0x7f,0xe3,0x16,0xb2,0x1d,0x27,0x97,0x3a,0x1,0x68,0xd0,0x92, + 0xda,0xe5,0x14,0xb2,0xc0,0x8f,0x56,0x79,0x9b,0xd3,0x2c,0xa2,0x96,0xde,0x7f,0x96, + 0xb8,0x8e,0x4b,0x43,0xf,0x5a,0x73,0xe1,0x93,0xc1,0xe9,0xe0,0x1a,0xd0,0x83,0x58, + 0xb9,0x26,0xe9,0x72,0x4e,0xac,0xf2,0x1a,0x4a,0xca,0x35,0xb3,0x8e,0x93,0xb,0xe7, + 0x82,0x46,0x6a,0xae,0x99,0x74,0x9c,0xb9,0x15,0xa5,0x35,0x99,0x6b,0xa2,0xe0,0xbf, + 0xc,0xd,0xcc,0xe4,0x9a,0x93,0xe0,0x4a,0x9b,0x5b,0x0,0x2f,0xe7,0xa0,0x9b,0x51, + 0x14,0xfe,0x7,0x78,0xe1,0x2a,0xaf,0xa1,0x93,0xb9,0x66,0x74,0x39,0xff,0x20,0x34, + 0x62,0xb9,0xe6,0xd3,0x71,0xc1,0xfc,0x51,0x4b,0xa3,0x5c,0xd3,0x40,0x3e,0x7f,0xd4, + 0xd2,0x28,0xd7,0x34,0x95,0xf2,0x47,0x35,0xf8,0x21,0x1a,0x2c,0x2e,0x6f,0xee,0xc3, + 0x78,0xfc,0x7,0xe8,0x2f,0x1,0xcf,0x1f,0x62,0x14,0x8e,0x2d,0x57,0x7f,0x6c,0x30, + 0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/scrollbar_vertical_bg.png + 0x0,0x0,0x1,0x2d, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x1a,0x0,0x0,0x1,0xfa,0x8,0x6,0x0,0x0,0x0,0x19,0x79,0x5c,0xf8, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x0,0xdf,0x49,0x44,0x41,0x54,0x78,0x9c,0xed, + 0xcd,0x21,0x12,0xc0,0x40,0xc,0x3,0x31,0xe7,0xfe,0xff,0x67,0x77,0xca,0xe,0x95, + 0x5,0x55,0x4b,0x16,0x6a,0x92,0xb4,0xed,0xfb,0xb5,0x66,0xa6,0x67,0x13,0xb8,0x3, + 0x81,0x40,0x20,0x10,0x8,0x4,0x2,0x81,0x40,0x20,0x10,0x8,0x4,0x2,0x81,0x40, + 0x20,0x10,0x8,0xf4,0x7b,0x8,0x4,0x2,0x81,0x40,0x20,0x10,0x8,0x4,0x2,0x81, + 0x40,0x20,0x10,0x8,0x4,0x2,0x81,0x40,0x20,0x10,0x8,0x4,0x2,0x81,0x40,0x20, + 0x10,0x8,0x4,0x2,0x81,0x40,0x20,0x10,0x8,0x4,0x2,0x81,0x40,0x20,0x10,0x8, + 0x4,0x2,0x81,0x40,0x20,0x10,0x8,0x4,0x2,0x81,0x40,0x20,0x10,0x8,0x4,0x2, + 0x81,0x40,0x20,0x10,0x8,0x4,0x2,0x81,0x40,0x20,0x10,0x8,0x4,0x2,0x81,0x40, + 0x20,0x10,0x8,0x4,0x2,0x81,0x40,0x20,0x10,0x8,0x4,0x2,0x81,0x40,0x20,0x10, + 0x8,0x4,0x2,0x81,0x40,0x20,0x10,0x8,0x4,0x2,0x81,0x40,0x20,0x10,0x8,0x4, + 0x2,0x81,0x40,0x20,0x10,0x8,0x4,0x2,0x81,0x40,0x20,0x10,0x8,0x4,0x2,0x81, + 0x40,0x20,0x10,0x8,0x4,0x2,0x81,0x40,0x20,0x10,0x8,0x4,0x2,0x81,0x40,0x20, + 0x10,0x8,0x4,0x2,0x81,0x40,0x20,0x10,0x8,0x4,0x2,0x81,0x40,0x20,0x10,0x8, + 0x4,0x2,0x81,0x40,0x5f,0x25,0x79,0x0,0xbe,0xd1,0x8,0xf3,0xc7,0xbb,0xab,0x6c, + 0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/cancel_arrow.png + 0x0,0x0,0x1,0x88, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x12,0x0,0x0,0x0,0x21,0x8,0x6,0x0,0x0,0x0,0xd4,0x20,0xfb,0x54, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x1,0x3a,0x49,0x44,0x41,0x54,0x48,0x89,0xb5, + 0xd5,0xd1,0x6d,0xc2,0x30,0x10,0x6,0xe0,0xbf,0x11,0xef,0xd4,0x4b,0x58,0xf2,0x53, + 0xe9,0x4,0x65,0x83,0xa6,0x13,0x10,0x36,0xc8,0x28,0x30,0x1,0x61,0x3,0xd8,0x80, + 0x6e,0x0,0x4f,0x96,0xfc,0xd4,0xd,0xdc,0x4e,0x10,0x74,0xd2,0x35,0x82,0x8b,0xb, + 0xf6,0xa1,0xde,0x9b,0xa3,0xe8,0xd3,0xaf,0x93,0xef,0xfc,0xd4,0xf7,0x3d,0x34,0x65, + 0xac,0x7b,0x6,0xd0,0x1,0xf8,0x8a,0xc1,0xb7,0x93,0x7,0x90,0x3,0x80,0x17,0x0, + 0x9f,0xf4,0xad,0x7a,0x10,0xf9,0x1,0xd0,0xaa,0x20,0x81,0xcc,0x63,0xf0,0xc7,0x62, + 0xc8,0x58,0xd7,0xa5,0x10,0xaa,0xec,0x66,0x33,0xb2,0xe0,0xe3,0xeb,0x25,0x92,0x9d, + 0x48,0x20,0x4b,0x89,0x64,0x41,0x9,0xa4,0x4b,0xfd,0x77,0x13,0x32,0xd6,0xb5,0x39, + 0x8,0x6e,0xf5,0xc8,0x58,0xd7,0x0,0xd8,0xe4,0x20,0x7f,0x26,0x12,0xc8,0xfa,0x1e, + 0x92,0x4c,0x24,0x90,0x6d,0xc,0xbe,0xb9,0x87,0x8c,0x12,0x69,0x91,0xab,0x44,0xc6, + 0xba,0x19,0xdf,0xda,0x69,0x29,0x32,0x40,0x2,0xd9,0xc7,0xe0,0xeb,0x12,0x84,0xaa, + 0x12,0xc8,0x9,0x40,0x51,0x92,0x1,0x2,0xb0,0x63,0x84,0xaa,0x8e,0xc1,0x7f,0x6b, + 0xa1,0x9a,0x87,0x10,0xbc,0xa8,0x54,0x55,0xf1,0xdc,0xcc,0x19,0x7b,0xe3,0x91,0x50, + 0x25,0x2,0x63,0xbf,0xd,0x5e,0x68,0xb0,0xe1,0x1e,0xc5,0xe0,0xa9,0xe1,0x4b,0x2d, + 0x76,0x75,0x21,0x79,0x14,0x54,0xd8,0x68,0xd6,0x12,0x58,0x9b,0x3,0xfd,0xef,0xf4, + 0x5f,0x24,0xdb,0xf2,0x71,0xc3,0x70,0x39,0xc4,0x58,0x93,0x8b,0x65,0x2d,0x7f,0xb1, + 0x6e,0x3f,0x62,0xf0,0x3b,0x15,0x24,0xb0,0xd1,0x53,0x54,0x4,0x31,0x46,0x49,0xde, + 0x53,0x58,0xe9,0x4b,0x4b,0x3d,0xa2,0xd,0x41,0x43,0x7e,0xe0,0xcd,0x51,0xe,0xf1, + 0x66,0xa0,0xb9,0x1c,0x61,0xc5,0x6f,0x7f,0x2,0x5b,0xa9,0x20,0x81,0xed,0x1,0x1c, + 0x1,0xe0,0xc,0x79,0x44,0xbb,0xed,0x73,0x3c,0x7f,0x2b,0x0,0x0,0x0,0x0,0x49, + 0x45,0x4e,0x44,0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/scrollbar_down.png + 0x0,0x0,0x1,0x27, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x1a,0x0,0x0,0x0,0x1a,0x8,0x6,0x0,0x0,0x0,0xa9,0x4a,0x4c,0xce, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x0,0xd9,0x49,0x44,0x41,0x54,0x48,0x89,0x63, + 0x64,0x60,0x60,0xf8,0xff,0xff,0xff,0x7f,0x6,0x5a,0x2,0x46,0x46,0x46,0x6,0x26, + 0x9a,0xda,0x80,0x4,0x46,0x2d,0x1a,0xb5,0x8,0xe,0x58,0xf0,0x49,0x7e,0xfc,0xf2, + 0x85,0xe1,0xca,0xed,0xbb,0x44,0x19,0x64,0x6d,0xa8,0x4f,0xbe,0x45,0x20,0x50,0x33, + 0x71,0x1a,0xc3,0xd5,0x3b,0xf7,0xf0,0xaa,0xb1,0x32,0xd0,0x63,0xb0,0x9e,0xd2,0x8b, + 0x57,0xd,0xc1,0xc,0xb,0xf2,0x51,0x40,0x6e,0x31,0xc3,0xa7,0x2f,0x5f,0xb1,0xca, + 0xf3,0xf1,0x70,0x33,0x9c,0x5d,0xb3,0x84,0x81,0x9f,0x87,0x7,0xb7,0x25,0xc4,0x64, + 0x58,0x1d,0x55,0x65,0x86,0x96,0xbc,0x2c,0x9c,0xf2,0xb,0xdb,0x1b,0xf1,0x5a,0x2, + 0x3,0x44,0x25,0x86,0x8,0x2f,0x37,0x86,0x70,0x4f,0x37,0xc,0xf1,0xd2,0xa4,0x58, + 0x82,0x71,0x43,0x92,0x45,0x20,0xd0,0x92,0x9f,0xc9,0xa0,0xad,0xa2,0x4,0xe7,0x83, + 0xe2,0xa5,0x34,0x29,0x8e,0x58,0xed,0x60,0xf0,0x9f,0x58,0x70,0xf9,0xd6,0x9d,0xff, + 0xca,0xee,0xfe,0x60,0xfc,0xe1,0xf3,0x67,0xa2,0xf5,0x81,0xec,0x20,0xb9,0xf4,0x5e, + 0xb1,0x6d,0x17,0x83,0xac,0xa4,0x38,0xd1,0x41,0xc6,0x0,0x4d,0xc,0xa3,0xd5,0xc4, + 0xa8,0x45,0xa3,0x16,0x8d,0x5a,0x84,0x9,0xc0,0x25,0x3,0xcd,0x6d,0x61,0x60,0x60, + 0x0,0x0,0x92,0x96,0x90,0xa5,0x33,0x92,0x95,0xfd,0x0,0x0,0x0,0x0,0x49,0x45, + 0x4e,0x44,0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/select_indicator.png + 0x0,0x0,0x1,0x68, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x21,0x0,0x0,0x0,0x12,0x8,0x6,0x0,0x0,0x0,0xd5,0xa,0xb7,0x6c, + 0x0,0x0,0x0,0x4,0x73,0x42,0x49,0x54,0x8,0x8,0x8,0x8,0x7c,0x8,0x64,0x88, + 0x0,0x0,0x1,0x1f,0x49,0x44,0x41,0x54,0x48,0x89,0xc5,0xd6,0xd1,0x91,0x82,0x30, + 0x10,0x80,0xe1,0x9f,0x34,0x60,0x7,0x62,0x5,0x7,0x54,0x70,0x94,0x40,0x7,0xc6, + 0xe,0xec,0xe4,0xe8,0x40,0x2c,0xe1,0x3a,0xa0,0x83,0x98,0x12,0xd2,0x81,0x56,0x80, + 0xf,0xae,0x63,0x86,0x49,0xc6,0x80,0xc,0xe6,0x6d,0x87,0x64,0xf7,0x83,0x25,0x81, + 0x6c,0x18,0x6,0xbe,0x3d,0xb2,0xed,0x4f,0xd9,0x2,0x25,0x70,0x74,0xd6,0x5c,0xd6, + 0x2a,0x9c,0x17,0x55,0x9,0xb4,0xc0,0x45,0x1,0x3b,0xe0,0x17,0xe8,0xe5,0xc2,0x5a, + 0x80,0x5e,0xea,0xee,0x14,0xa0,0x1,0xb,0x6c,0xd6,0x80,0x78,0x80,0x8d,0xd4,0xd5, + 0xca,0x59,0x73,0x5,0xea,0x35,0x20,0x1,0x40,0xed,0xac,0xb9,0x2a,0x80,0x0,0xc4, + 0xe4,0x45,0xa5,0x17,0x6,0x34,0x21,0x0,0x40,0x36,0xde,0x1d,0x79,0x51,0x75,0xc0, + 0x5e,0xc2,0x83,0xb3,0xa6,0x5b,0x0,0xa0,0x81,0x93,0x84,0xff,0x80,0x7e,0x2,0x82, + 0x88,0xa5,0x21,0x23,0xc0,0xd9,0x59,0xa3,0xc7,0x73,0x54,0x68,0xa1,0x4c,0x3c,0x4b, + 0x78,0x9a,0xdb,0x9a,0x14,0x40,0x14,0x11,0x81,0xb4,0x13,0x1,0xc7,0x14,0x0,0x44, + 0xda,0x11,0x48,0xf6,0x97,0x92,0xcc,0x5b,0xd3,0xf1,0x6a,0xe7,0xdb,0x35,0x6f,0x11, + 0x92,0x54,0x93,0x78,0x57,0x73,0xde,0xa7,0x68,0x3b,0xfc,0x21,0x89,0xe,0x12,0xee, + 0xa5,0xd0,0x22,0x0,0x48,0x7c,0x12,0x5e,0x11,0x4d,0x64,0xab,0x7d,0xb2,0xa3,0x26, + 0x21,0x3c,0x48,0xcb,0xeb,0xd0,0x69,0x80,0x8e,0xc7,0x77,0x60,0x32,0x60,0x16,0x42, + 0x20,0xfe,0xf1,0xfb,0x1c,0x37,0xa0,0x71,0xd6,0xf4,0x53,0xf3,0xcd,0x42,0x4,0x20, + 0x37,0x1e,0xc7,0xf0,0xac,0x5f,0x81,0xa4,0x17,0x33,0x34,0xa4,0x60,0xd,0xb8,0x4f, + 0x0,0x0,0x77,0x54,0xc8,0xb0,0xa8,0x37,0xac,0xa2,0xb9,0x0,0x0,0x0,0x0,0x49, + 0x45,0x4e,0x44,0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/Scroll_bar_1.png + 0x0,0x0,0x0,0xfe, + 0x0, + 0x0,0x15,0xea,0x78,0x9c,0xeb,0xc,0xf0,0x73,0xe7,0xe5,0x92,0xe2,0x62,0x60,0x60, + 0xe0,0xf5,0xf4,0x70,0x9,0x2,0xd2,0x99,0xc,0xc,0x9c,0x85,0x1c,0x6c,0x40,0x96, + 0xf3,0xfc,0x13,0xf2,0x40,0x8a,0xb3,0xc0,0x23,0xb2,0x98,0x81,0x41,0x4f,0x19,0x84, + 0x19,0x2b,0x96,0xda,0x97,0x31,0x30,0x88,0xce,0xf1,0x74,0x71,0xc,0xa9,0x98,0xf3, + 0xf6,0x4a,0x60,0xee,0x61,0x6,0x1,0xd6,0x83,0xde,0xa2,0xe,0x6d,0x2,0xca,0x26, + 0xac,0xce,0x85,0x92,0x53,0x1d,0x57,0xfd,0x51,0xe5,0x78,0x34,0x35,0x5d,0x60,0xce, + 0x3d,0xaf,0xf2,0xd9,0x33,0x9f,0x17,0xa4,0xbd,0xee,0xb7,0x79,0xae,0x1e,0x74,0xe0, + 0xef,0xdf,0x23,0xb9,0xb7,0xd3,0x22,0xa7,0xad,0xce,0xff,0x54,0xfa,0x7a,0x57,0xdd, + 0x9c,0xf,0x82,0x2f,0x45,0x5f,0x7c,0xac,0x88,0xc9,0xec,0x67,0x79,0xaf,0xe7,0xb0, + 0x84,0x61,0x22,0x93,0xb,0x97,0x80,0xe6,0x28,0x63,0x94,0x31,0xca,0x18,0x65,0x8c, + 0x32,0x46,0x19,0xa3,0x8c,0x51,0xc6,0x28,0x63,0x94,0x31,0xca,0x18,0x65,0x8c,0x32, + 0x46,0x19,0xa3,0x8c,0x51,0xc6,0x28,0x63,0x94,0x31,0xca,0x18,0x65,0x8c,0x50,0xc6, + 0x8e,0xfd,0xf3,0x77,0xbc,0xff,0x2d,0x73,0xbc,0xf0,0xab,0xaf,0xdf,0x73,0x33,0xe3, + 0xf3,0xab,0xfb,0xb,0x8a,0x56,0x97,0x8b,0x7f,0xa8,0x2a,0xdf,0x1f,0x2e,0xff,0xf0, + 0x4a,0xda,0xbf,0x7f,0x8c,0x17,0x4f,0xcb,0x77,0x35,0xed,0xb6,0xff,0xc2,0x0,0x4, + 0x9e,0xae,0x7e,0x2e,0xeb,0x9c,0x12,0x9a,0x0,0xc,0xca,0xfd,0x25, + // /work/project/qt/SVG_Upload5/image/scrollbar_right.png + 0x0,0x0,0x1,0xb, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x1a,0x0,0x0,0x0,0x1a,0x8,0x6,0x0,0x0,0x0,0xa9,0x4a,0x4c,0xce, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x0,0xbd,0x49,0x44,0x41,0x54,0x48,0x89,0x63, + 0x64,0x60,0x60,0xf8,0xcf,0x40,0x7,0xc0,0xf2,0xff,0x3f,0xed,0xed,0x61,0x64,0x64, + 0x64,0x60,0xa2,0x87,0x6f,0x40,0x60,0xd4,0xa2,0x51,0x8b,0x88,0xb3,0xe8,0xe8,0xf9, + 0x8b,0xc,0x1,0x39,0xc5,0xc,0x1f,0xbf,0x7c,0xa1,0xad,0x45,0x20,0x70,0xec,0xc2, + 0x25,0x6,0xe3,0x90,0x18,0xb0,0xa5,0x34,0xb5,0x8,0x4,0x3e,0x7d,0xf9,0xca,0x10, + 0x98,0x5b,0xc2,0xd0,0x3d,0x6f,0x11,0x6d,0x2d,0x82,0x81,0xee,0x79,0x8b,0xc9,0xe, + 0x4a,0x92,0x13,0x3,0xb9,0x41,0x49,0x76,0xaa,0x7b,0xfc,0xfc,0x25,0x49,0xea,0x59, + 0x48,0xb5,0x40,0x5b,0x45,0x89,0x61,0x72,0x75,0x19,0x83,0x8e,0xaa,0x32,0xed,0x2c, + 0xa,0xf7,0x74,0x63,0x68,0xc9,0xcf,0x64,0xe0,0xe7,0xe1,0x21,0xd5,0x7d,0xc4,0x59, + 0xc4,0xc7,0xc3,0xcd,0xd0,0x92,0x97,0xc5,0x10,0xe1,0xe5,0x46,0xb2,0x5,0x44,0x5b, + 0x44,0x6e,0x50,0xa1,0x3,0xc6,0xff,0x78,0x6a,0x3e,0x58,0x32,0x26,0x27,0xa8,0x90, + 0x1,0xa8,0xe2,0xc3,0x6b,0x11,0xb5,0xc0,0x68,0xd,0x3b,0x6a,0x11,0xa,0xa0,0x4f, + 0x3,0x92,0x81,0x81,0x1,0x0,0xa1,0xc9,0x3a,0x7,0xdd,0x6,0xd8,0x89,0x0,0x0, + 0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/scrollbar_left.png + 0x0,0x0,0x1,0x6, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x1a,0x0,0x0,0x0,0x1a,0x8,0x6,0x0,0x0,0x0,0xa9,0x4a,0x4c,0xce, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x0,0xb8,0x49,0x44,0x41,0x54,0x48,0x89,0x63, + 0x64,0x60,0x60,0xf8,0xcf,0x40,0x7,0xc0,0x2,0xb2,0xe2,0xff,0x7f,0xda,0xdb,0xc5, + 0x44,0xf,0xdf,0x8c,0x5a,0x34,0x82,0x2c,0xfa,0xf8,0xe5,0xb,0x18,0xd3,0xd4,0xa2, + 0x2b,0xb7,0xef,0x32,0x4,0xe4,0x14,0x83,0x69,0x7c,0x80,0x85,0x12,0x4b,0x56,0x6c, + 0xdb,0xc5,0x50,0x33,0x69,0x1a,0xc3,0xa7,0x2f,0x5f,0x9,0xaa,0x25,0xcb,0x22,0x50, + 0x30,0xd5,0x4c,0x9c,0xce,0xb0,0x72,0xfb,0x2e,0xa2,0xf5,0x90,0x6c,0x11,0x28,0x88, + 0x72,0x5b,0xbb,0x18,0xae,0xde,0xb9,0x47,0x92,0x3e,0x92,0x2c,0x22,0x25,0xa8,0xd0, + 0x1,0x49,0x89,0x41,0x56,0x52,0x9c,0x64,0xb,0x60,0x80,0x24,0x8b,0xac,0xd,0xf5, + 0x19,0xce,0xae,0x59,0xc2,0x60,0x65,0xa0,0x47,0x5b,0x8b,0x40,0x80,0x9f,0x87,0x87, + 0x61,0xc3,0x94,0x5e,0x86,0xd2,0xa4,0x58,0xda,0x5a,0x4,0x3,0xa5,0x49,0x71,0xc, + 0xeb,0x27,0xf7,0x30,0xf0,0xf1,0x70,0xd3,0xd6,0x22,0x6,0x12,0x83,0x92,0x11,0x52, + 0xef,0x8d,0x56,0x7c,0xa3,0x16,0xd,0x47,0x8b,0xe8,0xd3,0x80,0x64,0x60,0x60,0x0, + 0x0,0x8a,0x4d,0x3c,0xc9,0x6b,0x38,0x72,0x82,0x0,0x0,0x0,0x0,0x49,0x45,0x4e, + 0x44,0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/month_next.png + 0x0,0x0,0x0,0xc6, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0xa,0x0,0x0,0x0,0x12,0x8,0x6,0x0,0x0,0x0,0x62,0xb7,0x4f,0x4b, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x0,0x78,0x49,0x44,0x41,0x54,0x28,0x91,0xa5, + 0xd2,0x81,0x9,0x80,0x20,0x10,0x85,0xe1,0x47,0x13,0x34,0x4a,0x23,0x34,0x42,0x23, + 0x34,0x52,0x23,0x34,0x82,0x6d,0xd2,0x8,0x8d,0xe0,0x6,0x7f,0x8,0x16,0x22,0x79, + 0x1e,0x24,0x9c,0x28,0x7c,0x70,0xf8,0x3c,0x1,0x1b,0x10,0x80,0x11,0x50,0xab,0x94, + 0x51,0x5a,0xa7,0x85,0xd3,0x36,0x1,0xb1,0x87,0x9f,0x43,0x17,0x97,0x17,0x13,0xd7, + 0x2d,0x4a,0x1c,0x2c,0x58,0xe3,0xdd,0x82,0xa9,0x96,0xc,0x5f,0xdc,0xcc,0xd,0x58, + 0x4b,0x3c,0xc8,0xbb,0xfe,0xb4,0x76,0x3d,0xc6,0x15,0x8f,0x2b,0x70,0xd7,0x17,0xba, + 0x87,0xc2,0x35,0x66,0x29,0xc7,0x4b,0xd2,0x21,0x69,0x96,0x14,0x3f,0x53,0x95,0x74, + 0x3,0xc5,0x92,0xd,0x62,0x62,0x22,0xff,0xf8,0x0,0x0,0x0,0x0,0x49,0x45,0x4e, + 0x44,0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/scrollbar_horizontal_bg.png + 0x0,0x0,0x1,0x56, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x6,0xa3,0x0,0x0,0x0,0x1a,0x8,0x6,0x0,0x0,0x0,0x33,0x1c,0x26,0x7e, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x1,0x8,0x49,0x44,0x41,0x54,0x78,0x9c,0xed, + 0xd9,0x31,0x1,0x3,0x41,0x10,0xc4,0xb0,0xb9,0xf0,0xe7,0xbc,0x4f,0x22,0xee,0x24, + 0x8,0x6e,0xfd,0xb6,0xdd,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0xf0,0xee,0xbc,0x28, + 0x0,0x0,0x0,0x0,0x0,0x0,0x1a,0x3f,0x5d,0x1,0x0,0x0,0x0,0x0,0x0,0xa8, + 0x98,0x51,0x0,0x0,0x0,0x0,0x0,0x0,0x64,0xcc,0x28,0x0,0x0,0x0,0x0,0x0, + 0x0,0x32,0x66,0x14,0x0,0x0,0x0,0x0,0x0,0x0,0x19,0x33,0xa,0x0,0x0,0x0, + 0x0,0x0,0x80,0x8c,0x19,0x5,0x0,0x0,0x0,0x0,0x0,0x40,0xc6,0x8c,0x2,0x0, + 0x0,0x0,0x0,0x0,0x20,0x63,0x46,0x1,0x0,0x0,0x0,0x0,0x0,0x90,0x31,0xa3, + 0x0,0x0,0x0,0x0,0x0,0x0,0xc8,0x98,0x51,0x0,0x0,0x0,0x0,0x0,0x0,0x64, + 0xcc,0x28,0x0,0x0,0x0,0x0,0x0,0x0,0x32,0x66,0x14,0x0,0x0,0x0,0x0,0x0, + 0x0,0x19,0x33,0xa,0x0,0x0,0x0,0x0,0x0,0x80,0x8c,0x19,0x5,0x0,0x0,0x0, + 0x0,0x0,0x40,0xc6,0x8c,0x2,0x0,0x0,0x0,0x0,0x0,0x20,0x63,0x46,0x1,0x0, + 0x0,0x0,0x0,0x0,0x90,0x31,0xa3,0x0,0x0,0x0,0x0,0x0,0x0,0xc8,0x98,0x51, + 0x0,0x0,0x0,0x0,0x0,0x0,0x64,0xcc,0x28,0x0,0x0,0x0,0x0,0x0,0x0,0x32, + 0x66,0x14,0x0,0x0,0x0,0x0,0x0,0x0,0x19,0x33,0xa,0x0,0x0,0x0,0x0,0x0, + 0x80,0x8c,0x19,0x5,0x0,0x0,0x0,0x0,0x0,0x40,0xc6,0x8c,0x2,0x0,0x0,0x0, + 0x0,0x0,0x20,0xf3,0xb6,0x9d,0xbc,0x0,0x0,0x0,0x0,0x0,0x0,0xfc,0xdd,0xb6, + 0xf,0x4a,0x64,0x5,0x2d,0xa6,0x54,0x6c,0x88,0x0,0x0,0x0,0x0,0x49,0x45,0x4e, + 0x44,0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/scrollbar_up.png + 0x0,0x0,0x1,0x8, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x1a,0x0,0x0,0x0,0x1a,0x8,0x6,0x0,0x0,0x0,0xa9,0x4a,0x4c,0xce, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x0,0xba,0x49,0x44,0x41,0x54,0x48,0x89,0x63, + 0x64,0x60,0x60,0xf8,0xcf,0x40,0x7,0xc0,0x2,0xb2,0xe2,0xff,0x7f,0xda,0xda,0xc5, + 0xc8,0xc8,0xc8,0xc0,0x44,0xf,0xdf,0x80,0xc0,0xa8,0x45,0xa3,0x16,0x8d,0x5a,0x34, + 0x0,0x16,0x1d,0x3d,0x7f,0x91,0x61,0xc5,0xb6,0x5d,0x24,0x5b,0xc4,0x42,0x8a,0xe2, + 0x8f,0x5f,0xbe,0x30,0xc4,0x57,0xd6,0x83,0xd9,0x3a,0xaa,0xca,0x60,0x4c,0x2c,0x20, + 0xc9,0x47,0xf1,0x15,0xf5,0xc,0x9f,0xbe,0x7c,0x5,0xe3,0xdc,0xd6,0x2e,0xb0,0xc5, + 0x54,0xb7,0xa8,0x7b,0xde,0x22,0x86,0x63,0x17,0x2e,0xc1,0xf9,0x57,0xef,0xdc,0x63, + 0xa8,0x99,0x38,0x9d,0xba,0x16,0x81,0xe2,0xa5,0x7b,0xde,0x62,0xc,0xf1,0x95,0xdb, + 0x77,0x11,0x1d,0x5f,0x8c,0x90,0x5a,0x2,0x77,0x35,0x1,0xa,0x1e,0xe3,0x90,0x18, + 0x70,0x70,0x61,0x3,0x7c,0x3c,0xdc,0xc,0x1b,0x26,0xf7,0xe2,0x8d,0x2f,0xa2,0xaa, + 0x9,0x58,0xbc,0xe0,0x2,0xc4,0xc6,0x17,0xc1,0x54,0x57,0x9a,0x1c,0x47,0x48,0x9, + 0x51,0x80,0x60,0xd0,0x51,0xc5,0x92,0xd1,0x1a,0x76,0xd4,0x22,0xfa,0x5b,0xc4,0xc0, + 0xc0,0x0,0x0,0xce,0x3f,0x47,0x8b,0xde,0xaf,0xa3,0x2b,0x0,0x0,0x0,0x0,0x49, + 0x45,0x4e,0x44,0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/month_prev.png + 0x0,0x0,0x0,0xbb, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0xa,0x0,0x0,0x0,0x12,0x8,0x6,0x0,0x0,0x0,0x62,0xb7,0x4f,0x4b, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x0,0x6d,0x49,0x44,0x41,0x54,0x28,0x91,0x95, + 0xd2,0x51,0xd,0xc0,0x20,0xc,0x4,0xd0,0xdb,0x14,0x20,0x65,0x52,0x26,0x61,0xd2, + 0x90,0x50,0x29,0x93,0x80,0x84,0x39,0xb8,0x5,0x96,0x25,0x40,0x5a,0xd2,0x5e,0xc2, + 0xdf,0x4b,0xa0,0x47,0x37,0x92,0x58,0x24,0x1,0xc8,0x0,0xa,0x2a,0x34,0x4e,0x22, + 0x79,0xf3,0x8b,0x78,0xd0,0x43,0xf2,0x70,0xa1,0xf6,0x3c,0xf,0xd2,0xa0,0x68,0x68, + 0x86,0xd9,0x42,0x3d,0xfc,0x51,0xcd,0xa9,0xd,0x38,0xa3,0xcb,0xaa,0x6b,0x5f,0xb5, + 0x3d,0x24,0x72,0x75,0x68,0x98,0x50,0x3d,0xa1,0xc2,0xdd,0x5f,0x18,0x5a,0xa,0xd, + 0x8b,0x6f,0x71,0x81,0xf2,0x2,0xb2,0x94,0xf4,0x7a,0x4c,0x56,0x3c,0x9e,0x0,0x0, + 0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/ScrollBar_Horizontal_Icon.png + 0x0,0x0,0x1,0x14, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x24,0x0,0x0,0x0,0x12,0x8,0x6,0x0,0x0,0x0,0x33,0x23,0x7c,0x28, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x0,0xc6,0x49,0x44,0x41,0x54,0x48,0x89,0xed, + 0x96,0x31,0xa,0x83,0x30,0x14,0x86,0x3f,0x73,0x81,0x4e,0x75,0xee,0xd,0xea,0x5e, + 0xc1,0xa5,0xee,0x1e,0xc1,0x9e,0xac,0x39,0x82,0xbb,0x93,0xe0,0x1,0xf4,0x6,0x9d, + 0xdd,0x3c,0x81,0x25,0xf4,0x45,0xac,0x8b,0x14,0x52,0x93,0xc1,0xf,0x32,0x24,0x81, + 0x97,0x8f,0xf0,0xc2,0x9f,0x68,0x9a,0x26,0x96,0xc4,0x69,0x5e,0x2,0x66,0x64,0x5f, + 0x1b,0xee,0x69,0x0,0x3d,0xb4,0xb5,0x5e,0x56,0x9e,0x85,0xe2,0x34,0xbf,0x0,0x15, + 0x70,0xfd,0xb3,0xc8,0x9a,0x1e,0x28,0x86,0xb6,0x7e,0xcd,0x42,0x22,0xd3,0x1,0xa7, + 0x9d,0x65,0x2c,0x23,0x90,0x18,0x29,0x25,0xb,0x95,0x47,0x19,0xe4,0x6c,0xe3,0x40, + 0x74,0xbe,0xdd,0x4d,0xbf,0x3c,0x3d,0xca,0x2c,0x79,0x28,0x69,0xe0,0x50,0x28,0xd5, + 0xe,0xaf,0xe9,0x17,0x32,0xe5,0xae,0x96,0x1b,0xe,0xa1,0x2d,0xe,0xa1,0x2d,0x94, + 0x64,0x4a,0x28,0x34,0x46,0x48,0x7,0x24,0xa4,0x6d,0x96,0x75,0x1e,0x42,0x75,0x4d, + 0x3f,0xb4,0x75,0x62,0x7b,0xa8,0x90,0x80,0xf3,0xc5,0x28,0xe,0x9f,0xa6,0x96,0xe8, + 0x4f,0xe4,0x2b,0xb0,0xfb,0xcd,0xd8,0xa4,0x37,0x93,0xb0,0x3e,0x68,0xc0,0x1b,0x84, + 0xb1,0x3e,0x98,0x91,0x5,0xef,0xac,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae, + 0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/ScrollBar_Vertical_Icon.png + 0x0,0x0,0x1,0x13, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x12,0x0,0x0,0x0,0x24,0x8,0x6,0x0,0x0,0x0,0x84,0xed,0x6a,0xe7, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x0,0xc5,0x49,0x44,0x41,0x54,0x48,0x89,0xed, + 0x96,0xbd,0xd,0x83,0x30,0x10,0x46,0x5f,0xbc,0x40,0xaa,0x50,0x67,0x83,0xd0,0x7, + 0x89,0x26,0xf4,0x19,0x81,0x4c,0x16,0x8f,0x40,0x4f,0x85,0xc4,0x0,0xb0,0x41,0x6a, + 0xba,0x4c,0x40,0x74,0xe4,0x8c,0x10,0xca,0xf,0x7f,0xa5,0x9f,0xe4,0xc2,0x27,0xdf, + 0xd3,0xe9,0xdc,0x7c,0xbb,0xb6,0x6d,0x19,0x12,0x44,0x49,0xa,0xc8,0x89,0xf9,0x4c, + 0x1,0xd8,0xa6,0xcc,0xed,0xb0,0xd8,0x8b,0x82,0x28,0x39,0x2,0x19,0x70,0xfa,0x22, + 0x18,0x53,0x3,0xd7,0xa6,0xcc,0x1f,0xbd,0x48,0x25,0x15,0xb0,0x9f,0x28,0x71,0x3c, + 0x81,0x50,0x64,0x46,0xb,0xd9,0x2,0x9,0xda,0x93,0x75,0x13,0x1d,0xce,0x17,0xd9, + 0xc7,0x7d,0x81,0x64,0xc8,0xcd,0xe8,0x62,0xd7,0x92,0x9a,0x1f,0xbf,0x33,0x87,0xd8, + 0x6c,0x20,0xe9,0xf0,0x22,0x2f,0xf2,0x22,0x2f,0xf2,0x22,0x2f,0x5a,0x27,0x2a,0x36, + 0xf0,0x14,0x22,0xb2,0x13,0x1e,0xfe,0xc3,0xba,0x34,0x52,0xcd,0x88,0x33,0x63,0xea, + 0xa6,0xcc,0x43,0xb7,0xa3,0xab,0x46,0x94,0xb9,0x48,0x8f,0xf4,0xbe,0x97,0xad,0x61, + 0x29,0xd4,0xf0,0x34,0x79,0x12,0x97,0x8d,0xe4,0xb2,0x4d,0xf4,0x3,0x5e,0xff,0xce, + 0x3e,0xbc,0x89,0xb2,0x65,0xa1,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42, + 0x60,0x82, + // /work/project/qt/SVG_Upload5/image/2/capture_next_button_icon.png + 0x0,0x0,0x2,0xe6, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x50,0x0,0x0,0x0,0x6e,0x8,0x6,0x0,0x0,0x0,0xb0,0x61,0x94,0x70, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x2,0x98,0x49,0x44,0x41,0x54,0x78,0x9c,0xed, + 0xdd,0x3f,0x2f,0x83,0x51,0x14,0xc7,0xf1,0x43,0xc,0xad,0x9,0x9d,0x84,0xc5,0x50, + 0x2f,0xc0,0xa2,0xb1,0xb1,0x1a,0x5b,0x5b,0xb1,0x8,0x2b,0xaf,0x4,0x9b,0x88,0x9, + 0xb1,0x60,0x30,0x78,0x3,0xa6,0x5a,0xbc,0x0,0x1d,0xba,0x10,0x2f,0x81,0x8d,0x5c, + 0x83,0x3f,0xd,0x4f,0xc5,0xaf,0x3d,0xf7,0x9c,0x93,0xdf,0x77,0xe9,0xbf,0xe1,0xb9, + 0xf9,0x24,0xed,0xd3,0xe7,0xde,0x9b,0x76,0xe8,0xec,0xea,0xe6,0x55,0xd8,0xbf,0x1b, + 0x26,0x1d,0x16,0x1,0xc1,0x8,0x8,0x46,0x40,0x30,0x2,0x82,0x11,0x10,0x8c,0x80, + 0x60,0x4,0x4,0x23,0x20,0x18,0x1,0xc1,0x8,0x8,0x46,0x40,0x30,0x2,0x82,0x11, + 0x10,0x8c,0x80,0x60,0x4,0x4,0x23,0x20,0x18,0x1,0xc1,0x8,0x8,0x46,0x40,0x30, + 0x2,0x82,0x11,0x10,0x8c,0x80,0x60,0x4,0x4,0x23,0x20,0xd8,0x88,0xc6,0x41,0xf6, + 0x77,0x8f,0x3e,0xee,0x97,0xcb,0x25,0x59,0x5d,0x6f,0xbc,0xdf,0x46,0x48,0x5,0xb0, + 0xdd,0xee,0x7c,0x7b,0xbc,0xb7,0x7b,0x24,0xdb,0x3b,0x1b,0x21,0x10,0xb3,0xbc,0x85, + 0x1f,0x1f,0x9e,0xde,0x11,0x9f,0x9f,0x5f,0x72,0x1c,0xbe,0xaf,0x65,0xfb,0xc,0x8c, + 0x82,0xa8,0x2,0xd8,0x5c,0xab,0xff,0xf8,0x7c,0x4,0x44,0x15,0xc0,0x5a,0x6d,0x2e, + 0x2c,0xa2,0xda,0x5b,0x38,0x2a,0xa2,0xea,0x67,0x60,0x44,0x44,0xf5,0x93,0x48,0x34, + 0xc4,0x2c,0x67,0xe1,0x48,0x88,0xd9,0xbe,0xc6,0x44,0x41,0xcc,0x7a,0x2d,0x1c,0x1, + 0x31,0xfb,0x64,0x82,0x77,0x44,0x13,0xb3,0x31,0x9e,0x11,0xcd,0x4c,0x67,0x79,0x45, + 0x34,0x35,0x1f,0xe8,0x11,0xd1,0xdc,0x84,0xaa,0x37,0x44,0x93,0x33,0xd2,0x9e,0x10, + 0xcd,0x4e,0xe9,0x7b,0x41,0x34,0xbd,0x26,0xd2,0xb,0xf1,0xf0,0xe0,0x54,0x7d,0x4c, + 0xdd,0x99,0x5f,0x54,0x2a,0x42,0x4c,0x4b,0x5,0x27,0xc7,0x97,0xea,0x63,0xfa,0x9a, + 0x8b,0x55,0xb9,0x22,0xc4,0xdb,0xd6,0x5d,0x56,0x44,0x37,0xcb,0x9a,0x56,0x11,0x5d, + 0xad,0xb,0x5b,0x44,0x74,0xb7,0xb0,0x6e,0xd,0xd1,0xe5,0xce,0x4,0x4b,0x88,0x6e, + 0xb7,0x76,0x58,0x41,0x74,0xbd,0x37,0xa6,0x17,0x62,0xfb,0xbe,0xf3,0xe3,0x6b,0xfd, + 0xcc,0xfd,0xe6,0xa2,0x84,0x58,0x6f,0x2c,0x67,0x3b,0xbe,0x7b,0xc0,0x74,0x39,0xd7, + 0x6a,0xdd,0x65,0x3b,0xbe,0x6b,0xc0,0x84,0x97,0xae,0x89,0xd3,0x65,0x5d,0x77,0x69, + 0xe3,0xd2,0x44,0x65,0x6c,0xe0,0x63,0x70,0xb,0x58,0x84,0x97,0xda,0xdc,0x6a,0x4a, + 0xa5,0x32,0x3e,0xf0,0x71,0xb8,0x4,0xec,0x85,0x97,0x4e,0x2c,0xd5,0xd9,0x19,0x95, + 0xb1,0xb8,0x3,0xfc,0xb,0x5e,0x3a,0xb1,0x68,0xe5,0xa,0xd0,0x1a,0x9e,0x78,0x2, + 0xb4,0x88,0x27,0x5e,0x0,0xad,0xe2,0x89,0x7,0x40,0xcb,0x78,0x62,0x1d,0xd0,0x3a, + 0x9e,0x58,0x6,0xf4,0x80,0x27,0x56,0x1,0xbd,0xe0,0x89,0x45,0x40,0x4f,0x78,0x62, + 0x11,0xf0,0xe2,0xfc,0xda,0xd,0x9e,0x58,0x3,0x4c,0x93,0xa0,0xb7,0xbf,0xcc,0xac, + 0x58,0xc4,0x13,0x4b,0x80,0x1e,0xf1,0xc4,0xa,0xa0,0x57,0x3c,0xb1,0x0,0xe8,0x19, + 0x4f,0x72,0x3,0x16,0xe1,0xa5,0x69,0x7a,0xeb,0x78,0x92,0x13,0xb0,0x8,0x6f,0xbe, + 0x36,0x27,0x8b,0x4b,0xb,0xea,0x63,0xfa,0x4f,0x59,0x0,0x7b,0xe1,0xad,0xfe,0xb2, + 0xd2,0x66,0x31,0x75,0xc0,0x48,0x78,0xa2,0xd,0x18,0xd,0x4f,0x34,0x1,0x23,0xe2, + 0x89,0x16,0x60,0x54,0x3c,0xd1,0x0,0x4c,0xdb,0x2b,0xa2,0xe2,0x49,0xce,0xaf,0x31, + 0x11,0xf0,0x24,0x17,0x60,0x14,0x3c,0xd1,0xf8,0xdd,0x98,0xf2,0x68,0x49,0xaa,0xd5, + 0xcf,0x45,0xee,0xa9,0xe9,0x49,0x69,0xac,0xe4,0xdb,0xc,0xd4,0xef,0xf8,0x9f,0x4a, + 0x60,0xfc,0xed,0x2c,0x30,0x2,0x82,0x11,0x10,0x8c,0x80,0x60,0x4,0x4,0x23,0x20, + 0x18,0x1,0xc1,0x8,0x8,0x46,0x40,0x30,0x2,0x82,0x11,0x10,0x8c,0x80,0x60,0x4, + 0x4,0x23,0x20,0x18,0x1,0xc1,0x8,0x8,0x46,0x40,0x30,0x2,0x82,0x11,0x10,0x8c, + 0x80,0x60,0x4,0x4,0x23,0x20,0x18,0x1,0xc1,0x8,0x8,0x46,0x40,0x24,0x11,0x79, + 0x3,0x75,0x67,0xa0,0x98,0x25,0xd3,0x13,0xee,0x0,0x0,0x0,0x0,0x49,0x45,0x4e, + 0x44,0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/2/capture_delete_button_icon.png + 0x0,0x0,0x3,0x85, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x79,0x0,0x0,0x0,0x48,0x8,0x6,0x0,0x0,0x0,0xd2,0xdc,0x5a,0x41, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x3,0x37,0x49,0x44,0x41,0x54,0x78,0x9c,0xed, + 0x9d,0xcd,0x6e,0x12,0x51,0x14,0xc7,0x4f,0x27,0xc5,0x2f,0x4c,0xa0,0x21,0x91,0x34, + 0x8d,0x82,0x5d,0xe8,0x42,0xd,0xd8,0x85,0xae,0xcc,0xc0,0xce,0xc7,0xe0,0x11,0x78, + 0x3,0xe0,0xd,0x78,0x4,0xd8,0x74,0xdf,0x27,0x0,0xea,0x46,0x5d,0x58,0x48,0x6b, + 0xa2,0x5d,0x54,0xfc,0x68,0x2a,0x26,0x4,0xc6,0x14,0xbf,0x68,0x82,0x39,0x13,0x87, + 0x50,0x9c,0xc1,0x80,0xe9,0x30,0xf7,0x9e,0xff,0x2f,0x21,0x40,0x2e,0x37,0x1c,0xe6, + 0x97,0x3b,0x77,0xee,0xb9,0xc3,0xbd,0x2b,0xdb,0x3b,0xbb,0x23,0x2,0x5a,0xb3,0xea, + 0xf5,0xe3,0x36,0x6f,0xc6,0x69,0x63,0x3d,0x46,0xf1,0x58,0x84,0x42,0x21,0xcf,0x8f, + 0x81,0x25,0x33,0x1c,0x9e,0x51,0xa7,0x6b,0xd1,0xf1,0x49,0x97,0x8e,0x3e,0x76,0x5c, + 0x83,0xf9,0xab,0x25,0xaf,0x45,0xc2,0xf4,0xe4,0xd1,0x3d,0xa,0x5f,0xbd,0xc,0x7f, + 0x8a,0x31,0xf8,0xfe,0x93,0x9e,0xbd,0x7c,0x4d,0x3d,0x6b,0x70,0x2e,0x70,0x63,0xf2, + 0xd,0xb7,0xde,0xa7,0xe6,0x16,0x4,0x2b,0xa,0x7b,0x63,0x7f,0xec,0x71,0x92,0xb1, + 0x64,0x2e,0x78,0xfc,0xf0,0x8e,0xf4,0xe3,0xa4,0x5,0xec,0x71,0x52,0xb4,0x2d,0x39, + 0x7c,0xed,0xa,0x6d,0xdd,0xdf,0x94,0x7e,0x6c,0xb4,0x82,0x7d,0xb2,0x57,0x72,0x24, + 0x3f,0xb8,0x7b,0xb,0x17,0x57,0x9a,0xc1,0x3e,0xd9,0x2b,0x63,0x5c,0xa,0xad,0xd2, + 0xed,0xa9,0x73,0x38,0xd0,0x3,0xf6,0xca,0x7e,0x8d,0x1b,0xb1,0x8,0x94,0x6a,0xc, + 0xfb,0x35,0xd6,0x22,0xd7,0xa5,0x1f,0x7,0xad,0x61,0xbf,0xda,0x76,0xc4,0x99,0x4c, + 0x66,0xee,0x3a,0xf5,0x7a,0xfd,0x42,0x62,0x59,0x36,0xda,0x4a,0x6e,0x34,0x1a,0x1, + 0x88,0x22,0x18,0x18,0x2a,0x4,0x9,0xfe,0xf,0xed,0xc7,0x4d,0xa9,0x54,0x8a,0xca, + 0xe5,0xb2,0x67,0x79,0x3e,0x9f,0xa7,0x56,0xab,0xe5,0x6b,0x4c,0x7e,0xa3,0xbd,0xe4, + 0x68,0x34,0x3a,0xb3,0x7f,0xe6,0x72,0xdd,0x51,0x42,0x72,0xa5,0x52,0xa1,0x76,0xbb, + 0xbd,0x50,0x5d,0xae,0x57,0x2c,0x16,0x67,0x96,0x3b,0xcc,0xfa,0x9c,0x1b,0xc9,0x64, + 0x92,0x72,0xb9,0xdc,0x42,0x71,0xf9,0xca,0xfe,0x9b,0xf7,0xa3,0xa0,0x63,0x9a,0x26, + 0xcf,0x94,0x5,0xee,0xc1,0x71,0x5,0x1d,0xf6,0x8b,0xb,0x2f,0x1,0x28,0xd7,0x27, + 0xd7,0x6a,0xb5,0xa5,0xc7,0x90,0xcd,0x66,0x97,0x1e,0xc3,0x3c,0x28,0x27,0x79,0x91, + 0x24,0x87,0x74,0x70,0xba,0x16,0x80,0x72,0x2d,0x59,0xd7,0xd4,0xe3,0x45,0xa2,0x9c, + 0x64,0xd5,0xfa,0xc3,0x20,0x80,0xd3,0xb5,0x0,0x94,0x68,0xc9,0xe9,0x74,0xda,0x7e, + 0xee,0xf7,0xfb,0xe3,0x14,0x64,0x22,0x91,0xb0,0x93,0x11,0x7e,0xd1,0x6c,0x36,0xc9, + 0xb2,0x2c,0xfb,0xdb,0x38,0x55,0xca,0x99,0x32,0x27,0xae,0xc0,0xa3,0x42,0x32,0xc4, + 0xa1,0x56,0xab,0x8d,0x13,0x22,0x85,0x42,0xc1,0xd7,0xef,0x9e,0x4c,0xc8,0x70,0x1c, + 0xaa,0x80,0x64,0x88,0x10,0x20,0x59,0x0,0x90,0x2c,0x0,0xad,0xa6,0x1a,0x79,0xc, + 0xed,0x8c,0xa3,0x79,0x76,0x68,0xfa,0xc2,0xcc,0x99,0x65,0x72,0x9b,0x3d,0xe2,0xd9, + 0x28,0x9e,0xed,0xa2,0x3f,0x59,0x35,0x9d,0x32,0x6b,0xda,0x49,0x2e,0x95,0x4a,0xf6, + 0x6b,0x96,0x34,0x2d,0xd9,0x29,0x33,0x4d,0xd3,0x55,0xb2,0x53,0x4e,0x9a,0xa5,0x4f, + 0x71,0xba,0x16,0x0,0x24,0xb,0x0,0x92,0x5,0x0,0xc9,0x2,0x80,0x64,0x1,0x40, + 0xb2,0x0,0x20,0x59,0x0,0x90,0x2c,0x0,0x48,0x16,0x0,0x24,0xb,0x0,0x92,0x5, + 0x0,0xc9,0x2,0x80,0x64,0x1,0x40,0xb2,0x0,0x20,0x59,0x0,0x90,0x2c,0x0,0x48, + 0x16,0x0,0x24,0xb,0x0,0x92,0x5,0x0,0xc9,0x2,0x80,0x64,0x1,0x40,0xb2,0x0, + 0x20,0x59,0x0,0x5a,0xdd,0x77,0xcd,0x37,0xcf,0xcf,0x5a,0xa6,0x69,0x34,0xf2,0xde, + 0x38,0x87,0xef,0xb3,0x9e,0x55,0xae,0x32,0x68,0xc9,0x2,0x80,0x64,0x1,0x40,0xb2, + 0x0,0x94,0xed,0x93,0xf9,0xbf,0x4b,0x7e,0x2e,0x12,0xc3,0xab,0x1c,0xa8,0x8a,0xb2, + 0x92,0xab,0xd5,0xaa,0xfd,0x0,0xff,0x6,0xa7,0x6b,0x1,0x28,0xd5,0x92,0x79,0x31, + 0x16,0xfe,0xdb,0x69,0x10,0xe2,0x50,0x9,0xa5,0x24,0xf3,0x6a,0x3b,0x58,0xac,0x6d, + 0x7e,0x8c,0x9e,0x75,0xaa,0x5a,0xcc,0x60,0xe,0xd8,0xaf,0xf1,0xa5,0x6b,0xe1,0x98, + 0x69,0xc,0xfb,0x35,0x7e,0xd,0xcf,0xe8,0x9d,0xc7,0xbe,0xbb,0x40,0x6d,0xd8,0x2b, + 0xfb,0xb5,0xaf,0xae,0xf7,0xdf,0x7e,0xb0,0x37,0x5b,0x6,0xfa,0xc0,0x3e,0xd9,0x2b, + 0x39,0x43,0xa8,0xc1,0xb7,0x1f,0xf4,0xea,0xe0,0x8,0x8a,0x35,0xe2,0xf9,0xde,0xa1, + 0xed,0x95,0x26,0xc7,0xc9,0xbc,0x55,0xfa,0x8b,0xbd,0x43,0xe9,0xc7,0x46,0xb,0xd8, + 0xe3,0xa7,0xcf,0xdd,0xf1,0x4f,0x39,0x37,0x84,0x62,0xd1,0xbd,0xaf,0xa7,0xd8,0xee, + 0x5e,0x51,0xbc,0xb6,0xbb,0x5f,0xd9,0xde,0xd9,0x75,0x9d,0x44,0xe5,0x9d,0xb4,0x37, + 0xd6,0x63,0x14,0x8f,0x45,0xb0,0xb7,0x72,0x80,0xe1,0xbe,0xb7,0xd3,0xb5,0xe8,0xf8, + 0xa4,0x6b,0x37,0x52,0x37,0x3c,0xed,0x71,0x5,0xaf,0x4a,0x40,0x21,0x88,0xe8,0x37, + 0xdd,0xa4,0x1f,0x2a,0x10,0x65,0xbd,0xa6,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44, + 0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/2/preview-icon.png + 0x0,0x0,0x4,0x9b, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x50,0x0,0x0,0x0,0x6e,0x8,0x6,0x0,0x0,0x0,0xb0,0x61,0x94,0x70, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x4,0x4d,0x49,0x44,0x41,0x54,0x78,0x9c,0xed, + 0xdc,0x5b,0x48,0x14,0x51,0x18,0xc0,0xf1,0x4f,0x5d,0x77,0xbd,0xb2,0x8b,0x92,0x50, + 0x50,0x19,0x66,0xf,0x11,0x61,0x3d,0x94,0x54,0x90,0x58,0x9,0xf6,0x90,0x1b,0x45, + 0x45,0x61,0x17,0x9,0xa,0xb4,0x17,0x43,0x8a,0x32,0xea,0xa1,0x8,0x8a,0x1e,0xac, + 0xb0,0x47,0x7d,0x8b,0x20,0xa8,0x9e,0x8a,0x8a,0x6e,0x54,0x10,0xf4,0x10,0x91,0xbd, + 0x64,0x9a,0x65,0x79,0xa9,0xcc,0x75,0x6f,0xb3,0xae,0x36,0x71,0x6,0x57,0xaa,0x5d, + 0xb7,0xb5,0xcf,0x33,0x73,0xbe,0xe1,0xfb,0x83,0xac,0xb0,0x8b,0x73,0xf6,0x87,0xc3, + 0xce,0xcc,0x9e,0x33,0x69,0xba,0xae,0x3,0xf7,0xff,0xa5,0xb3,0x1d,0x2e,0x6,0x44, + 0xc6,0x80,0xc8,0x18,0x10,0x19,0x3,0x22,0x63,0x40,0x64,0xc,0x88,0x8c,0x1,0x91, + 0x31,0x20,0x32,0x6,0x44,0xc6,0x80,0xc8,0x18,0x10,0x19,0x3,0x22,0x63,0x40,0x64, + 0xc,0x88,0x8c,0x1,0x91,0x31,0x20,0x32,0x6,0x44,0xc6,0x80,0xc8,0x18,0x10,0x19, + 0x3,0x22,0x63,0x40,0x64,0xc,0x88,0xcc,0x8e,0x80,0x15,0x0,0x70,0xa,0x0,0x8a, + 0xcd,0xd8,0x98,0x9d,0x0,0xcb,0x86,0xfd,0x81,0x6e,0x0,0x78,0xd8,0xd1,0xd9,0x75, + 0x12,0x0,0xba,0xfd,0xc1,0xd0,0x5d,0xe9,0x5b,0x15,0x33,0x13,0x6c,0xf0,0x53,0x16, + 0xd6,0xb4,0xc8,0xed,0x27,0xcf,0xf4,0xe5,0x5b,0x77,0xe9,0xb3,0x56,0xaf,0xd7,0xbd, + 0xd,0x87,0xf5,0x89,0xf6,0xca,0x7c,0x7f,0x76,0x98,0xda,0x51,0xa6,0x45,0x22,0x2f, + 0x6e,0x3d,0x78,0xec,0x3c,0x74,0xe6,0xfc,0x1f,0x4f,0xc,0x3e,0xbd,0x7,0xc3,0xfe, + 0xc0,0x7,0x4f,0x7e,0xde,0x2,0x59,0x1b,0xa7,0xbe,0xb,0x97,0x8d,0x46,0xc7,0x9e, + 0x27,0xc2,0x8b,0xe5,0xc8,0x48,0xcf,0x97,0x39,0x0,0xca,0x80,0x6,0xde,0x8d,0xfb, + 0xf,0xb2,0x13,0xe1,0xb9,0xf3,0xf2,0x8c,0xc7,0xbc,0x9c,0x9c,0xd3,0x32,0x7,0x41, + 0x15,0x30,0x29,0x9e,0xe8,0xd2,0xf1,0x26,0x18,0x8d,0x8e,0x85,0x1,0xa0,0x5d,0xe6, + 0x40,0x28,0x2,0x1a,0x78,0x2f,0x3b,0xde,0x26,0xc5,0xab,0x2c,0x5f,0x11,0x76,0x66, + 0x3a,0x56,0x1,0xc0,0xb0,0xcc,0xc1,0x50,0x3,0x34,0xf0,0xde,0xf5,0x7c,0xcc,0xde, + 0x73,0xf4,0x64,0xc2,0x17,0x8,0xbc,0xcd,0xeb,0x2b,0x63,0x78,0xaf,0x64,0xf,0x88, + 0x12,0xe0,0x24,0x9e,0xb7,0xe1,0x30,0xf8,0x2,0x81,0xb8,0x17,0x8,0x3c,0xef,0xba, + 0x8a,0x88,0x59,0x78,0x40,0x8,0x30,0x25,0xbc,0x9a,0xca,0xb5,0xa3,0x2e,0xa7,0xb3, + 0xdc,0x2c,0x3c,0x20,0x2,0x98,0x32,0x5e,0x96,0xcb,0xb5,0xd2,0x4c,0x3c,0x91,0xea, + 0x7,0xd2,0x29,0xe1,0x6d,0xaf,0xae,0x12,0xbf,0x2e,0x33,0x1b,0xf,0x14,0xff,0xf, + 0x9c,0xe,0xde,0x3e,0x2b,0xf0,0x40,0x61,0xc0,0xe9,0xe2,0x49,0x3d,0xd6,0x4b,0x96, + 0x8a,0x80,0x64,0xf0,0x40,0x41,0x40,0x52,0x78,0xa0,0xd8,0x87,0x88,0x27,0x10,0xa, + 0x75,0xf6,0x7c,0xe9,0x2f,0xa4,0x82,0x27,0x72,0x28,0x30,0x6,0x91,0x67,0xc8,0xe7, + 0x7b,0xdd,0xf7,0xf5,0x3b,0x29,0x3c,0x50,0x64,0x17,0x8e,0xe1,0xcd,0xa5,0x86,0x7, + 0xa,0x0,0x7a,0xfc,0xc1,0xd0,0x4b,0xaa,0x78,0x60,0x31,0xa0,0x27,0xa4,0x69,0x2f, + 0x7a,0xfb,0x7,0x8a,0xa9,0xe2,0x81,0x85,0x80,0x6,0x5e,0xcf,0xe7,0xbe,0x92,0x4d, + 0xf5,0x8d,0x19,0x89,0xf0,0x9a,0xea,0x76,0x2b,0x8f,0x7,0x16,0x7d,0x88,0x18,0x78, + 0x3f,0x46,0xfc,0xb,0x37,0xd5,0x37,0xa6,0x27,0xc2,0xdb,0xb1,0xb1,0xa,0x9a,0xea, + 0x6a,0x41,0x75,0x3c,0xb0,0x0,0xd0,0xc0,0x1b,0x1f,0xff,0x59,0x5a,0x7b,0xe4,0x44, + 0xda,0x54,0x78,0x17,0x8f,0x35,0x1,0x5,0x3c,0x30,0x79,0x17,0x9e,0xc4,0xab,0x69, + 0x68,0x4c,0x7b,0xf3,0xee,0x7d,0xdc,0xb,0xa8,0xe1,0x81,0x89,0x80,0x29,0xe3,0xd, + 0xe,0xd,0xd5,0x53,0xc1,0x3,0x93,0x0,0xa7,0x85,0x57,0x54,0x50,0xd0,0x6a,0xc2, + 0x98,0x66,0x2c,0xd9,0x80,0xb6,0xc6,0x3,0xd9,0x1f,0x22,0xc1,0x70,0xf8,0x6c,0x6e, + 0x76,0xf6,0xa2,0xca,0x7d,0x7,0x21,0x19,0x9e,0x16,0x89,0x5c,0xa5,0x88,0x7,0xb2, + 0x2f,0x26,0x8c,0x46,0xa3,0x61,0x67,0x66,0x66,0x56,0xd1,0x9a,0xd,0x71,0xcf,0xfd, + 0x8e,0x97,0xe5,0x72,0xed,0x94,0x36,0x8,0xc9,0x49,0xdd,0x85,0x5,0xde,0x54,0xcf, + 0x1d,0xd8,0xb6,0xc5,0x78,0xcc,0x72,0xb9,0xce,0x99,0xfa,0x8e,0x67,0x38,0xa9,0x80, + 0xfe,0x60,0x28,0x7e,0xbf,0x9d,0x48,0x9c,0xbe,0x75,0x74,0x76,0x89,0xd9,0x3,0xcf, + 0xc5,0x75,0x40,0xe9,0xef,0x54,0x52,0x52,0x1,0xf3,0x73,0x73,0xf6,0xc3,0xc4,0x39, + 0xed,0xdf,0x89,0x83,0x68,0x81,0x28,0x2e,0x9e,0x52,0x46,0x94,0xfd,0x29,0xfc,0x48, + 0x1c,0x14,0x8b,0x73,0x5a,0xbb,0x22,0x9a,0x71,0x1c,0xd8,0x6e,0x67,0x44,0xb3,0xce, + 0x44,0x6c,0x8b,0x68,0xe6,0xb9,0xb0,0x2d,0x11,0xcd,0xbe,0x1e,0x68,0x3b,0x44,0x2b, + 0x2e,0xa8,0xda,0xa,0xd1,0xaa,0x2b,0xd2,0xb6,0x41,0xb4,0xf2,0x3b,0x11,0x5b,0x20, + 0x5a,0xfd,0xad,0x1c,0x79,0x44,0x15,0xbe,0x17,0x26,0x8d,0xa8,0xca,0xdc,0x18,0xb2, + 0x88,0x2a,0x4d,0x2e,0x22,0x89,0xa8,0xda,0xec,0x2c,0x72,0x88,0x2a,0xce,0xf,0x24, + 0x85,0xa8,0xea,0xc,0x55,0x32,0x88,0x2a,0xcf,0x91,0x26,0x81,0xa8,0xfa,0x32,0x7, + 0xe5,0x11,0x29,0xac,0x13,0x51,0x1a,0x91,0xca,0x4a,0x25,0x65,0x11,0xa9,0xad,0x58, + 0xdf,0xb,0x0,0x6d,0xd7,0x6e,0xdf,0x85,0xa9,0xd6,0x8,0xdf,0xbc,0x7c,0x1,0x4a, + 0xe7,0xcf,0x13,0x8b,0xd,0xe7,0xc8,0x5e,0xa9,0x9,0x4,0x1,0x21,0x55,0xc4,0xd9, + 0xb3,0xa,0x3f,0x15,0xb8,0xdd,0x4b,0x79,0xb9,0x6b,0x7c,0x29,0xed,0xce,0x62,0xda, + 0xb0,0x98,0x7b,0x2d,0xa6,0x97,0xc8,0x1c,0xc,0xd5,0x15,0xeb,0xff,0x44,0x6c,0x6e, + 0x69,0x85,0x2,0xb7,0x7b,0xae,0x16,0x89,0x48,0x9d,0x32,0x42,0xf9,0x9e,0x9,0x49, + 0x11,0x63,0x85,0x34,0x6d,0xb1,0xcc,0x41,0x50,0xbf,0x6b,0x47,0x4a,0x88,0x32,0x53, + 0x65,0xa1,0xd,0x26,0x63,0x32,0xe6,0xf6,0xea,0xaa,0x36,0xf1,0xd8,0xdc,0x72,0xc5, + 0xd8,0x85,0x97,0x94,0x96,0x18,0x7f,0xd2,0x91,0xe1,0xb8,0x23,0x75,0xeb,0x36,0xb9, + 0x73,0x91,0xf8,0xf1,0xfa,0x83,0xc1,0x6f,0xe2,0x66,0x45,0xbd,0x3,0x83,0xe3,0xe2, + 0x71,0xc8,0x37,0x72,0x5d,0xd7,0x75,0xf,0xdf,0xb9,0x68,0x7a,0x79,0x27,0x6e,0x3c, + 0xd6,0xce,0xc7,0x81,0x4,0xe2,0xfb,0x7,0x22,0x63,0x40,0x64,0xc,0x88,0x8c,0x1, + 0x91,0x31,0x20,0x32,0x6,0x44,0xc6,0x80,0xc8,0x18,0x10,0x19,0x3,0x22,0x63,0x40, + 0x64,0xc,0x88,0x8c,0x1,0x91,0x31,0x20,0x32,0x6,0x44,0xc6,0x80,0xc8,0x18,0x10, + 0x19,0x3,0x22,0x63,0x40,0x64,0xc,0x88,0x8c,0x1,0x91,0x31,0x20,0x32,0x6,0x44, + 0xc6,0x80,0x98,0x0,0xe0,0x17,0xe4,0x1b,0xef,0x8b,0xc5,0x2d,0xa,0xdd,0x0,0x0, + 0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/2/capture_check box.png + 0x0,0x0,0x1,0xbf, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x20,0x0,0x0,0x0,0x20,0x8,0x6,0x0,0x0,0x0,0x73,0x7a,0x7a,0xf4, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x1,0x71,0x49,0x44,0x41,0x54,0x58,0x85,0xc5, + 0x96,0x6b,0x11,0x83,0x30,0x10,0x84,0x53,0x5,0x48,0x40,0x2,0x12,0x90,0x80,0x4, + 0x24,0x20,0x1,0x9,0x48,0x40,0x2,0x12,0x90,0x80,0x4,0x24,0x20,0xe1,0x3a,0x9b, + 0x69,0x98,0x2d,0x93,0x84,0x3c,0x68,0xba,0x33,0xfc,0x6b,0x93,0xef,0xb2,0xb7,0xb9, + 0x28,0x29,0xac,0xe3,0x38,0x64,0x9a,0xa6,0x73,0xd3,0xe2,0x0,0xe3,0x38,0x8a,0x52, + 0x4a,0xda,0xb6,0x2d,0xf,0x80,0xea,0xab,0xaa,0xd2,0x0,0xf3,0x3c,0x97,0x7,0xe8, + 0xfb,0xfe,0xab,0xfa,0xa2,0x0,0xdb,0xb6,0xe9,0xcd,0xf1,0xad,0xeb,0x5a,0x1e,0x0, + 0x55,0x63,0x73,0x9c,0x2,0xab,0x8,0xc0,0xb2,0x2c,0x67,0xf5,0xfb,0xbe,0x97,0x7, + 0xa8,0xeb,0x5a,0x6f,0x8e,0x4,0x5c,0xf5,0x73,0x0,0x64,0x1e,0x9b,0xa3,0xfb,0x91, + 0x82,0xa2,0x0,0xb6,0xd8,0x39,0x1,0x5c,0x3f,0xc8,0xd1,0x30,0xc,0x7a,0xf3,0xa6, + 0x69,0x9c,0xab,0x68,0x0,0x93,0x4f,0x9b,0x47,0xa9,0x42,0xb3,0xd9,0x62,0x67,0x5, + 0xe0,0x2e,0x45,0x5e,0x9f,0x90,0x89,0x1d,0x5f,0x3a,0x5e,0xb,0xba,0xae,0x3b,0x8f, + 0xcb,0xd6,0x2c,0x31,0x42,0xc5,0xae,0xd8,0x39,0x1,0xb8,0x61,0xe0,0x5d,0x8e,0x50, + 0x44,0xe8,0x3a,0x5f,0x29,0x60,0x2b,0x7c,0xbe,0xf9,0x84,0x66,0xf6,0xc5,0xce,0xb, + 0x20,0xd4,0xb9,0xb8,0x3c,0x62,0xad,0xe0,0x53,0xe4,0x99,0x1f,0x5,0x80,0x45,0xcc, + 0xcd,0x15,0x6b,0x85,0x99,0xf5,0xf8,0x7f,0xa8,0xac,0x17,0x11,0x37,0x51,0xa8,0x15, + 0xa1,0xb1,0xbb,0xca,0x79,0x13,0x1a,0x2b,0x42,0xbd,0x34,0x29,0xba,0x8b,0x5d,0x30, + 0x0,0x5b,0x81,0xc5,0x7d,0xe2,0x13,0x8b,0xbd,0x47,0xbc,0xb3,0x80,0x17,0x46,0x42, + 0x5c,0x72,0xcd,0xfa,0x6c,0x0,0xa1,0xc6,0x72,0x59,0x11,0x1b,0xbb,0x68,0x0,0xa1, + 0x8b,0xe5,0x6a,0x5,0xdb,0x94,0x3a,0x47,0x82,0x0,0xf8,0x3d,0xc7,0x56,0xa4,0xc4, + 0x2e,0x9,0x40,0x2e,0x56,0x20,0x72,0xf8,0xee,0x66,0xfd,0xa3,0x0,0x42,0x56,0xa0, + 0xe9,0x6c,0x4f,0xec,0x9f,0x3,0xc0,0xa,0x53,0x75,0xee,0xcc,0x48,0x2,0x10,0x7a, + 0xe3,0xa5,0xc6,0x2e,0x1b,0x40,0x3e,0xb9,0x37,0xbd,0xf0,0x17,0x0,0x6c,0x1c,0x3a, + 0xed,0xee,0xf4,0xd2,0x14,0xff,0x92,0x52,0xea,0xd,0x2b,0x70,0x22,0x9e,0xb8,0x20, + 0x2c,0x49,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/2/next-icon_clicked.png + 0x0,0x0,0x4,0x7b, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x50,0x0,0x0,0x0,0x6e,0x8,0x6,0x0,0x0,0x0,0xb0,0x61,0x94,0x70, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x4,0x2d,0x49,0x44,0x41,0x54,0x78,0x9c,0xed, + 0xdd,0x4d,0x48,0x14,0x61,0x18,0xc0,0xf1,0x47,0x9d,0xfd,0x52,0xcb,0x2d,0x95,0x4c, + 0xb2,0x22,0x2d,0x82,0x20,0xc,0x14,0xd1,0xba,0x14,0x1e,0xec,0xd6,0x2d,0xea,0xb4, + 0x42,0x5,0x9,0x89,0x90,0x84,0x85,0x97,0xe,0xa9,0x17,0x2f,0x89,0x87,0xa0,0xd2, + 0x2e,0x42,0x11,0x54,0x14,0x9,0x52,0x21,0x64,0x8a,0x18,0x14,0x44,0x5d,0x44,0x2a, + 0x85,0x8a,0x28,0xbf,0x5a,0xd7,0xd5,0xdd,0x6d,0xe2,0x1d,0xb4,0x83,0xba,0xb6,0xf5, + 0xf4,0x7e,0x3c,0xc3,0xf3,0x87,0x65,0x59,0x57,0xd8,0xe1,0xc7,0x8c,0x33,0xfb,0xbe, + 0x2f,0x63,0x9a,0x6d,0xdb,0xc0,0xfd,0x7b,0xe9,0x6c,0x87,0x8b,0x1,0x91,0x31,0x20, + 0x32,0x6,0x44,0xc6,0x80,0xc8,0x18,0x10,0x19,0x3,0x22,0x63,0x40,0x64,0xc,0x88, + 0x8c,0x1,0x91,0x31,0x20,0x32,0x6,0x44,0xc6,0x80,0xc8,0x18,0x10,0x19,0x3,0x22, + 0x63,0x40,0x64,0xc,0x88,0x8c,0x1,0x91,0x31,0x20,0x32,0x6,0x44,0xc6,0x80,0xc8, + 0x18,0x10,0x19,0x3,0x22,0x53,0x5,0x18,0x4,0x80,0x6,0x0,0x38,0xa6,0xe8,0xf3, + 0x94,0x25,0x1b,0x30,0x38,0x3b,0x37,0x77,0x17,0x0,0xa6,0xbe,0x4e,0x4e,0xb5,0x3, + 0xc0,0xbd,0x48,0x34,0xfa,0xcd,0x55,0x90,0x62,0x65,0x82,0xac,0x47,0x38,0x12,0x69, + 0xb3,0x6d,0xdb,0xbe,0xda,0x73,0xdb,0x3e,0x14,0x3a,0x63,0xd7,0xd4,0x35,0xd8,0x8f, + 0x7,0x6,0xed,0xa5,0x42,0x32,0x3f,0x5b,0xd5,0x43,0xea,0x1e,0x18,0x4f,0x24,0x6a, + 0xc4,0xf3,0xe8,0xf8,0x84,0xf3,0x3a,0x1c,0x89,0x40,0xcb,0xf5,0x6e,0xe8,0x7d,0x31, + 0x24,0x5e,0x76,0x1,0x40,0x48,0xe6,0xe7,0xab,0x48,0xcb,0x49,0xc4,0x4d,0x88,0x52, + 0x1,0xfd,0x5e,0xdf,0xbb,0x64,0xef,0xb9,0x5,0x51,0x2a,0xa0,0xcf,0xeb,0xa9,0x9b, + 0x9,0x87,0x27,0xea,0x4f,0x1e,0x87,0xec,0xcc,0xcc,0x55,0xef,0xbb,0x1,0x51,0xf6, + 0x21,0x3c,0x9d,0x93,0x9d,0xbd,0x3f,0x7f,0x53,0x70,0xa2,0xa3,0xe9,0xbc,0x2b,0x11, + 0x55,0xad,0xf,0xc,0xc6,0xe2,0xf1,0x4f,0x1f,0x3f,0x7f,0x9,0x9c,0x6b,0x6b,0x77, + 0x4e,0x26,0x2b,0xbb,0x74,0x2a,0x4,0x47,0xf,0x56,0x8a,0x9f,0xd6,0x2,0x40,0xb7, + 0x8a,0x8d,0xfa,0x1f,0xa9,0x3a,0x89,0x4c,0x7b,0x2c,0xab,0x6a,0xc7,0xd6,0x82,0x79, + 0xb7,0xed,0x89,0x2a,0xcf,0xc2,0xaf,0xdd,0x88,0xa8,0xfa,0x32,0xc6,0x75,0x88,0x3a, + 0xae,0x3,0x5d,0x85,0xa8,0x6b,0x34,0xc6,0x35,0x88,0x3a,0x87,0xb3,0x5c,0x81,0xa8, + 0x7b,0x3c,0x90,0x3c,0xa2,0x9,0x3,0xaa,0xa4,0x11,0x4d,0x19,0x91,0x26,0x8b,0x68, + 0xd2,0x90,0x3e,0x49,0x44,0xd3,0xe6,0x44,0xc8,0x21,0x9a,0x38,0xa9,0x44,0xa,0xd1, + 0xd4,0x59,0x39,0x32,0x88,0x26,0x4f,0x6b,0x92,0x40,0x34,0x7d,0x5e,0xd8,0x78,0x44, + 0xa,0x13,0xeb,0x46,0x23,0x52,0x59,0x99,0x60,0x2c,0x22,0xa5,0xa5,0x1d,0x46,0x22, + 0x52,0x5b,0x1b,0x63,0x1c,0x22,0xd5,0x7b,0x26,0x94,0xc6,0xe2,0xf1,0xc1,0x14,0xe7, + 0x58,0xe,0x3,0x40,0xbf,0xac,0xd,0xa1,0x7c,0xd3,0x89,0x3f,0x22,0x3e,0xef,0xba, + 0x6,0x73,0xf3,0xd1,0xb1,0xac,0x80,0xbf,0x44,0xd6,0x46,0x50,0x5e,0xde,0xe6,0x1c, + 0xce,0x25,0x45,0xdb,0x40,0x1c,0xce,0xc9,0xca,0xa,0xf8,0x8b,0x65,0x6e,0x4,0xe9, + 0xf5,0x81,0xb,0x8b,0xb1,0xb,0xe2,0xf9,0x4e,0xdf,0xd3,0xa4,0xbf,0x13,0x8b,0xc7, + 0xa3,0x32,0xb7,0x81,0x2c,0xe0,0xc2,0x62,0xac,0xc7,0xe7,0xf5,0x9c,0x68,0xb9,0x71, + 0xb,0x7a,0x7,0x6,0x57,0xbd,0xbf,0x7b,0x7b,0x91,0xf3,0x1c,0x4f,0x24,0xa4,0xce, + 0x31,0x93,0xfc,0x1b,0x38,0x39,0x33,0x5b,0xb7,0x39,0x67,0x63,0xe7,0x7a,0x78,0x1d, + 0x4d,0x8d,0x76,0x46,0x7a,0xda,0xa8,0xdf,0xe7,0xab,0x10,0xf3,0xd2,0xb2,0xb6,0x85, + 0xdc,0x1e,0x68,0x12,0x1e,0x50,0x3,0x34,0xd,0xf,0x88,0x1d,0xc2,0xe2,0xa2,0xb8, + 0xcb,0x24,0x3c,0x20,0xb4,0x7,0x1a,0x89,0x27,0xb2,0x54,0x7d,0x10,0xa2,0x75,0xf1, + 0xc4,0xd7,0xb9,0xe6,0xd3,0xb5,0x89,0x8c,0xf4,0xb4,0x31,0xd5,0x78,0x40,0x60,0xf, + 0x74,0xf0,0xba,0x1e,0x3c,0x4a,0x8a,0xd7,0x79,0xb1,0x31,0x51,0x98,0x9f,0xa7,0x5, + 0xf,0xc,0x7,0x74,0xf0,0xc4,0xc0,0xc0,0xcd,0xfb,0xf,0x57,0xbd,0x69,0x2,0x1e, + 0x18,0xc,0xf8,0x1b,0x4f,0x8c,0xae,0xac,0x4c,0xe0,0x89,0xaf,0x6f,0x5b,0x72,0x73, + 0x3f,0xe8,0xc4,0x3,0x43,0x1,0x53,0xc2,0x13,0xcb,0x86,0xb3,0x2,0xfe,0x32,0x9d, + 0x78,0x60,0x20,0x60,0xca,0x78,0x62,0xed,0xb5,0x6e,0x3c,0x30,0xec,0x3a,0x30,0x25, + 0xbc,0xc2,0xfc,0xbc,0xef,0x99,0x7e,0x67,0x78,0x4a,0x3b,0x1e,0x18,0x74,0x19,0x93, + 0x12,0x9e,0x18,0x89,0xf6,0x58,0x56,0xb5,0x29,0x78,0x60,0xc8,0x21,0xfc,0x37,0x78, + 0x55,0x62,0x1c,0x50,0xcb,0x56,0x26,0x49,0x37,0x20,0x69,0x3c,0xd0,0xc,0x48,0x1e, + 0xf,0x34,0x9e,0x44,0x4a,0x1,0xe0,0x15,0x75,0x3c,0xd0,0x74,0x12,0x29,0x5d,0x58, + 0x8c,0xd,0x3f,0x1b,0x79,0x49,0x1e,0xf,0x34,0x1c,0xc2,0xcb,0x78,0x5e,0x37,0xe0, + 0x81,0x62,0x40,0x31,0xd,0x39,0xe4,0x26,0x3c,0x50,0x8,0xe8,0xcc,0xe1,0x3e,0x19, + 0x1e,0xf1,0xbb,0x9,0xf,0x14,0x1,0x2e,0xe3,0x5,0xd6,0xc2,0x13,0xb5,0xd6,0x9f, + 0x25,0x89,0x7,0x2a,0xee,0xda,0x21,0xf0,0x86,0xdf,0xbc,0x4d,0x8a,0x27,0x96,0x60, + 0xec,0x2b,0xde,0x45,0x12,0xf,0x14,0x0,0x86,0x3c,0x96,0x15,0xb8,0xb2,0xe,0x5e, + 0x75,0x45,0x39,0x59,0x3c,0x90,0xd,0x18,0x89,0x46,0x9b,0x61,0xe9,0x6e,0x1d,0x2b, + 0x5b,0xc2,0x8b,0x52,0xc6,0x3,0xd9,0x80,0x89,0xc4,0xcf,0x1f,0x6b,0xfd,0x5c,0xe0, + 0x1d,0x29,0x2f,0x5b,0xf4,0x58,0x56,0x25,0x65,0x3c,0x90,0xd,0xb8,0x21,0x2b,0xf3, + 0xb2,0x78,0x3e,0xb0,0x77,0x8f,0xf3,0xba,0x20,0x2f,0x17,0x5a,0xeb,0xeb,0x1c,0x3c, + 0x9f,0xd7,0x53,0x41,0x1d,0xcf,0x49,0xf6,0x1d,0x7e,0xc2,0x91,0xf9,0x3e,0x71,0xa3, + 0xa2,0xd1,0xf1,0x9,0xe7,0x7e,0x45,0xb3,0xe1,0xb9,0xf7,0xb6,0x6d,0x97,0xba,0xe1, + 0xae,0x45,0xe2,0xa1,0xea,0xbb,0xf0,0xce,0xa5,0xc1,0x83,0x7e,0x99,0x8b,0x1d,0x75, + 0xc4,0xff,0xd5,0xb,0x19,0xdf,0x3f,0x10,0x19,0x3,0x22,0x63,0x40,0x64,0xc,0x88, + 0x8c,0x1,0x91,0x31,0x20,0x32,0x6,0x44,0xc6,0x80,0xc8,0x18,0x10,0x19,0x3,0x22, + 0x63,0x40,0x64,0xc,0x88,0x8c,0x1,0x91,0x31,0x20,0x32,0x6,0x44,0xc6,0x80,0xc8, + 0x18,0x10,0x19,0x3,0x22,0x63,0x40,0x64,0xc,0x88,0x8c,0x1,0x91,0x31,0x20,0x32, + 0x6,0xc4,0x4,0x0,0xbf,0x0,0x77,0x8c,0x3e,0x2f,0x1,0x2d,0xde,0xc0,0x0,0x0, + 0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/2/capture_close all_clicked_button_icon.png + 0x0,0x0,0x4,0xe8, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x50,0x0,0x0,0x0,0x46,0x8,0x6,0x0,0x0,0x0,0x5b,0x9e,0x13,0x2b, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x4,0x9a,0x49,0x44,0x41,0x54,0x78,0x9c,0xed, + 0x9c,0xbd,0x4f,0xdb,0x40,0x18,0x87,0x5f,0x12,0x68,0xda,0x90,0x90,0x54,0xa9,0xa2, + 0xf0,0x21,0x81,0xd4,0x5,0x36,0x16,0x60,0x65,0x40,0xcc,0xc0,0xce,0xc7,0xe,0x3, + 0x23,0x30,0x31,0x1,0x23,0x3,0xec,0x88,0xa1,0x23,0xd0,0x1d,0x4,0xea,0x6,0xfc, + 0x1,0x20,0xa4,0x4a,0xb4,0x4d,0x68,0x14,0x15,0xe5,0x3,0x1a,0x1a,0x42,0x42,0xf5, + 0x3b,0x70,0x64,0x13,0x93,0xd8,0x3e,0xc7,0xc8,0xf6,0x3d,0x92,0x15,0x92,0x98,0x8b, + 0xfb,0xf0,0xde,0x7b,0x77,0xaf,0xd3,0x6b,0xfa,0xf2,0xf5,0xdb,0x23,0x9,0xc,0xd3, + 0xac,0xf7,0x17,0x3f,0xf8,0x9a,0xa9,0xd9,0xeb,0x71,0x85,0xf1,0x87,0x52,0x99,0xee, + 0xa,0xf,0x35,0xcf,0xd1,0x24,0x30,0x12,0x7a,0x4f,0xe1,0x80,0x8f,0x42,0x1,0x9f, + 0x59,0xd7,0x66,0x2b,0xb2,0xb7,0x5,0x4a,0xa5,0xef,0xe8,0x26,0x7f,0xaf,0x4f,0x20, + 0xa2,0xed,0x73,0x67,0x88,0xde,0xb5,0x78,0x5d,0x29,0x4e,0x22,0xf4,0x1c,0x3c,0xa9, + 0x74,0x9e,0xe2,0xa9,0x5b,0xc5,0x7b,0xaf,0xa,0x44,0xd4,0x75,0xc7,0xda,0x2c,0xba, + 0x44,0x7b,0x10,0xfd,0xe8,0x27,0xaf,0xc7,0x43,0x3f,0x92,0xb9,0xca,0xf5,0xaa,0x26, + 0x33,0x74,0x57,0x21,0x4f,0x1d,0x4,0x16,0x44,0x4a,0x54,0x45,0xa0,0xd7,0xd3,0x44, + 0xdd,0xed,0xd5,0xf2,0xfc,0x7e,0x3f,0x3b,0x6a,0x91,0xcf,0xe7,0xd9,0xe1,0x74,0xda, + 0x3f,0xb5,0xd2,0x75,0xf6,0x8e,0x4a,0xe5,0xc7,0x6a,0x81,0x5d,0xd1,0x20,0x93,0x28, + 0x27,0x14,0xa,0x51,0x2c,0x16,0xab,0xff,0xd7,0x89,0x44,0x28,0x99,0x4c,0x52,0x36, + 0x9b,0x75,0xb4,0x42,0xf8,0x9,0x7,0x7d,0x74,0x9d,0xfd,0x57,0xdd,0x85,0xf1,0xc6, + 0x4b,0xa2,0xd1,0x68,0xdd,0x46,0x97,0x97,0x97,0x69,0x7e,0x7e,0x5e,0xd3,0xb9,0x4e, + 0x0,0x3,0x2c,0xbd,0xec,0xc2,0x41,0xff,0xbb,0xaa,0xe8,0x3,0x1e,0x4f,0xed,0x79, + 0xdf,0xe5,0xe5,0x25,0xad,0xaf,0xaf,0xd3,0xd1,0xd1,0x11,0x3b,0x17,0x5d,0xdd,0xe9, + 0x5d,0xd9,0xef,0x6b,0x61,0x8f,0xa,0x33,0x1,0x7f,0x8b,0xa1,0xc6,0x10,0x7d,0x63, + 0x63,0x63,0xd4,0xdf,0xdf,0x6f,0xce,0xd5,0xd9,0x8,0xcd,0x2b,0x11,0x44,0x98,0x14, + 0x69,0x72,0x10,0x75,0x7b,0x7b,0x7b,0xec,0x3d,0x37,0xa2,0x79,0x4d,0x86,0x8,0xdb, + 0xda,0xda,0x62,0xc2,0xe4,0x48,0xb9,0x2f,0x1c,0xe,0xb,0x81,0xb5,0xe8,0xe9,0xe9, + 0x61,0xd1,0x37,0x33,0x33,0x43,0x99,0x4c,0x86,0x9d,0x9,0xa1,0x88,0x3c,0x48,0x74, + 0x2b,0xba,0x8a,0x9,0x90,0x87,0xee,0x8a,0x88,0x83,0x3c,0x88,0xd3,0x2a,0x6f,0x7f, + 0x7f,0x9f,0xce,0xcf,0xcf,0x2d,0xd5,0xdc,0xdb,0xdb,0x4b,0x9d,0x9d,0x9d,0xd4,0xd7, + 0xd7,0xd7,0xb0,0xcf,0xd0,0x5d,0x8d,0x81,0x38,0x44,0xe3,0xf0,0xf0,0x30,0x7b,0x84, + 0xd4,0x97,0x94,0x4a,0x25,0xc5,0x2b,0xbb,0xbb,0xbb,0xb4,0xb8,0xb8,0x68,0xda,0x45, + 0xeb,0x65,0x6a,0x6a,0x8a,0x96,0x96,0x96,0x1a,0xd2,0xb6,0x26,0x81,0xe5,0x72,0xb9, + 0x32,0x95,0x41,0xae,0x83,0xc4,0xf1,0xf1,0x71,0x3a,0x3c,0x3c,0x54,0x3d,0xb7,0x50, + 0x28,0x28,0x5e,0x4b,0x24,0x12,0x66,0x5d,0xaf,0x21,0xce,0xce,0xce,0x1a,0xd6,0xb6, + 0xa6,0x1c,0x98,0x4a,0xa5,0x14,0xcf,0x31,0xa0,0x20,0xaa,0x10,0x85,0xf5,0xce,0x75, + 0x3a,0x9a,0x22,0x10,0x4b,0xb3,0x62,0xb1,0x48,0x81,0x40,0x80,0x7c,0xbe,0xa7,0x95, + 0xca,0xe8,0xe8,0xa8,0x62,0xb2,0x8c,0xf7,0x73,0xb9,0x9c,0xea,0x4,0x1a,0xaf,0xcb, + 0x41,0x6e,0x32,0xda,0xa5,0x4e,0x4e,0x4e,0xea,0x9e,0x73,0x7c,0x7c,0x4c,0xa7,0xa7, + 0xa7,0x86,0xda,0xd7,0x8b,0xe6,0x1c,0xc8,0x53,0x28,0x78,0xd9,0x85,0x82,0xc1,0x20, + 0xd,0xe,0xe,0x1a,0x6a,0x4b,0xeb,0xef,0x59,0x25,0xd0,0x1d,0xb5,0xf9,0x6,0x22, + 0x4,0x72,0x22,0x4,0x72,0x22,0x4,0x72,0x22,0x4,0x72,0x22,0x4,0x72,0xf2,0x26, + 0x2,0xdb,0xda,0x1a,0x7b,0xc3,0xa,0xf3,0x4c,0x39,0x13,0x13,0x13,0xd,0xfb,0x2c, + 0xdd,0x6b,0x61,0x33,0x68,0xe4,0xe2,0x1e,0x8c,0x8c,0x8c,0xd0,0xc1,0xc1,0x1,0x5b, + 0x42,0xa2,0x98,0x80,0x83,0x9e,0xe7,0xa3,0x2b,0x2b,0x2b,0x34,0x34,0x34,0xc4,0x96, + 0xa2,0xd2,0xeb,0x3c,0xbc,0x89,0x40,0x2b,0x90,0x8b,0x93,0x40,0x35,0x8,0x13,0x6c, + 0x1c,0xa8,0xe,0xa1,0xb2,0xc4,0x8b,0xab,0x72,0xa0,0x7c,0x49,0x9,0x99,0x88,0x46, + 0x5e,0x5c,0x25,0x70,0x7a,0x7a,0x5a,0x91,0x1f,0xb7,0xb7,0xb7,0x59,0x24,0xf2,0xe0, + 0xba,0x51,0x78,0x73,0x73,0x93,0xad,0xc5,0x25,0x50,0xa7,0xe4,0x29,0xb7,0xb9,0x4e, + 0x20,0xf2,0xe2,0xea,0xea,0x6a,0xe5,0xf9,0xcd,0xcd,0xd,0xcd,0xce,0xce,0x1a,0x6e, + 0xcf,0xf6,0x83,0xc8,0xc2,0xc2,0x2,0xf7,0x60,0x20,0xe5,0x43,0x23,0x25,0x36,0x5b, + 0x47,0x20,0x8a,0xba,0x66,0x8c,0xa4,0xf4,0x9c,0xf,0x8d,0x60,0x6b,0x81,0x98,0xcb, + 0xd,0xc,0xc,0x98,0xd2,0x96,0xd1,0x76,0x6c,0xdf,0x85,0x31,0x28,0xe8,0xbd,0xdb, + 0x87,0x41,0x43,0x7e,0x93,0xb,0x83,0xca,0xda,0xda,0x9a,0xa1,0xcf,0xb7,0xbd,0x40, + 0x2c,0xb,0xf5,0x56,0xb7,0x27,0x27,0x27,0x15,0xcf,0x91,0xfb,0x8c,0xae,0x4a,0x5c, + 0x37,0xa,0x6f,0x6c,0x6c,0x28,0xca,0xfd,0xb8,0x41,0x86,0x54,0x60,0x14,0x57,0x9, + 0xc4,0xd,0x29,0x8,0x94,0xe8,0xe8,0xe8,0xe0,0xbe,0x5f,0xec,0x2a,0x81,0x3b,0x3b, + 0x3b,0x8a,0xe7,0xc8,0x9f,0xbc,0x95,0x21,0x57,0x9,0xec,0xea,0xea,0xaa,0xfc,0x8c, + 0x41,0xc4,0x8c,0xaa,0x90,0x23,0xab,0x31,0x28,0x5b,0xa1,0xab,0xa2,0x78,0x80,0xc1, + 0x1,0xdd,0x14,0x91,0x86,0x5c,0x17,0x8f,0xc7,0x2b,0xe5,0x2c,0x33,0x70,0xa4,0x40, + 0xac,0x2a,0xa4,0x81,0x2,0x8f,0x88,0xbc,0xb9,0xb9,0x39,0x26,0xd3,0xe8,0x74,0xe5, + 0x35,0x44,0x49,0x9f,0x13,0x21,0x90,0x13,0x21,0x90,0x13,0x21,0x90,0x13,0x21,0x90, + 0x13,0x21,0x90,0x13,0x4b,0x4,0x5a,0xfd,0xdd,0x68,0x2b,0xb1,0x64,0x1e,0x88,0xb2, + 0xb9,0x1c,0x4c,0x72,0xe5,0x6b,0x52,0x3b,0x23,0xba,0x30,0x27,0x96,0x8,0x44,0xd5, + 0xe3,0x2d,0x31,0xe3,0x1b,0x8,0xaf,0x61,0x49,0x17,0x46,0xd5,0x43,0x5a,0x9b,0x9a, + 0x5,0xaa,0xca,0x57,0x57,0x57,0x35,0x5b,0xc3,0x1f,0xe,0x5f,0xf3,0x30,0x6b,0xdd, + 0xab,0x86,0x25,0x2,0x51,0xf5,0x80,0x44,0x27,0x22,0x72,0x20,0x27,0x42,0x20,0x27, + 0x42,0xa0,0x41,0xa,0xc5,0xa7,0xff,0xce,0xa6,0x10,0x78,0x9b,0x2f,0xda,0xe7,0x5f, + 0xf0,0xc6,0x48,0x3b,0x1a,0x29,0x4,0x62,0x67,0x1e,0xec,0x44,0x21,0xa8,0x4f,0xe6, + 0xb6,0x50,0x2d,0x10,0xfc,0xfe,0xf3,0x57,0xe8,0xab,0x3,0x76,0x30,0xba,0x57,0xeb, + 0xc2,0xf4,0xfc,0xa6,0xe8,0xca,0xaf,0x83,0xae,0x2b,0xf,0x32,0xd5,0x41,0xe4,0x7b, + 0x22,0x23,0x24,0xaa,0x0,0x79,0x17,0x3f,0xd3,0x8a,0x34,0xa7,0x3a,0x91,0xc6,0x9, + 0x17,0xbf,0xd2,0x6c,0x9b,0xa3,0xf6,0x48,0xab,0xeb,0x37,0x1f,0x83,0xf,0xf4,0x4c, + 0xb5,0xf4,0x56,0x73,0x25,0x82,0x9d,0x79,0x70,0x60,0x93,0x19,0xb6,0xa7,0x8c,0xb7, + 0x7a,0x4f,0x19,0x27,0x53,0x2a,0x3d,0xb2,0xa8,0x53,0xdb,0xf6,0x4e,0x93,0x40,0x9, + 0x34,0x52,0x6f,0x23,0x42,0xb7,0x22,0x26,0xd2,0x9c,0x8,0x81,0x9c,0x8,0x81,0x3c, + 0x10,0xd1,0x7f,0x79,0xb,0xb4,0xb6,0x15,0x8f,0xf8,0xb9,0x0,0x0,0x0,0x0,0x49, + 0x45,0x4e,0x44,0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/2/capture_send_icon_check box_button.png + 0x0,0x0,0x7,0xf7, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x79,0x0,0x0,0x0,0x48,0x8,0x6,0x0,0x0,0x0,0xd2,0xdc,0x5a,0x41, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x7,0xa9,0x49,0x44,0x41,0x54,0x78,0x9c,0xed, + 0x9d,0x7f,0x48,0x56,0x57,0x18,0xc7,0x9f,0x24,0x68,0x91,0xa9,0x34,0x48,0x47,0x6d, + 0xc8,0x96,0x14,0x2c,0xcb,0x2d,0xd8,0x40,0xb1,0x1f,0xc,0x4a,0xdf,0x7f,0xd2,0x56, + 0xcd,0x6d,0x16,0xae,0x41,0x6e,0xb1,0x7e,0xc0,0xa6,0xb0,0x19,0xcc,0xb1,0x5a,0x90, + 0xb,0x2c,0x47,0x51,0x30,0x71,0xce,0x95,0xfd,0x32,0xfb,0xe7,0x55,0x83,0x41,0x4b, + 0x14,0x36,0x68,0xb3,0xd5,0x60,0x43,0x37,0x64,0x15,0xd3,0xfe,0x18,0x16,0x8e,0xe6, + 0x5f,0x8d,0xef,0xc9,0x23,0xe7,0x9e,0xf7,0xde,0xf7,0xdc,0xab,0xaf,0xf3,0x9c,0x73, + 0xdf,0xf,0xbc,0xa4,0xef,0xf,0xbb,0xf7,0x7c,0xef,0xf3,0x9c,0xe7,0x79,0xce,0x73, + 0xdf,0x33,0xeb,0xf4,0xe5,0x6b,0x8f,0x28,0x89,0xd5,0xcc,0xf6,0x3a,0xb9,0xef,0x6f, + 0xdd,0xa0,0x9b,0xfd,0xbf,0xd2,0xc0,0x9f,0x83,0xf4,0x70,0x6c,0x2c,0x79,0x15,0x68, + 0xca,0xdc,0x39,0x73,0x68,0xc9,0x33,0xd9,0x94,0x9b,0xb3,0x8c,0x5e,0x5e,0xbe,0xd2, + 0xf5,0x20,0x63,0x2c,0xf9,0xee,0xbd,0x21,0xfa,0x26,0x7a,0x99,0xee,0xde,0x1b,0xe, + 0xef,0xc8,0x19,0xca,0xa2,0x85,0x99,0xf4,0x66,0x64,0x23,0x2d,0x5a,0x98,0xe5,0x38, + 0x1,0x87,0xc8,0xb0,0xde,0xd3,0xd1,0xcb,0x61,0x1f,0x2b,0xe3,0x79,0x23,0xb2,0xd1, + 0x61,0xd5,0x29,0xfc,0x7,0xb8,0xe6,0xa4,0xc0,0x76,0x0,0x1d,0xa1,0x27,0x87,0x89, + 0xfc,0x70,0xec,0x5f,0xe6,0xa2,0x93,0xd8,0x3,0xf4,0x84,0xae,0xc4,0x3,0xaf,0xb6, + 0x6f,0xbb,0x5c,0x83,0xab,0xf4,0xd4,0x54,0xaa,0x7a,0x7b,0x3b,0xed,0xdc,0x52,0xea, + 0xeb,0xe4,0xef,0xc,0xd,0x53,0xcd,0xd1,0x13,0xd4,0xd1,0xdd,0x93,0xbc,0x5c,0x66, + 0x18,0xe8,0x9,0x5d,0x31,0x47,0xa7,0x40,0xed,0x1f,0x6e,0xdd,0x70,0x3d,0xa2,0x20, + 0x2,0x83,0xc5,0x59,0x99,0xf4,0xd5,0xa1,0x5a,0x7a,0xfa,0xa9,0x4c,0x2b,0x6,0xca, + 0x74,0xa0,0x2b,0xf4,0x4d,0x41,0x8a,0xe4,0x45,0x59,0xf1,0x7a,0xdf,0xa7,0x59,0x5b, + 0x5b,0x4b,0x15,0x15,0x15,0xec,0xe7,0xb2,0xe2,0xd,0x61,0x1f,0x5f,0x6d,0x80,0xbe, + 0xb3,0xef,0xc4,0x49,0x95,0xd2,0x52,0xe7,0xf9,0x3a,0xd6,0x91,0x91,0x11,0xaa,0xaf, + 0xaf,0xa7,0xf6,0xf6,0x76,0xcb,0x86,0xc8,0x7c,0xa0,0x6f,0x4a,0x22,0xce,0x62,0xdf, + 0xbe,0x7d,0x54,0x52,0x52,0x42,0x6b,0xd7,0xae,0xd,0xf9,0x90,0xea,0x89,0x2f,0x91, + 0x9b,0x9a,0x9a,0x3c,0x5f,0xeb,0xeb,0xeb,0x63,0x16,0xc,0x77,0x9d,0x44,0x4f,0x3c, + 0xcb,0x9a,0x1c,0xb8,0x62,0x8,0x88,0x7f,0x61,0xb1,0x32,0x78,0xe,0x8f,0xec,0xec, + 0xec,0x50,0x4b,0x5c,0x16,0x59,0x4f,0x91,0xc2,0x2,0x4a,0x9b,0x9f,0x4a,0xfb,0x8f, + 0x1e,0xa7,0x5b,0xfd,0xbf,0x6b,0x70,0x54,0x8f,0x51,0x8a,0x9c,0x91,0x91,0xc1,0x2c, + 0x19,0xee,0x18,0xf,0x51,0x4c,0x58,0xf0,0xe0,0xe0,0xa0,0xab,0xf8,0x61,0x60,0x79, + 0xce,0x73,0x54,0x16,0xd9,0xc0,0x2,0x54,0x31,0x7e,0x69,0x3e,0xf4,0x9,0xbd,0xb8, + 0xb9,0x5c,0x9b,0x11,0x50,0x8a,0xc,0x30,0xd7,0x22,0x72,0xc6,0xe3,0xea,0xd5,0xab, + 0x13,0xcf,0x43,0x5c,0x58,0x39,0x2e,0x84,0xb0,0x80,0xda,0x1,0xac,0x16,0xe2,0x3e, + 0xbf,0xe4,0x59,0xd7,0xb3,0x4e,0x4b,0x4d,0xd5,0x6a,0x34,0x7c,0x89,0x4c,0xe3,0x29, + 0x52,0x5e,0x5e,0x1e,0x8b,0xa2,0x45,0x71,0x79,0xda,0x64,0x3b,0xc5,0x85,0x5,0x14, + 0x59,0x9d,0x4f,0xaf,0xf9,0x48,0x2b,0x5b,0x3b,0xae,0x68,0x35,0x1a,0xbe,0x45,0x86, + 0xa0,0x70,0xcf,0xb0,0x6a,0x3c,0xc2,0x90,0x32,0xa1,0xa8,0x53,0xb9,0xf5,0x55,0x8a, + 0x14,0xe6,0xb3,0x42,0x8f,0x5f,0x5a,0xa3,0x5d,0x33,0x7d,0xe8,0xe,0x7c,0x8b,0xc, + 0x60,0xc9,0xb0,0x62,0x2e,0xb4,0x8d,0x29,0x13,0xdc,0x71,0xf1,0xea,0x7c,0x26,0xae, + 0x97,0x3b,0x8e,0xc7,0x2f,0x3,0x7f,0x68,0x15,0x74,0x91,0x4a,0x64,0x1c,0xb0,0x7c, + 0xa2,0x70,0xd3,0xb0,0x60,0x58,0xb2,0x17,0xb7,0x87,0x86,0xa6,0xf5,0xa0,0xa7,0x83, + 0x82,0x17,0x56,0xb2,0xb9,0x16,0x6e,0xd9,0x6f,0x11,0xc8,0xd,0xdd,0xac,0x98,0x54, + 0x22,0xef,0x3e,0x78,0x98,0xda,0x1b,0x8e,0xc4,0x9c,0x34,0x72,0x63,0x2f,0x70,0x61, + 0xb4,0x46,0xf5,0x9a,0x93,0xbc,0x80,0x3b,0x46,0x9,0xf6,0xf5,0xc8,0x7a,0xa5,0x3b, + 0x7e,0x6c,0xa1,0x3,0xca,0x39,0x59,0xc7,0x73,0x8f,0x2b,0x32,0xdc,0xce,0xba,0xb7, + 0x2a,0x1f,0xe7,0x7f,0x3e,0x22,0x46,0x58,0xb0,0x9,0x2,0xf3,0x9c,0xb6,0xa8,0x30, + 0x3f,0xee,0xfb,0x1e,0x8c,0xfe,0xc3,0x56,0xd4,0x4e,0x9e,0x6b,0x63,0xbf,0xe3,0x82, + 0x8f,0xc7,0xd9,0x8e,0x2b,0x74,0x7f,0x74,0xf4,0xff,0x38,0x85,0x40,0x28,0xe7,0xe4, + 0xdb,0x7f,0xd,0x4f,0x9c,0xa4,0xc9,0x20,0xa7,0xad,0xdc,0xba,0xc9,0x97,0x3b,0xee, + 0xec,0xee,0xa5,0x68,0x77,0xcf,0xc4,0x5,0x8b,0xcf,0xba,0x79,0x34,0x99,0xe8,0xb5, + 0x5e,0x2d,0x47,0x28,0x50,0xe0,0x65,0x1a,0x7e,0x72,0x5a,0xe,0xd6,0xc2,0xcf,0x44, + 0xaf,0x50,0x6b,0x47,0x17,0xbb,0xb0,0x39,0x5e,0x2,0x9f,0x3a,0x7f,0xc9,0xb1,0xc, + 0x8b,0xcf,0xeb,0xba,0x8e,0x6e,0xa5,0xc8,0xb0,0x56,0xcc,0xb3,0x7e,0xdd,0x31,0x2c, + 0xb6,0xe7,0xa7,0xd8,0x35,0x75,0x2f,0x81,0xf7,0x7c,0x56,0xc7,0x2,0x35,0x91,0x68, + 0xb7,0x9e,0x56,0x4c,0x36,0x89,0x1c,0x24,0xa7,0xed,0xed,0xfb,0x99,0x45,0xc1,0x1d, + 0xd7,0x7a,0x3d,0xe7,0xd0,0x78,0x2,0xe3,0xa2,0x38,0xb0,0x67,0x97,0xe3,0xf9,0x93, + 0xe7,0x2e,0x26,0xe0,0x2c,0xa6,0x7,0xa3,0x45,0xe,0x92,0xd3,0xc2,0x9d,0xc2,0xda, + 0x20,0x86,0xe8,0x8e,0xdd,0x50,0x9,0x8c,0x29,0x40,0x7c,0xd,0x17,0x8d,0xea,0x6f, + 0xce,0x24,0x46,0x8a,0x1c,0x24,0xa7,0x45,0xc4,0x8b,0x80,0xc8,0xef,0x7c,0xa9,0x12, + 0x18,0x20,0x32,0x17,0xd1,0x31,0x37,0x16,0x31,0x46,0xe4,0xa0,0x39,0x2d,0x6,0x1e, + 0xa2,0x4,0x49,0x69,0xfc,0x8,0x8c,0xe3,0x10,0xe7,0x7a,0x36,0xaf,0x6b,0x1a,0x55, + 0x73,0xb4,0x17,0x99,0x47,0xc7,0xf9,0x79,0x2b,0xe2,0xbe,0xf,0x83,0x8d,0x85,0x1, + 0x88,0x3b,0x99,0xb2,0xa2,0x1f,0x81,0xc9,0xa5,0x7f,0xd,0x1e,0x42,0xc7,0xdc,0x58, + 0x44,0x4b,0x91,0x83,0xe6,0xb4,0x48,0x7d,0xa6,0x92,0xbe,0xf8,0x15,0x18,0xc0,0x93, + 0x88,0x98,0x50,0xfc,0xd1,0x4a,0x64,0xcc,0xb5,0xd,0x35,0x55,0x4a,0x77,0x8c,0x20, + 0xa,0x5,0x1a,0x14,0x2c,0xa6,0x1a,0xf0,0x4,0x11,0x18,0xc7,0x27,0x1e,0x1b,0x8e, + 0xc3,0x2d,0xf5,0xd2,0xd,0xad,0x44,0x8e,0x27,0xb0,0x58,0x62,0x4c,0xd4,0x2a,0x4f, + 0x10,0x81,0x69,0x7c,0xea,0x10,0x39,0x63,0x48,0x8d,0x5e,0x2b,0x91,0xbd,0xea,0xe3, + 0x8,0xa4,0x4a,0xde,0x7b,0x3f,0xa1,0x73,0x5f,0x50,0x81,0x59,0xba,0x26,0x47,0xd5, + 0x1d,0x7a,0x47,0xd5,0x9c,0x84,0xb4,0xe4,0x26,0x8a,0xfd,0xc7,0x8e,0x33,0x8b,0x95, + 0x41,0xe,0x7c,0xfd,0x42,0xb,0x55,0xed,0xd8,0x9e,0x90,0xff,0x29,0xa8,0xc0,0x0, + 0xf9,0xb8,0xf8,0x7e,0xc4,0x2,0x3a,0xe7,0xc6,0x22,0x5a,0x89,0x8c,0x1,0x5e,0xb5, + 0xb9,0x9c,0xd5,0x85,0x65,0x30,0xc0,0x55,0x3b,0xb6,0xd1,0x8f,0x17,0x5a,0x62,0xdc, + 0x66,0x10,0x26,0x23,0x30,0x40,0xc1,0x45,0x24,0x6a,0xd0,0xfd,0x5e,0x5a,0x89,0xc, + 0xe0,0x92,0xd1,0xd2,0xba,0x6a,0x4b,0x39,0xb3,0x16,0x19,0xcc,0xd9,0xc7,0x3e,0xaa, + 0xa2,0xf6,0x2f,0x8e,0xc4,0xd4,0x8f,0x55,0x4c,0x56,0x60,0xe4,0xc6,0x62,0x45,0x8d, + 0xa5,0x6b,0x86,0xcc,0xc7,0xa4,0xa3,0xc8,0x1c,0xb8,0xc2,0xed,0x1f,0x7e,0x4c,0xa5, + 0xbb,0x3f,0x60,0x65,0x43,0x19,0xe4,0xcd,0x97,0x1a,0x3e,0x67,0xed,0xaf,0x7e,0x6e, + 0xb0,0x9b,0xac,0xc0,0xe4,0x62,0xc5,0xa6,0xdd,0xb5,0xa9,0xad,0xc8,0x1c,0xa4,0x28, + 0x8,0xba,0x20,0x6,0x52,0x16,0x19,0x54,0x9f,0xae,0x9f,0x6f,0xa1,0x3,0x7b,0x77, + 0xb1,0xe0,0xc8,0x8d,0xa9,0x8,0x4c,0xac,0x8c,0xe9,0x5c,0xcd,0x32,0x6d,0x7d,0x5d, + 0x7b,0x91,0x39,0x10,0x63,0x5d,0xc5,0x3b,0x54,0xd7,0xf8,0xb5,0x6b,0x70,0x86,0xb5, + 0x5d,0xb7,0xe0,0x6c,0xaa,0x2,0x23,0xa2,0x16,0xd3,0x3a,0x1d,0x1b,0xf5,0x54,0x18, + 0x23,0x32,0x8d,0xcf,0xd7,0x75,0x8d,0xcd,0x2c,0x38,0x3b,0xeb,0xd2,0xdb,0x2c,0x7, + 0x67,0x53,0x15,0x18,0xa0,0xd7,0x5a,0x44,0xf7,0xc5,0x8,0x37,0x66,0x6d,0xab,0xfe, + 0xf4,0x51,0x67,0xcf,0x77,0xfa,0x1d,0x99,0xf,0x30,0x17,0x37,0xd4,0x54,0x2b,0xeb, + 0xda,0x22,0x41,0x4,0x86,0xfb,0xef,0xef,0x74,0x46,0xfa,0x39,0x45,0xa5,0xda,0xd7, + 0xaa,0x45,0x8a,0xa,0xd6,0x98,0x65,0xc9,0x32,0x8,0xce,0x30,0x5f,0x23,0x38,0x83, + 0x1b,0x55,0x11,0x44,0x60,0x72,0xa9,0x70,0x21,0xda,0x37,0x49,0x60,0x8e,0xd1,0x22, + 0x73,0x10,0x9c,0xad,0xab,0xa8,0xf4,0xc,0xce,0x68,0x12,0x2,0x13,0x13,0xd9,0xb9, + 0xe2,0x64,0x4a,0x19,0x53,0xc6,0xa,0x91,0x39,0xf1,0x82,0x33,0xaf,0xc8,0xdb,0xb, + 0xcc,0xe7,0x62,0x6e,0xac,0x73,0xa3,0x9e,0xa,0xab,0x44,0x26,0x21,0x38,0x43,0x89, + 0x54,0x4,0x51,0x77,0x10,0xa1,0x65,0x2b,0xd6,0xb9,0x51,0x4f,0x85,0x75,0x22,0x73, + 0x60,0xd5,0xa2,0xeb,0x46,0x84,0xbd,0x73,0xeb,0x26,0xdf,0x9f,0x97,0xbf,0x14,0x47, + 0xe7,0x46,0x3d,0x15,0xd6,0x8a,0x4c,0xec,0x36,0x9f,0x3a,0xc7,0xef,0x48,0xaf,0xfc, + 0x54,0xc7,0xe4,0x66,0x5,0x4,0x75,0xa6,0x2c,0x46,0xb8,0x61,0xb5,0xc8,0x8,0xc8, + 0xe4,0x92,0x68,0xb5,0x8f,0x95,0x2c,0xb9,0xfb,0xc3,0x64,0x2b,0x26,0xdb,0x45,0x6, + 0x58,0xec,0x10,0xc1,0xd,0x6b,0xf1,0x16,0x36,0x4c,0x6c,0xd4,0x53,0x61,0xbd,0xc8, + 0x28,0x41,0xca,0xd5,0x31,0x7c,0xd3,0xa0,0x17,0x72,0xbb,0xad,0x9,0x8d,0x7a,0x2a, + 0xac,0x17,0x99,0x98,0x35,0x9f,0x70,0xa4,0x54,0xa8,0x90,0xc9,0x5d,0x1e,0x9c,0x4a, + 0x29,0x38,0x33,0x69,0x49,0xd1,0x8b,0x50,0x88,0xc,0x4b,0x94,0x57,0x8e,0xe,0xee, + 0x7d,0x37,0xe6,0x7d,0xc8,0x8d,0x4d,0x6c,0xd4,0x53,0x11,0xa,0x91,0xc1,0xa9,0x73, + 0x6d,0x8e,0x94,0xa,0x62,0xca,0x65,0x4b,0xd9,0x8a,0x4d,0xad,0x70,0xc9,0x84,0x46, + 0x64,0x58,0xf3,0xe1,0xc6,0x66,0xc7,0x73,0xb8,0x69,0x8d,0x17,0x48,0x4c,0x6e,0xd4, + 0x53,0x11,0x1a,0x91,0x69,0x7c,0x7e,0x15,0x17,0x32,0xc4,0x2,0x89,0xc9,0x8d,0x7a, + 0x2a,0x42,0x25,0x32,0xb9,0xa4,0x54,0x70,0xd1,0xec,0x3e,0xab,0x98,0x32,0xa6,0x3d, + 0x5f,0xcc,0x1e,0x3a,0x91,0x11,0x48,0x89,0xd,0x82,0xb0,0x5e,0x79,0x4d,0xda,0xb4, + 0x46,0x3d,0x15,0xa1,0x13,0x19,0xd4,0x48,0x8b,0x17,0x72,0xd3,0x81,0x6d,0xdb,0x2b, + 0x84,0x52,0x64,0xcc,0xb5,0x6e,0xbd,0xdd,0x1c,0x1b,0xbe,0x8,0x47,0x24,0x94,0x22, + 0x83,0xba,0x2f,0x9b,0x5d,0x1b,0x2,0x91,0x66,0x99,0xd6,0xa8,0xa7,0x22,0xb4,0x22, + 0xf3,0x75,0x67,0x19,0xdb,0xac,0x98,0xc2,0x2c,0x32,0x8d,0xb,0x2a,0xb7,0xb,0xd9, + 0x14,0x70,0x71,0x42,0x2d,0x32,0xc0,0x3e,0x56,0x1c,0xcc,0xd3,0xa6,0x2f,0x46,0xb8, + 0x31,0x7b,0x41,0x7a,0x78,0xbe,0x90,0xdc,0xd,0x44,0xd2,0x68,0xb3,0x4d,0x9b,0x3f, + 0xcf,0x9a,0xe2,0x87,0xc8,0xe2,0x85,0x99,0x94,0xb2,0x22,0x67,0xa9,0x3e,0x47,0x34, + 0x43,0xc0,0x7a,0x6d,0x14,0x18,0x60,0xdb,0xdd,0x94,0xb9,0x73,0x9e,0xa0,0x97,0x3c, + 0xf6,0xdd,0x4d,0x62,0x36,0xd0,0x15,0xfa,0xb2,0x39,0xb9,0xb8,0x60,0xd,0xdb,0x6c, + 0x39,0x89,0x3d,0x40,0x4f,0xe8,0x4a,0x3c,0xf0,0xc2,0xbc,0x5c,0xfa,0x4a,0x51,0x52, + 0x62,0x8b,0x80,0x9e,0x3c,0xde,0x9a,0x88,0xae,0xb1,0xa9,0x32,0x36,0x57,0x4e,0x62, + 0x3e,0xf2,0x26,0xd9,0x8e,0x2f,0x86,0xc1,0xb,0x4f,0xa6,0xa5,0xb3,0xbd,0x77,0xff, + 0x7e,0x70,0x3f,0x29,0xb7,0x61,0x2c,0x48,0x4b,0x67,0x5b,0xe9,0x22,0xd8,0x12,0x71, + 0x6c,0x77,0x2f,0x82,0xad,0xef,0xb1,0x9b,0xf6,0xcd,0xfe,0xdf,0xc2,0x3e,0x76,0xda, + 0x93,0x9b,0xb3,0x94,0x72,0x73,0x96,0x39,0xac,0x57,0xc4,0x53,0x64,0x11,0xec,0xc1, + 0x7b,0x77,0xd8,0xbc,0xcd,0x43,0x6c,0x67,0x51,0x66,0x16,0x8b,0x9e,0xe3,0x42,0x44, + 0xff,0x1,0xaa,0x92,0xb0,0x42,0xb1,0x8,0x26,0x6a,0x0,0x0,0x0,0x0,0x49,0x45, + 0x4e,0x44,0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/2/capture_delete_clicked_button_icon.png + 0x0,0x0,0x3,0x76, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x79,0x0,0x0,0x0,0x48,0x8,0x6,0x0,0x0,0x0,0xd2,0xdc,0x5a,0x41, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x3,0x28,0x49,0x44,0x41,0x54,0x78,0x9c,0xed, + 0x9d,0x51,0x6a,0x1a,0x41,0x18,0xc7,0x3f,0x37,0xa9,0x26,0x56,0x6b,0x68,0xa0,0xb4, + 0x5a,0x68,0xa1,0x2f,0x7a,0x0,0xbd,0x87,0x7,0xd0,0x13,0x78,0x2,0xf,0x90,0x13, + 0x78,0x2,0x85,0xbe,0x9a,0x9e,0xa0,0x50,0xe8,0x8b,0xd2,0xb7,0x3e,0xf8,0xd2,0x42, + 0x40,0x49,0x29,0x8,0x4d,0x34,0xc6,0x58,0xd3,0x94,0xff,0x92,0x9,0x26,0xee,0x1a, + 0x92,0x52,0xdd,0x99,0xef,0xff,0x3,0x91,0x65,0x5d,0x1c,0xf7,0xe7,0xcc,0x7c,0xf3, + 0x8d,0xce,0xc4,0xde,0x7f,0xf8,0x74,0x25,0xc4,0x69,0xb6,0xc3,0x3e,0xdc,0x7e,0x66, + 0x47,0xf6,0x52,0x9,0x49,0x25,0xe3,0xb2,0xe5,0xc5,0xf8,0x2d,0x88,0x28,0x97,0x7f, + 0xae,0x64,0x3c,0x99,0xc9,0xaf,0xf1,0x85,0xc,0x4f,0xa6,0x81,0x85,0x5c,0x92,0xbc, + 0x9b,0xd8,0x96,0x77,0xb9,0x8c,0xc4,0x9f,0x6c,0xe9,0xbc,0x6b,0x96,0x81,0xa,0x98, + 0x49,0x25,0xfc,0xc7,0xab,0xfd,0xa7,0xf2,0x6d,0x70,0x22,0xe7,0x17,0xf3,0x5b,0x1f, + 0xc2,0x5b,0x3c,0x40,0xed,0x2d,0xbc,0x7d,0x4e,0xc1,0x96,0x2,0x6f,0xf0,0x7,0x8f, + 0x8b,0xdc,0x48,0xc6,0x89,0x37,0x2f,0x9f,0x69,0xbf,0x4f,0x4e,0x0,0x8f,0x8b,0xa2, + 0x7d,0xc9,0xf8,0x6,0xbc,0x7e,0x91,0xd6,0x7e,0x6f,0x9c,0x2,0x3e,0x4d,0x8b,0xec, + 0x4b,0x46,0x5b,0xce,0xe0,0xca,0x2d,0xe0,0x13,0x5e,0x81,0x87,0x83,0xbb,0x6d,0x38, + 0x71,0x3,0x78,0x85,0x5f,0x2f,0x9d,0x8c,0x53,0xa9,0xc3,0xc0,0xaf,0xb7,0xbb,0x13, + 0x3a,0x54,0x26,0xe,0x0,0xbf,0xce,0x1a,0xae,0x54,0x2a,0xf,0xbe,0xa6,0xd5,0x6a, + 0xfd,0x97,0xb2,0x6c,0x1a,0x67,0x25,0x77,0xbb,0xdd,0x8,0x94,0x22,0x1a,0x78,0x36, + 0x14,0x92,0xfc,0x1b,0xce,0x77,0xc8,0xf9,0x7c,0x5e,0xea,0xf5,0x7a,0xe8,0xf9,0x83, + 0x83,0x3,0xe9,0xf5,0x7a,0x6b,0x2d,0xd3,0xba,0x71,0x5e,0x72,0x3a,0x9d,0x96,0x52, + 0xa9,0xb4,0xf2,0xbc,0xeb,0x58,0x21,0xb9,0xdd,0x6e,0xcb,0x60,0x30,0x78,0xd4,0xb5, + 0xb8,0xae,0xd1,0x68,0xac,0x3c,0x6f,0x58,0xf5,0xba,0x20,0x72,0xb9,0x9c,0x94,0xcb, + 0xe5,0x47,0x95,0x6b,0x9d,0xc4,0x3e,0x7e,0xfe,0x72,0x65,0x32,0x23,0x51,0x5,0x91, + 0x72,0x14,0x3,0xa9,0x62,0xb1,0x18,0xf9,0x88,0xfc,0x78,0x78,0xc6,0xc0,0x4b,0x3, + 0xd6,0xf5,0xc9,0xcd,0x66,0x73,0xe3,0x65,0xa8,0x56,0xab,0x1b,0x2f,0xc3,0x43,0xb0, + 0x4e,0xf2,0xaa,0x20,0x8a,0x4,0xc3,0xe6,0x5a,0x1,0xd6,0xd5,0xe4,0x4e,0xa7,0x13, + 0x81,0x52,0xd8,0x85,0x75,0x92,0x6d,0xeb,0xf,0xa3,0x0,0x9b,0x6b,0x5,0x58,0x51, + 0x93,0xb,0x85,0x82,0xff,0x3c,0x1a,0x8d,0x6e,0x52,0x90,0xd9,0x6c,0xd6,0x4f,0x46, + 0xac,0xb,0xbc,0x2f,0xde,0x5f,0xae,0x53,0xa5,0xc8,0x94,0x99,0x72,0x45,0x1d,0x2b, + 0x92,0x21,0x6,0xf4,0xc7,0xa6,0xb9,0xae,0xd5,0x6a,0xfe,0x63,0x5d,0x2c,0x26,0x64, + 0x30,0x8c,0xb3,0x25,0xca,0x67,0x32,0x44,0x9,0x94,0xac,0x0,0x4a,0x56,0x80,0x53, + 0x53,0x8d,0xe8,0xb3,0xcd,0x38,0x1a,0xb3,0x43,0x77,0x3,0x33,0x33,0xcb,0x14,0x34, + 0x7b,0x84,0xd9,0x28,0xcc,0x76,0xc9,0x75,0x56,0xcd,0xa5,0xcc,0x9a,0x73,0x92,0x8d, + 0x48,0x48,0xa,0x93,0x8c,0xd9,0xa3,0x20,0xc9,0xe6,0x3c,0x2,0x3a,0x97,0x24,0xb3, + 0xb9,0x56,0x0,0x25,0x2b,0x80,0x92,0x15,0x40,0xc9,0xa,0xa0,0x64,0x5,0x50,0xb2, + 0x2,0x28,0x59,0x1,0x94,0xac,0x0,0x4a,0x56,0x0,0x25,0x2b,0x80,0x92,0x15,0x40, + 0xc9,0xa,0xa0,0x64,0x5,0x50,0xb2,0x2,0x28,0x59,0x1,0x94,0xac,0x0,0x4a,0x56, + 0x0,0x25,0x2b,0x80,0x92,0x15,0x40,0xc9,0xa,0xa0,0x64,0x5,0x50,0xb2,0x2,0x28, + 0x59,0x1,0x4e,0xfd,0xee,0xfa,0xbe,0x3f,0xc1,0xad,0x5a,0x94,0xd,0xbf,0xb3,0x76, + 0x75,0xd1,0x36,0xd6,0x64,0x5,0x50,0xb2,0x2,0x28,0x59,0x1,0xd6,0xf6,0xc9,0xfd, + 0x7e,0x7f,0xad,0x8b,0xc4,0x98,0x55,0x6,0x6c,0xc4,0x5a,0xc9,0x87,0x87,0x87,0xfe, + 0x83,0xdc,0xf,0x9b,0x6b,0x5,0x58,0x55,0x93,0xb1,0x18,0xb,0xfe,0x76,0x1a,0x85, + 0x72,0xd8,0x84,0x55,0xb,0xc3,0x90,0x87,0xe3,0x2f,0xc,0x73,0x3e,0x9d,0xf3,0xd6, + 0x39,0xc,0xfc,0x7a,0xa3,0xc9,0x4c,0xfb,0x7d,0x70,0x1a,0xf8,0xf5,0xb0,0xff,0x6e, + 0xd8,0xbe,0xbb,0xc4,0x6e,0xe0,0x15,0x7e,0xfd,0xe8,0x1a,0xed,0x36,0xe,0x88,0x3b, + 0xc0,0x27,0xbc,0x8a,0x19,0x42,0xcd,0x7e,0x5f,0x4a,0xff,0xa7,0xbd,0x83,0x7d,0xb2, + 0xcc,0xd1,0xf1,0xa9,0xef,0x55,0x16,0xc7,0xc9,0xa8,0xda,0x47,0x3f,0x4e,0x79,0xbb, + 0x1c,0x0,0x1e,0xb1,0xfd,0xbd,0xe1,0xd6,0x38,0x19,0xa2,0x27,0xd3,0x39,0xb7,0xbb, + 0xb7,0x14,0xd4,0xdc,0xa0,0xed,0xee,0x97,0x92,0x21,0x78,0xc1,0xd7,0xef,0x43,0x7f, + 0x5b,0xd6,0xbd,0x54,0x42,0x52,0xc9,0x38,0xf7,0x56,0x8e,0x30,0xe8,0x7b,0xc7,0x93, + 0x99,0x5f,0x73,0xc3,0x2,0xe8,0xd0,0x8c,0x17,0x2e,0x60,0xd4,0xed,0x0,0x22,0xf2, + 0x17,0x8e,0xd7,0x0,0x73,0xad,0xe9,0x36,0x77,0x0,0x0,0x0,0x0,0x49,0x45,0x4e, + 0x44,0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/2/capture_delete all_button_icon.png + 0x0,0x0,0x4,0x73, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x79,0x0,0x0,0x0,0x48,0x8,0x6,0x0,0x0,0x0,0xd2,0xdc,0x5a,0x41, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x4,0x25,0x49,0x44,0x41,0x54,0x78,0x9c,0xed, + 0x9d,0xcb,0x4e,0xdb,0x40,0x14,0x86,0xf,0x11,0xf4,0x46,0xa5,0x80,0x22,0x15,0x21, + 0xd4,0x42,0x59,0xb4,0x8b,0xb6,0xa,0x61,0xd1,0xae,0x2a,0xc3,0xae,0x4b,0x1e,0x81, + 0x47,0xe0,0xd,0x2,0x4f,0x0,0xbc,0x1,0x6c,0x58,0xc3,0x13,0x4,0xe8,0xa6,0xed, + 0xa2,0x80,0x68,0xa5,0x96,0x5,0xa1,0x17,0x44,0xa9,0x14,0x5,0x57,0xd0,0x1b,0x48, + 0xa9,0x7e,0xab,0x83,0x9c,0xd4,0x76,0x6c,0x4a,0x9c,0x99,0x39,0xe7,0x93,0x2c,0x12, + 0x1c,0xc3,0xd8,0x9f,0x67,0xe6,0xcc,0xb1,0xe3,0xe9,0x58,0x5a,0x59,0xaf,0x91,0x60, + 0x35,0x9d,0x61,0x3b,0x37,0x7c,0xbb,0x8f,0x6,0xfa,0x73,0xd4,0x97,0xcb,0x52,0x57, + 0x57,0xe8,0xc7,0x84,0x36,0x73,0x7a,0x7a,0x46,0x87,0x15,0x97,0xf6,0xf,0x2a,0xb4, + 0xfb,0xe9,0x30,0xb0,0x30,0xff,0xd4,0xe4,0xde,0x6c,0x37,0x3d,0x7d,0xfc,0x80,0xba, + 0xaf,0x5f,0x15,0x7f,0x86,0x71,0xf2,0xe3,0x17,0x3d,0x7f,0xf5,0x96,0xaa,0xee,0x49, + 0x5d,0xc1,0x33,0xfe,0x37,0xa8,0xbd,0xcf,0x9c,0x51,0x11,0x6c,0x28,0xf0,0x6,0x7f, + 0xf0,0xe8,0xe7,0x5c,0x32,0x56,0x3c,0x29,0xdc,0xe3,0x7e,0x9c,0xac,0x0,0x1e,0xfd, + 0xa2,0x3d,0xc9,0xdd,0x37,0xae,0xd1,0xe8,0xc3,0x61,0xee,0xc7,0xc6,0x2a,0xe0,0x13, + 0x5e,0x49,0x5,0x5e,0x8f,0xee,0xdf,0x89,0xc,0xae,0x16,0x16,0x16,0x68,0x75,0x75, + 0x95,0x86,0x86,0x86,0x9a,0x1e,0x87,0xa3,0xa3,0x23,0xef,0xe7,0xf4,0xf4,0x34,0xf5, + 0xf4,0xf4,0x70,0x3f,0xd6,0x6d,0x3,0x3e,0xe1,0xf5,0xc5,0xc6,0xe,0x75,0x5e,0xe9, + 0xea,0xa4,0xbb,0xd,0x6d,0xb8,0x1f,0xc8,0x85,0x38,0x88,0x8e,0xcb,0xe6,0xe6,0xa6, + 0x27,0x79,0x6e,0x6e,0x8e,0xc5,0x1,0xd5,0x15,0x78,0x7d,0xfd,0x66,0x97,0x32,0xb7, + 0x72,0xd9,0xc8,0x22,0x42,0xee,0xd4,0xd4,0x54,0xac,0xdd,0xc0,0xc9,0x80,0xda,0x1e, + 0xa7,0xc6,0xb,0xe9,0x0,0xbf,0x99,0xde,0xec,0xcd,0xc8,0x7f,0x96,0x44,0x18,0x6a, + 0xef,0xc8,0xc8,0x88,0xd7,0x4c,0x4b,0x53,0xad,0x7,0xf0,0x7b,0x69,0x59,0x8e,0xbd, + 0xbd,0x3d,0x9a,0x9f,0x9f,0xa7,0x72,0xb9,0xac,0xc5,0xce,0x8d,0x8d,0x8d,0x25,0xde, + 0x6,0x5d,0x93,0x8d,0xc4,0x96,0xc,0x89,0x51,0x35,0x74,0x72,0x72,0x92,0x8a,0xc5, + 0xa2,0x36,0x4d,0xf5,0xda,0xda,0x9a,0x6,0xa5,0xd0,0x83,0x4c,0xdc,0x52,0x20,0x88, + 0x9a,0x98,0x98,0x8,0x5c,0x87,0x1a,0x80,0x60,0x2b,0x6e,0xdf,0x2d,0xa4,0x4b,0xec, + 0x9a,0xac,0xfa,0x5b,0xc8,0x6e,0x94,0x89,0x5a,0x8c,0xdf,0xeb,0xd8,0xf,0xe7,0xf3, + 0xf9,0xc8,0x28,0x1f,0xfb,0xb2,0xb5,0xb5,0x95,0x6a,0x99,0xd2,0x26,0xb6,0x64,0x8, + 0x44,0xa4,0x8d,0xda,0x8c,0x45,0x35,0xcb,0x6a,0x68,0x5,0xd1,0x3a,0x82,0x72,0x47, + 0xf5,0xcf,0x1c,0x2,0xc4,0x44,0x81,0x17,0xe,0x16,0x64,0x62,0x51,0xe3,0x67,0xd4, + 0x84,0xe5,0xe5,0xe5,0xd6,0x95,0xf0,0xef,0x89,0x84,0x98,0xe0,0x22,0x60,0x3b,0xb4, + 0x42,0x61,0xf8,0xff,0x6e,0xd4,0xe7,0x82,0xc0,0x89,0xae,0xeb,0xc9,0x5d,0xc7,0xf6, + 0xbb,0xf,0xb5,0x28,0x8a,0xc5,0x62,0xdd,0xda,0x6a,0xb5,0x5a,0xcb,0xe7,0xf3,0xb5, + 0xd9,0xd9,0x59,0x6f,0x9d,0xe3,0x38,0x81,0x5b,0x37,0x6e,0xf7,0x3f,0xe0,0x7f,0x10, + 0x91,0x76,0x4b,0xd8,0xbe,0xeb,0x4,0xfc,0x26,0x1e,0x42,0xa9,0x66,0xbb,0x50,0x28, + 0x78,0xef,0x75,0x19,0x32,0x9,0xe1,0x34,0x95,0x8c,0x26,0x19,0x8b,0xbf,0xef,0x42, + 0x0,0x86,0xe1,0x92,0xca,0x70,0x85,0x6d,0xd7,0xa,0x4a,0xa5,0x52,0xdb,0x75,0x8e, + 0x8f,0x8f,0xb7,0xbd,0xc,0x49,0x68,0x2a,0x19,0x7d,0x2e,0x2,0x2d,0xf4,0xbb,0x7e, + 0xd1,0xe8,0xbf,0xc2,0x44,0x22,0x9a,0xc5,0x89,0xd0,0xa,0x2e,0x92,0xe4,0xe0,0x4e, + 0x53,0xc9,0xa8,0xa9,0x2a,0x7f,0x1d,0xf7,0x2a,0x14,0x44,0x84,0x8d,0xa9,0x85,0xf4, + 0x89,0xd5,0x27,0x2b,0xd1,0x3a,0x60,0x6b,0xea,0xb1,0x95,0x18,0x77,0x87,0x9e,0x69, + 0xfd,0xa1,0xe,0xc4,0x4e,0x6b,0xa,0xe6,0x62,0x44,0x4d,0x56,0x41,0x1c,0xfa,0x7b, + 0x95,0x82,0x1c,0x1c,0x1c,0x4c,0xf5,0x62,0x8,0x72,0xf3,0xae,0xeb,0x7a,0xaf,0x91, + 0x2a,0x45,0x10,0xda,0xaa,0xe0,0xf2,0xd2,0x69,0x96,0xc,0xd1,0x89,0x52,0xa9,0x74, + 0x9e,0x10,0xb9,0xcc,0x64,0x4b,0x1c,0xfc,0x9,0x19,0x94,0xc3,0x14,0xe0,0x57,0x9a, + 0x6b,0x6,0x88,0x64,0x6,0x88,0x64,0x6,0x58,0xf5,0x25,0x27,0x8c,0xa1,0xd5,0x38, + 0x1a,0x57,0x87,0x1a,0x3,0x33,0x75,0x95,0x29,0xe8,0xea,0x11,0xae,0x46,0xa9,0x5c, + 0x0,0x92,0x39,0x36,0x65,0xd6,0xac,0x93,0x3c,0x33,0x33,0xe3,0xbd,0x86,0xa4,0x46, + 0xc9,0x6a,0x9d,0xe3,0x38,0x81,0x92,0xd5,0x7a,0xb2,0x2c,0x7d,0x2a,0xcd,0x35,0x3, + 0x44,0x32,0x3,0x44,0x32,0x3,0x44,0x32,0x3,0x44,0x32,0x3,0x44,0x32,0x3,0x44, + 0x32,0x3,0x44,0x32,0x3,0x44,0x32,0x3,0x44,0x32,0x3,0x44,0x32,0x3,0x44,0x32, + 0x3,0x44,0x32,0x3,0x44,0x32,0x3,0x44,0x32,0x3,0x44,0x32,0x3,0x44,0x32,0x3, + 0x44,0x32,0x3,0x44,0x32,0x3,0x44,0x32,0x3,0x44,0x32,0x3,0x44,0x32,0x3,0x44, + 0x32,0x3,0xac,0xba,0xef,0x1a,0x37,0xcf,0x47,0x3d,0xa6,0xa9,0x56,0xb,0x9f,0x38, + 0x7,0xf7,0x59,0x47,0xad,0x37,0x19,0xa9,0xc9,0xc,0x10,0xc9,0xc,0x10,0xc9,0xc, + 0x30,0xb6,0x4f,0xc6,0x77,0x97,0xd2,0x7c,0x48,0x4c,0xab,0x9e,0x4b,0x96,0x6,0xc6, + 0x4a,0x5e,0x5c,0x5c,0xf4,0x16,0xa1,0x39,0xd2,0x5c,0x33,0xc0,0xa8,0x9a,0x8c,0x87, + 0xb1,0xe0,0x6b,0xa7,0x3a,0x94,0xc3,0x24,0x8c,0x92,0x8c,0xa7,0xed,0xc8,0xc3,0xda, + 0x92,0x93,0xa9,0xba,0xc7,0xa6,0x95,0x59,0x48,0x0,0xfc,0x66,0xbe,0x56,0x5c,0x39, + 0x66,0x16,0x3,0xbf,0x99,0xdf,0xa7,0x67,0x54,0xe,0x99,0x77,0x57,0x30,0x1b,0x78, + 0x85,0x5f,0x2f,0xba,0xde,0x7e,0xff,0xd1,0x9b,0x6c,0x59,0xb0,0x7,0xf8,0x84,0x57, + 0x52,0x43,0xa8,0x93,0xef,0x3f,0xbd,0x39,0xfd,0x4,0x7b,0xc0,0x44,0x9c,0xf0,0x4a, + 0xfe,0x71,0x32,0xa6,0x4a,0x7f,0xb9,0xb1,0x23,0x9a,0x2d,0x0,0x1e,0x3f,0x7f,0xa9, + 0x9c,0xef,0x48,0xdd,0x10,0xa,0xa2,0xab,0xdf,0x8e,0x65,0xba,0x7b,0x43,0x9,0x9b, + 0xee,0xbe,0x63,0x69,0x65,0x3d,0xf0,0x22,0x2a,0x66,0xd2,0x1e,0xe8,0xcf,0x51,0x5f, + 0x2e,0x1b,0x39,0xb7,0xb2,0xd0,0x5e,0xd0,0xf7,0x1e,0x56,0x5c,0xda,0x3f,0xa8,0x78, + 0x95,0x34,0x88,0x50,0x7b,0xd8,0x20,0x6c,0x23,0xc1,0x20,0x88,0xe8,0xf,0x81,0x80, + 0x91,0xbe,0x54,0x5d,0xa3,0x6c,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42, + 0x60,0x82, + // /work/project/qt/SVG_Upload5/image/2/capture_send_icon_clicked_button.png + 0x0,0x0,0x7,0x20, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x79,0x0,0x0,0x0,0x48,0x8,0x6,0x0,0x0,0x0,0xd2,0xdc,0x5a,0x41, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x6,0xd2,0x49,0x44,0x41,0x54,0x78,0x9c,0xed, + 0x9d,0x41,0x4c,0x54,0x47,0x18,0xc7,0x3f,0x36,0x86,0xda,0xa2,0x26,0xd,0x85,0x46, + 0xb2,0x4d,0xa9,0x24,0x4d,0x4,0x7b,0x69,0x8a,0xc0,0xa5,0xc5,0x8,0x62,0x8a,0xc1, + 0x4b,0x17,0xad,0x97,0x6a,0xc0,0x1e,0xb4,0xb1,0x42,0x6b,0x93,0xb6,0x49,0x81,0x43, + 0xed,0x81,0xa,0xb6,0xa9,0xa6,0x9,0xd0,0x7a,0xa2,0x75,0x31,0x4d,0x30,0xda,0x88, + 0x42,0x44,0x2f,0x80,0x34,0xbd,0x8,0x34,0x69,0x82,0xa5,0x29,0xd1,0x44,0x6b,0x4d, + 0xa4,0xb4,0xca,0x85,0xe6,0xff,0x60,0xc8,0xbc,0xd9,0xb7,0x6f,0xde,0xdb,0x5,0x3a, + 0x33,0xef,0xfd,0x6e,0xbb,0xfb,0x1e,0xcc,0xce,0x7f,0xbf,0x6f,0xbe,0x6f,0xe6,0x9b, + 0x79,0x19,0xdd,0xbd,0xd7,0xe7,0x49,0xc2,0xbf,0x73,0x8f,0xe9,0xf6,0xfd,0x7b,0xb2, + 0xcb,0x42,0x56,0x99,0xbc,0xec,0x1c,0x7a,0x32,0xf3,0x9,0xe9,0x3f,0x5d,0x93,0xec, + 0x83,0x9f,0x7e,0xfd,0x85,0xc6,0xa6,0x26,0x69,0xfc,0xf7,0x5b,0xa1,0x76,0x8a,0x53, + 0xf4,0xfc,0x26,0xda,0x92,0x5f,0x40,0xaf,0xbc,0xb8,0xd9,0xb1,0xa1,0x9,0x96,0x3c, + 0x79,0x67,0x9a,0xce,0xe,0x5e,0xa1,0x7,0x7f,0xcf,0x4,0xbd,0xef,0xb4,0xe3,0xe9, + 0x75,0xeb,0x69,0x4f,0x79,0x25,0x15,0x6c,0x8c,0xda,0x9a,0x1e,0xe1,0x5f,0xc0,0x7a, + 0xbf,0xbe,0xf0,0x43,0x28,0xb0,0xa6,0x40,0x37,0xe8,0x7,0x1d,0x79,0x96,0x44,0xc6, + 0x7,0x67,0xaf,0x5d,0x9,0x7a,0x3f,0x19,0x1,0x74,0xe4,0x85,0xb6,0x44,0x7e,0x30, + 0xf3,0x90,0x7a,0x87,0xae,0x5,0xbd,0x6f,0x8c,0x2,0x7a,0x42,0x57,0x62,0x22,0x5f, + 0xfe,0x79,0x84,0x1e,0xcd,0xcd,0x5,0xbd,0x5f,0x8c,0x2,0x7a,0x42,0x57,0x10,0x41, + 0x7a,0x24,0xfa,0xf0,0x10,0x33,0x80,0xae,0xd0,0x37,0x32,0x3e,0x15,0xa6,0x48,0x26, + 0x3,0x7d,0x23,0x7f,0x2d,0xfa,0xed,0x10,0x33,0x81,0xbe,0x91,0x50,0x5b,0xf3,0x9, + 0x45,0xe,0x0,0x49,0xa7,0x35,0x43,0xbc,0xb3,0x21,0x2b,0x8b,0x76,0x96,0x16,0x53, + 0x6d,0xc5,0x36,0xeb,0x9e,0x13,0xdd,0x71,0x1a,0xba,0x39,0xae,0x4c,0xf,0x86,0x22, + 0xa7,0x41,0xd9,0x4b,0x45,0x54,0xbb,0xbd,0x9c,0x76,0x96,0x6e,0xa5,0xf5,0x59,0x4f, + 0x2d,0xfd,0xa1,0x6f,0x3e,0xfe,0x80,0x36,0xef,0x7d,0x4b,0x99,0x76,0x86,0x22,0xfb, + 0xe4,0xb9,0xdc,0x1c,0x8a,0x55,0x6c,0xb3,0xc4,0x8d,0xe6,0xe6,0x68,0xd1,0xe6,0x50, + 0x64,0x8f,0x40,0xd4,0xaa,0xb2,0xad,0x54,0x55,0x52,0x2c,0xbd,0x21,0x3e,0x30,0xa8, + 0x48,0xab,0x17,0x8,0x45,0x76,0xa1,0x68,0x53,0x3e,0xd5,0xd7,0x54,0x27,0xb8,0x63, + 0x19,0x9d,0xbd,0x17,0x94,0xfa,0x1e,0xa1,0xc8,0x2,0x8,0xa2,0x6a,0x2b,0xca,0x2d, + 0xcb,0x2d,0x7c,0x21,0xdf,0xf7,0xfd,0x13,0xbf,0x4d,0xd1,0x1f,0x77,0xd5,0x2a,0xb0, + 0x8,0x45,0x5e,0x4,0xd6,0x1a,0xab,0x28,0xf7,0xe4,0x8e,0xdd,0xe8,0xec,0xbd,0xb8, + 0xf2,0x8d,0xf5,0x49,0xa0,0x45,0x46,0x10,0x55,0xbf,0x7b,0x17,0x55,0x95,0x16,0x4b, + 0x83,0x28,0x58,0xe8,0xd0,0xcd,0x9,0xaa,0xab,0x79,0xdd,0xf5,0xba,0x4b,0xc3,0xa3, + 0xcb,0xdc,0xca,0xf4,0x9,0x9c,0xc8,0x2c,0xa7,0xad,0xdf,0x5d,0x2d,0x75,0xc7,0xd3, + 0x77,0xef,0x51,0xdf,0xf0,0xa8,0x35,0xc6,0x6e,0x58,0x97,0x45,0xe7,0x8e,0xb7,0xb8, + 0x5e,0xdf,0x33,0x30,0x48,0xf,0x67,0x67,0x97,0xb9,0xc5,0xe9,0x13,0x18,0x91,0x59, + 0x4e,0x1b,0xdb,0x5e,0x2e,0xbd,0x16,0x62,0x41,0xdc,0x4b,0xc3,0x37,0xac,0xd7,0x8, + 0xc0,0x20,0xb0,0x2c,0xf8,0xea,0x53,0xd0,0x8a,0xc9,0x74,0x91,0xfd,0xe4,0xb4,0x70, + 0xc7,0x48,0x7d,0xe2,0xfd,0x76,0x6b,0x4c,0x26,0x70,0xd7,0xf9,0x1f,0x6d,0xae,0x1b, + 0x56,0xcf,0x7e,0x14,0xaa,0x61,0xa4,0xc8,0x10,0x15,0x53,0x8c,0xa5,0x5b,0xa,0x5d, + 0xaf,0x9b,0x99,0xfd,0x67,0x41,0xd8,0x81,0xab,0x34,0x7e,0x6b,0x2a,0xe1,0xf3,0x64, + 0x2,0x37,0x9e,0x3c,0x65,0x79,0x6,0x1e,0xd5,0x72,0x63,0x1e,0x63,0x44,0xf6,0x93, + 0xd3,0xf6,0x8d,0x8c,0x52,0xdf,0xd0,0xd,0x57,0x61,0xdc,0x4,0x46,0x70,0xd5,0x72, + 0xf0,0x80,0xed,0xfd,0x9e,0xfe,0xab,0x69,0x7e,0x83,0x95,0x43,0x6b,0x91,0x59,0x4e, + 0xb,0x71,0x65,0xee,0x18,0xee,0xb4,0xf3,0xfc,0x45,0x4b,0x5c,0x59,0x1e,0xeb,0x26, + 0x30,0x7e,0x18,0xf0,0x14,0xfc,0x67,0xc3,0x63,0x13,0xca,0xe5,0xc6,0x3c,0x5a,0x8a, + 0xec,0x35,0xa7,0x85,0x3b,0xc6,0x38,0x9,0x71,0x9d,0xdc,0xb1,0x13,0x32,0x81,0x1, + 0x5b,0x6d,0x62,0xc4,0x15,0xb6,0x62,0xd2,0x49,0x64,0x96,0xd3,0x8a,0x56,0xe4,0x4, + 0x2c,0xb,0x1d,0xf,0xb7,0xea,0x27,0xa5,0xf1,0x22,0x30,0xda,0xc1,0x8f,0xf5,0xb, + 0x3f,0x24,0x35,0xa3,0x6a,0x86,0xd2,0x22,0xfb,0xcd,0x69,0x21,0x4,0xc6,0xc6,0x54, + 0x5c,0xa7,0x17,0x81,0x41,0x4c,0xb0,0x62,0x78,0xa,0x15,0x73,0x63,0x1e,0x25,0x45, + 0x4e,0x27,0xa7,0x4d,0x5,0xaf,0x2,0xd3,0x62,0xe4,0xce,0x83,0xa1,0x40,0x75,0x94, + 0x12,0x19,0x1d,0xd8,0xb8,0xaf,0xd6,0x53,0x4e,0x8b,0x39,0x62,0xbf,0xee,0xd8,0x9, + 0x3f,0x2,0x23,0x16,0xe0,0xdb,0x6,0xef,0xe1,0x75,0xac,0xff,0x3f,0x51,0x4a,0x64, + 0xa4,0x25,0xc9,0xc6,0x5b,0x96,0xd3,0x62,0x8a,0x71,0xb9,0x22,0x59,0x3f,0x2,0x3, + 0xcc,0x71,0xf3,0xe8,0x60,0xc5,0xa4,0x4b,0xe0,0x5,0x8b,0xd9,0x71,0xe4,0xd8,0xb2, + 0x8e,0x7d,0x7e,0x5,0x46,0x7c,0x20,0xe,0x1f,0x48,0xc7,0x74,0x40,0xa9,0x6a,0xcd, + 0x86,0x93,0xa7,0x2c,0x8b,0x15,0x81,0x8b,0x1c,0xe9,0x3a,0x6d,0xb9,0x72,0x74,0x76, + 0xba,0xf8,0x15,0x98,0x2c,0x57,0x6d,0xb7,0x62,0x4c,0xa8,0xa8,0x9c,0x1b,0xf3,0x28, + 0x25,0x32,0x82,0xa7,0x92,0xba,0x43,0xd4,0xf6,0x5d,0x4f,0x82,0xd8,0x10,0xa4,0xf1, + 0xcd,0x98,0x25,0xb6,0x18,0xfc,0xf8,0x21,0x15,0x81,0x1,0x22,0x7c,0x9e,0x9e,0x7e, + 0x75,0xa7,0x31,0x45,0x94,0xab,0xbb,0x86,0x4b,0x6e,0xeb,0x8e,0xd3,0x8e,0x23,0xef, + 0x5b,0x91,0xb3,0x8,0xc4,0x69,0x3b,0x7a,0x98,0x86,0xbb,0x4e,0x27,0xcc,0x1f,0xcb, + 0x48,0x55,0x60,0xe4,0xc6,0x7c,0xa,0xc7,0x26,0x59,0x74,0x41,0xd9,0xe2,0x7a,0xb8, + 0x42,0xb8,0xef,0xaa,0x77,0x8f,0x59,0x93,0x1b,0x22,0x70,0xe1,0x3d,0xc7,0x9b,0xe9, + 0xdc,0x67,0x2d,0x96,0x78,0x32,0x52,0x15,0x98,0x2c,0x2b,0xde,0x65,0x7b,0xad,0xf2, + 0x62,0x84,0x13,0xca,0xef,0xa0,0x40,0x8a,0xf2,0xc6,0x87,0x4d,0x54,0xff,0x69,0xab, + 0x15,0x80,0x89,0x60,0xf6,0xa9,0xef,0x8b,0x56,0x6a,0x3f,0x7a,0xd8,0xb2,0x38,0x27, + 0xd2,0x11,0x98,0x1c,0x72,0x63,0xac,0x5a,0xe9,0x84,0x36,0xdb,0x64,0xe0,0x1e,0x4b, + 0xeb,0xe,0x51,0x73,0xe7,0x19,0xc7,0xe0,0xc,0x91,0xef,0xe5,0x2f,0x3f,0x4f,0x8, + 0xce,0xd2,0x15,0x58,0x5c,0xd5,0x42,0x8e,0xae,0x43,0x6e,0xcc,0xa3,0xdd,0x5e,0x28, + 0x4c,0x82,0xb0,0xe0,0x4c,0x44,0xc,0xce,0xd2,0x15,0x98,0xac,0x69,0x4c,0x61,0x86, + 0x4b,0xc1,0x42,0x3d,0x19,0x19,0xfb,0x3f,0x69,0x9d,0xbf,0xb2,0xb8,0x23,0x5d,0x37, + 0xe0,0x9e,0x61,0xb9,0x5e,0xa6,0x3f,0x19,0x7e,0x4,0x86,0x47,0x98,0xf8,0xfe,0x8c, + 0xed,0xbd,0xc2,0xbd,0xfb,0x95,0x9f,0xab,0xe6,0xa9,0x7c,0xb9,0x44,0xef,0x5d,0x8d, + 0x2c,0x38,0x8b,0x7d,0xd4,0xec,0x18,0x9c,0x89,0xf8,0x11,0x98,0xac,0x25,0x45,0xfb, + 0x8f,0x47,0xd5,0x42,0x3d,0x19,0x46,0x6c,0x5d,0xc5,0xe,0x42,0xb7,0xe0,0x8c,0x52, + 0x10,0x18,0xa0,0x18,0x81,0x47,0xd5,0x42,0x3d,0x19,0x46,0xed,0x4f,0x76,0xb,0xce, + 0xa2,0xcf,0xe6,0xfa,0xfa,0x5b,0x18,0xcf,0xc5,0xc5,0x8,0x9d,0x72,0x63,0x1e,0x23, + 0x37,0xa1,0x23,0x38,0x6a,0xea,0xf8,0xd6,0xf6,0xde,0xc1,0x9a,0x6a,0x5f,0x53,0xa2, + 0xa2,0x15,0xeb,0x96,0x1b,0xf3,0x18,0x7b,0xd2,0x0,0x44,0x41,0xba,0xc3,0x40,0x84, + 0xfd,0xde,0xbe,0x5a,0xcf,0xf7,0x23,0x75,0xe2,0x51,0xb9,0x50,0x4f,0x86,0xd1,0xc7, + 0x49,0x34,0x75,0xd8,0x23,0x63,0xd4,0x49,0x27,0x9b,0x30,0xe1,0xd1,0xad,0x50,0x4f, + 0x86,0xd1,0x22,0x23,0x20,0x13,0xa3,0xee,0xe6,0xb7,0xf,0x24,0xbd,0x9e,0x81,0x7d, + 0xc8,0x3c,0xaa,0x17,0xea,0xc9,0x30,0xfe,0x60,0x98,0x86,0xf6,0xaf,0x6c,0xaf,0x51, + 0xe1,0xe9,0xb6,0xb0,0x1,0x4b,0xe7,0xab,0x40,0x75,0x28,0xd4,0x93,0x61,0xbc,0xc8, + 0x70,0xb3,0xd8,0xd2,0xc2,0xe3,0x36,0x36,0xeb,0x58,0xa8,0x27,0x23,0x10,0x47,0x3c, + 0xe1,0x34,0x1e,0x3e,0xa5,0xc2,0xa2,0x46,0xb2,0x35,0xe9,0xc4,0xc5,0x8,0x7d,0xa3, + 0x6a,0x46,0x20,0x44,0x86,0x25,0x76,0x8,0xf5,0x58,0x8d,0xe,0xd6,0xc,0x37,0x2e, + 0xe6,0xc6,0x2a,0x1d,0xd5,0x94,0x2a,0x81,0x39,0xac,0xd,0x85,0x8,0xfc,0x6c,0x58, + 0x74,0x71,0xde,0x9b,0x47,0xc7,0x72,0x5b,0x2f,0x4,0xea,0x44,0x3e,0x8,0xcd,0xc3, + 0x4f,0x90,0x2c,0x14,0xf2,0xdb,0xa3,0x6a,0x5d,0xa,0xf5,0x64,0x4,0x4a,0x64,0x8c, + 0xaf,0x7c,0x4a,0x85,0x5c,0x98,0xd5,0x6e,0xa1,0x50,0x8f,0xcf,0x8d,0x75,0x2a,0xd4, + 0x93,0x11,0xb8,0xb3,0x35,0x4f,0x8,0xd6,0x8c,0xf5,0x67,0xa4,0x4d,0xe2,0x26,0x36, + 0x53,0xac,0x98,0x82,0x28,0x32,0x2,0x29,0xb1,0x40,0xb0,0xbd,0xe1,0x9d,0x84,0x4d, + 0x6c,0x26,0x44,0xd5,0x8c,0x40,0x9e,0x92,0x2b,0x8e,0xcd,0xe2,0x89,0x4,0x26,0x9, + 0x4c,0x41,0x15,0x19,0x63,0xad,0x53,0xf9,0x10,0x43,0xb7,0x42,0x3d,0x19,0x81,0x3d, + 0xef,0x1a,0xcb,0x91,0x4e,0x5,0x81,0x3a,0x16,0xea,0xc9,0x88,0x3c,0x9a,0x7b,0xac, + 0x76,0xb,0x57,0x8,0x4c,0x90,0x88,0x6b,0xce,0x64,0xa0,0xab,0xa6,0xa0,0x9f,0x5c, + 0xf,0x41,0xc5,0x72,0xa1,0xb8,0x46,0xdb,0x5f,0xbc,0x12,0x59,0xeb,0xe1,0xa9,0x9d, + 0x26,0xc3,0x6f,0xb2,0xc3,0x42,0x86,0xee,0x8b,0x11,0x4e,0xac,0xc9,0xcb,0x7e,0x46, + 0xbd,0x56,0xad,0x22,0x48,0xa9,0x54,0x3a,0x65,0x7e,0xb9,0x81,0xbe,0x91,0x82,0xbc, + 0xe8,0xea,0xfe,0xd7,0x90,0x55,0x5,0xfa,0x46,0xf0,0x90,0xe5,0x64,0xcf,0xdd,0xd, + 0xd1,0x1b,0xe8,0xa,0x7d,0xad,0xc0,0xab,0xa6,0xec,0x55,0x5a,0x9b,0x99,0x19,0x4a, + 0x6a,0x10,0xd0,0x13,0xba,0x12,0x8b,0xae,0xa1,0xf6,0x9e,0xd7,0x2a,0x83,0xde,0x2f, + 0x46,0x1,0x3d,0xd9,0xa3,0xf0,0x97,0x52,0x28,0x3c,0x2e,0x3d,0x14,0xda,0xc,0xa0, + 0x23,0xf4,0x64,0xd8,0xe,0x86,0x81,0xf,0x47,0x34,0x86,0x87,0x2c,0xdf,0xbe,0xff, + 0x67,0xd0,0xfb,0x4a,0x3b,0xa0,0x1d,0x4,0xce,0xcb,0xb6,0x97,0x1d,0x67,0x74,0xf7, + 0x5e,0x9f,0x77,0xfa,0x32,0x63,0x53,0x93,0xd6,0xa3,0x59,0x27,0xef,0x4c,0x87,0xcf, + 0x56,0x56,0x18,0x8c,0xbd,0x5,0x1b,0xa3,0x96,0x81,0xf2,0xd6,0xcb,0x93,0xf4,0x88, + 0x27,0xdc,0x90,0xec,0xa6,0x10,0x8d,0x20,0xa2,0xff,0x0,0x6e,0xff,0x32,0x31,0x8, + 0x55,0x2c,0x9,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/2/capture_send all_button_clicked.png + 0x0,0x0,0x7,0xe5, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x79,0x0,0x0,0x0,0x48,0x8,0x6,0x0,0x0,0x0,0xd2,0xdc,0x5a,0x41, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x7,0x97,0x49,0x44,0x41,0x54,0x78,0x9c,0xed, + 0x9d,0x5d,0x68,0x15,0x47,0x14,0xc7,0x8f,0x41,0xd2,0xd6,0x98,0x68,0x9a,0x46,0x30, + 0xa4,0xf4,0xd6,0x40,0xa1,0xc6,0x82,0x48,0x63,0x92,0x27,0x13,0x8c,0x1f,0x54,0x51, + 0x1f,0xcc,0xb5,0xfa,0x94,0x12,0x7d,0xd1,0x22,0x51,0xab,0x60,0x2d,0xf5,0x6,0x8a, + 0x85,0x16,0x63,0x5e,0xf4,0xa1,0x26,0x34,0x4f,0x5a,0xef,0xf5,0x41,0xa5,0x16,0xc5, + 0x84,0x5c,0x7d,0x49,0xd4,0x52,0x2,0xd5,0x14,0xa,0xda,0x94,0x86,0x94,0x6a,0xa5, + 0x52,0x6b,0x3f,0xf2,0x62,0xf9,0x8f,0x77,0xc2,0xec,0xdc,0xdd,0x3b,0xbb,0xc9,0x4d, + 0x32,0x33,0xbb,0x3f,0x8,0xe6,0xd3,0xec,0xee,0xef,0x9e,0x99,0x73,0xce,0xcc,0x66, + 0xe7,0x9c,0xb9,0x78,0xe3,0x19,0x45,0x58,0xcd,0x5c,0xaf,0x93,0xfb,0xf6,0xc7,0x1f, + 0xe8,0xce,0xc8,0x3d,0xba,0xf7,0xeb,0x28,0xfd,0x3b,0x3e,0x1e,0xbd,0xa,0x34,0xe5, + 0xc5,0xc2,0x42,0xaa,0x5a,0x5c,0x49,0xcb,0x62,0x55,0xf4,0xf6,0x1b,0x6f,0xba,0x1e, + 0x64,0x56,0x24,0x8f,0x3d,0x7a,0x48,0xe7,0xae,0x5f,0xa3,0xb1,0x47,0xbf,0x87,0xf7, + 0xca,0x19,0x4a,0x45,0xd9,0x2b,0xb4,0x6d,0xd5,0x1a,0xaa,0x28,0x2b,0x77,0x9c,0x80, + 0x43,0x32,0xa2,0x17,0x82,0x23,0xcc,0x6,0xa2,0xc5,0xa8,0x2e,0xe0,0xef,0x60,0x68, + 0x8e,0x4,0xdb,0x1,0x3c,0xc2,0x27,0x87,0x49,0xfe,0x67,0xfc,0xbf,0x48,0xb0,0x65, + 0xc0,0x27,0xbc,0x12,0x4f,0xbc,0x2e,0xd,0xdc,0x70,0x4d,0xae,0x4a,0x8a,0x8a,0xe8, + 0xc0,0x8e,0x38,0xb5,0x6e,0x7a,0xc7,0xd7,0x15,0x18,0x7d,0xf0,0x90,0x12,0xa7,0x7b, + 0xe8,0xca,0xe0,0xad,0xb0,0x5f,0xe3,0x59,0x7,0x3e,0xe1,0x15,0x43,0x77,0x1,0x6c, + 0x63,0x2e,0x76,0x23,0x88,0x60,0x50,0xb9,0xa8,0x9c,0xba,0x8e,0x1c,0xa4,0x57,0x17, + 0x95,0xfb,0xf8,0xee,0x88,0xe9,0x6,0x5e,0xe1,0xb7,0xe0,0xde,0xd8,0xa8,0xe7,0xaf, + 0x8a,0xaf,0x6e,0xf0,0x7d,0x18,0x89,0x44,0x82,0x5a,0x5a,0x5a,0xd8,0xfb,0xcd,0x4d, + 0x8d,0x91,0x40,0x4d,0x80,0xdf,0xb9,0xb9,0x4a,0xa5,0xe2,0xa2,0x79,0xbe,0x8e,0xf4, + 0xf1,0xe3,0xc7,0xd4,0xd9,0xd9,0x49,0x17,0x2e,0x5c,0xb0,0xea,0x2,0xd9,0x0,0xfc, + 0x16,0xe4,0xe3,0x3c,0xda,0xda,0xda,0x68,0xcb,0x96,0x2d,0xd4,0xd0,0xe0,0x3f,0xf2, + 0x23,0x66,0xe,0x5f,0x92,0x7b,0x7a,0x7a,0x3c,0xbf,0x36,0x34,0x34,0xc4,0x22,0x18, + 0xc3,0x75,0x84,0x9e,0x78,0xb6,0x35,0x39,0x18,0x8a,0x21,0x10,0xff,0x22,0x62,0x65, + 0xf0,0x39,0xbc,0xc5,0x62,0xb1,0x50,0x2b,0x46,0xfe,0xb2,0xae,0x7e,0x25,0x2d,0x28, + 0x2a,0xa2,0xa3,0xa7,0xbf,0xa4,0xbb,0xf7,0x47,0x34,0x38,0xaa,0xe7,0x28,0x25,0x2f, + 0x5c,0xb8,0x90,0x45,0x32,0x86,0x63,0xbc,0x89,0x32,0x11,0xc1,0x23,0x23,0x23,0xae, + 0xf2,0xc3,0x40,0xf5,0x92,0x18,0xc5,0x57,0x37,0x32,0xc1,0x62,0xfe,0xd2,0x7d,0xe4, + 0x10,0xd5,0xb5,0xee,0xd6,0xe6,0xa,0x28,0x25,0x3,0xcc,0xb5,0xc8,0x9c,0xf1,0x96, + 0x4e,0xa7,0x27,0x3e,0xf,0xb9,0x88,0x72,0xbc,0x10,0xc2,0x2,0x7a,0x7,0xf1,0xa6, + 0x6,0x26,0x76,0xe9,0xeb,0xee,0xa3,0x17,0xa2,0x59,0x27,0x7c,0x49,0xa6,0x4c,0x89, + 0xb4,0x7c,0xf9,0x72,0x96,0x45,0x8b,0x72,0x79,0xd9,0x64,0x3b,0xeb,0xeb,0x56,0xd2, + 0xba,0xba,0x1a,0x6a,0xf6,0x51,0x56,0x26,0xfb,0xd2,0x5a,0x5d,0xd,0xdf,0x92,0x21, + 0x14,0xc3,0x33,0xa2,0x1a,0x6f,0x61,0x28,0x99,0xd0,0xd4,0xd9,0xb9,0x79,0x23,0x93, + 0x5b,0x19,0xa0,0xc1,0x93,0xec,0xeb,0x9f,0xd6,0xe3,0xa,0x8a,0x6f,0xc9,0x0,0x91, + 0x8c,0x28,0xe6,0xa2,0x6d,0x2c,0x99,0x30,0x1c,0xaf,0xaf,0xab,0xa1,0x9d,0x9b,0x37, + 0x78,0xe,0xc7,0xb9,0x18,0xfe,0x69,0x44,0xab,0xa4,0x8b,0x54,0x92,0x71,0xc0,0xf2, + 0x89,0x62,0x98,0x46,0x4,0x23,0x92,0xbd,0x18,0xfd,0xed,0xc1,0xb4,0x1e,0xf4,0x74, + 0x50,0xff,0x56,0x35,0x9b,0x67,0x31,0x2c,0xfb,0x6d,0x2,0xb9,0xa1,0xdb,0x50,0x4d, + 0x2a,0xc9,0xfb,0x3a,0x4f,0xd2,0xf9,0x63,0xed,0x59,0x27,0x8d,0xda,0xd8,0xb,0xbc, + 0x30,0x74,0x3c,0x51,0x37,0x30,0x1c,0xa3,0x5,0xb,0xb9,0xaa,0xe1,0x98,0x47,0xa8, + 0x6a,0x4e,0x4e,0xf6,0x1a,0x26,0x19,0x27,0xb5,0x76,0xef,0x7,0xac,0xfe,0x2b,0xf1, + 0x91,0x31,0x22,0x82,0x4d,0x10,0xcc,0x6b,0xda,0x75,0xb5,0x35,0x39,0xbf,0xef,0xc9, + 0xd3,0xbf,0xd9,0x8a,0x5a,0xd7,0xa5,0xcb,0xec,0x63,0xbc,0xe0,0x73,0x91,0xea,0x4b, + 0xd3,0x9f,0x4f,0x9f,0xce,0xc4,0x29,0x4,0x42,0x39,0x27,0xff,0xf2,0xe0,0x21,0x75, + 0x5d,0xbc,0xac,0xd7,0x51,0x4f,0x2,0xd4,0xb4,0x3b,0x37,0x6d,0xf0,0x35,0x1c,0x5f, + 0xbd,0x79,0x9b,0xae,0xe,0xdc,0x9a,0x78,0xc1,0xe2,0x67,0xdd,0x46,0xb4,0xac,0x9f, + 0x1b,0xbc,0x3d,0x8b,0x67,0xe8,0x4d,0xa0,0xc4,0xcb,0x34,0xfc,0xd4,0xb4,0x1c,0xac, + 0x85,0x43,0x6a,0xaa,0xb7,0x9f,0xbd,0xb0,0x39,0x5e,0x82,0xbb,0x2f,0x7d,0xe3,0x58, + 0x86,0xc5,0xcf,0xeb,0xba,0x8e,0x6e,0xa5,0x64,0x44,0x6b,0x73,0x53,0x83,0xef,0xe1, + 0x18,0x72,0x7,0xbe,0xbf,0x9b,0xf5,0x75,0x2f,0xc1,0xfb,0x3b,0x4f,0xb2,0x44,0x4d, + 0x44,0xd7,0x28,0x26,0x9b,0x24,0x7,0xa9,0x69,0x7,0xef,0xc,0x53,0xb2,0xb7,0x9f, + 0xae,0xc,0xde,0xf6,0x9c,0x43,0x73,0x9,0xc6,0x8b,0xa2,0x7d,0xd7,0x7b,0x8e,0xcf, + 0x77,0x5d,0xfc,0x3a,0xf,0x67,0x31,0x3d,0x18,0x2d,0x39,0x48,0x4d,0x8b,0xe1,0x14, + 0xd1,0x6,0x19,0xe2,0x70,0xec,0x86,0x4a,0xb0,0xdc,0xab,0xc6,0x8b,0x46,0xf5,0x7f, + 0xce,0x26,0x46,0x4a,0xe,0x52,0xd3,0x22,0xe3,0x85,0x5c,0xbf,0xf3,0xa5,0x4a,0x30, + 0x40,0x66,0x2e,0x82,0x51,0x41,0x67,0x8c,0x91,0x1c,0xb4,0xa6,0x85,0x10,0xd4,0xac, + 0x41,0x4a,0x1a,0x3f,0x82,0x71,0x1c,0xe2,0x5c,0xff,0x7c,0x5e,0xd7,0x77,0x3e,0x26, + 0x13,0x24,0x43,0x6a,0xbc,0xa9,0x91,0xea,0x96,0x2d,0xcd,0xf9,0x7d,0xb8,0xd8,0x4c, + 0x6c,0x5f,0xff,0xa4,0xda,0x8a,0x7e,0x4,0x93,0xcb,0xfe,0x35,0x8c,0x10,0x3a,0xd6, + 0xc6,0x22,0x5a,0x4a,0xe,0x5a,0xd3,0xa6,0x7a,0xd3,0x53,0x2a,0x5f,0xfc,0xa,0x26, + 0x97,0xcd,0x8d,0x26,0x34,0x7f,0xb4,0x92,0x8c,0xb9,0xf6,0x44,0xdb,0x1e,0xe5,0x70, + 0x8c,0x24,0xa,0x5d,0x28,0x34,0x2c,0xa6,0x9a,0xf0,0x4,0x11,0x8c,0xe3,0x13,0x8f, + 0xd,0xc7,0xe1,0x56,0x7a,0xe9,0x86,0x56,0x92,0x73,0x9,0x16,0x5b,0x8c,0xf9,0x5a, + 0xe5,0x9,0x22,0x98,0xc,0x8d,0x62,0xd2,0x4d,0xb2,0xd7,0x8e,0xa,0x24,0x52,0x5b, + 0xf,0x27,0xf2,0x3a,0xf7,0x5,0x15,0xfc,0xbc,0x5c,0x73,0x66,0xd5,0x29,0xcd,0xb3, + 0x6a,0x4e,0x5e,0xb6,0xe4,0xe6,0xb,0x6c,0x80,0x43,0xc4,0xca,0xa0,0x6,0xbe,0xd9, + 0x7d,0x8a,0xf6,0xef,0x88,0xe7,0xe5,0x37,0x5,0x15,0x4c,0xac,0x8b,0x56,0xe3,0xf8, + 0x7e,0xe4,0x2,0x3a,0xd7,0xc6,0x22,0x5a,0x49,0xc6,0x5,0xae,0x6d,0xdd,0xcd,0xfa, + 0xc2,0x32,0xb8,0xc0,0xfb,0xb7,0x37,0xd3,0x60,0xf7,0xa9,0x40,0x77,0x76,0xc8,0x4c, + 0x46,0x30,0x40,0xc3,0x45,0x4,0xf9,0x80,0x29,0x68,0x25,0x19,0x60,0x48,0x46,0x44, + 0xd7,0xb7,0xee,0x66,0xd1,0x22,0x83,0x39,0xbb,0xa3,0x6d,0xf,0x9d,0xff,0xb4,0x3d, + 0xab,0x7f,0xac,0x62,0xb2,0x82,0x51,0x1b,0x8b,0x1d,0x35,0x5e,0xae,0x99,0x82,0x76, + 0x92,0x39,0x18,0xa,0x5b,0x3f,0xf9,0x8c,0x9a,0x3f,0x4c,0xb0,0xb6,0xa1,0xc,0xea, + 0xe6,0xd4,0xb1,0x4,0x75,0x7f,0x74,0xc8,0xd7,0xd,0x76,0x93,0x15,0x4c,0x2c,0x8a, + 0x37,0x3a,0x3e,0x36,0xed,0xae,0x4d,0x6d,0x25,0x73,0x50,0xa2,0x6c,0x3d,0x7c,0x94, + 0xc9,0x18,0x75,0x99,0x3,0xd1,0x7d,0x1a,0xe8,0x3e,0xc5,0x16,0xc,0xbc,0x36,0x36, + 0x4c,0x45,0x30,0xfb,0x1d,0x75,0xce,0xd5,0x2c,0xbe,0x89,0xc0,0x14,0xb4,0x97,0xcc, + 0x81,0x8c,0xb5,0x7b,0xf,0x52,0xc7,0xd9,0x94,0x6b,0x72,0x86,0xb5,0x5d,0xb7,0xe4, + 0x6c,0xaa,0x82,0x91,0x51,0x8b,0x65,0x9d,0x8e,0x1b,0xf5,0x54,0x18,0x23,0x99,0x32, + 0xf3,0x75,0xc7,0x99,0x24,0x4b,0xce,0x52,0x2e,0x82,0xe4,0xe4,0x6c,0xaa,0x82,0xc9, + 0x25,0x8a,0x4d,0x9a,0x8b,0x39,0x73,0x5a,0x3e,0xfe,0xfc,0xd9,0xb5,0xef,0x6e,0xea, + 0x71,0x34,0x1,0xc1,0x5c,0x7c,0x62,0xdf,0xfb,0xca,0xbe,0xb6,0x48,0x10,0xc1,0x18, + 0xfe,0x87,0xbf,0x72,0xde,0xec,0xb7,0xf4,0xdd,0x16,0xed,0x7b,0xd5,0x22,0x6b,0x56, + 0xd4,0x9a,0x15,0xc9,0x32,0x48,0xce,0x30,0x5f,0x23,0x39,0xc3,0x30,0xaa,0x22,0x88, + 0x60,0x80,0xad,0x43,0x22,0xc8,0xf6,0x4d,0x12,0xcc,0x31,0x5a,0x32,0x7,0xc9,0x19, + 0xe6,0x6b,0xaf,0xe4,0x8c,0x26,0x21,0x98,0x5c,0xda,0x98,0x29,0xd,0xb7,0xdb,0xfa, + 0xc1,0xa,0xc9,0x9c,0x5c,0xc9,0x59,0xc9,0xfc,0x60,0x37,0xa1,0x61,0x3e,0x17,0x6b, + 0x63,0x9d,0x37,0xea,0xa9,0xb0,0x4a,0x32,0x9,0xc9,0x19,0x1a,0x2a,0x22,0x7,0xb6, + 0xc7,0x7d,0xed,0x1d,0xe7,0xe0,0x96,0x54,0x11,0x9d,0x37,0xea,0xa9,0xb0,0x4e,0x32, + 0x7,0x51,0x2d,0xe,0xdd,0xc8,0xb0,0xe5,0xd6,0x64,0x2e,0xe4,0xa1,0x5a,0xe7,0x8d, + 0x7a,0x2a,0xac,0x95,0x4c,0x99,0xdb,0x7c,0x44,0x50,0x5e,0xf9,0xe9,0x8e,0xc9,0x9b, + 0x15,0x90,0xd4,0x99,0xb2,0x18,0xe1,0x86,0xd5,0x92,0x91,0x90,0xc9,0x2d,0x51,0x3f, + 0x2b,0x59,0xcd,0x4d,0x72,0x14,0x9b,0x7d,0x7,0x89,0xd5,0x92,0x29,0xb3,0x7c,0x29, + 0x82,0x1b,0xd6,0x72,0x2d,0x6c,0x98,0xb8,0x51,0x4f,0x85,0xf5,0x92,0xd1,0x82,0x94, + 0xbb,0x63,0x7,0x72,0x44,0xb3,0xbc,0xdd,0xd6,0x84,0x8d,0x7a,0x2a,0xac,0x97,0x4c, + 0x2c,0x9a,0x7b,0x1c,0x25,0x15,0x3a,0x64,0xf2,0x2e,0xf,0xe,0x36,0x10,0x8a,0x98, + 0xd8,0xc6,0x94,0x9,0x85,0x64,0x44,0xe2,0x69,0x69,0xe5,0x28,0xb1,0x2b,0xfb,0x6f, + 0x9d,0xa0,0x36,0x36,0x71,0xa3,0x9e,0x8a,0x50,0x48,0xa6,0x4c,0xf2,0x24,0x96,0x54, + 0x90,0x29,0x97,0x49,0x36,0x46,0x31,0x85,0x49,0x32,0x6f,0x92,0x88,0x88,0x6b,0xd0, + 0x26,0x6f,0xd4,0x53,0x11,0x1a,0xc9,0x94,0x89,0x4c,0x71,0x21,0x43,0x6c,0x90,0x98, + 0xbc,0x51,0x4f,0x45,0xa8,0x24,0x53,0x26,0x9,0x13,0xd9,0xb5,0x69,0x3,0x2b,0x9b, + 0xe2,0xd2,0xed,0x2f,0x26,0x6d,0xd4,0x53,0x11,0x3a,0xc9,0x48,0xa4,0xc4,0xd,0x82, + 0x88,0x5e,0x79,0x4d,0xda,0xb4,0x8d,0x7a,0x2a,0x42,0x27,0x19,0x24,0xbe,0x70,0x36, + 0x48,0xe4,0x4d,0x7,0xb6,0x3d,0x5e,0x21,0x94,0x92,0x31,0xd7,0xba,0xed,0xed,0xe6, + 0x98,0xb6,0x51,0x4f,0x45,0x28,0x25,0x83,0xe3,0x67,0x92,0xae,0x1b,0x2,0x51,0x66, + 0x99,0xb6,0x51,0x4f,0x45,0x68,0x25,0xa3,0xa4,0x3a,0x7e,0x36,0x99,0xf5,0x79,0xdb, + 0xa2,0x98,0xc2,0x2c,0x99,0x5c,0x1a,0x24,0xa4,0xe9,0x5f,0xd4,0x9b,0x2a,0xa1,0x96, + 0xc,0x12,0x42,0x49,0x85,0x79,0xda,0xf4,0xc5,0x8,0x37,0xe6,0xbe,0x5c,0x5c,0xa2, + 0xdf,0x51,0xcd,0x20,0xc8,0xa4,0xb1,0xcd,0x76,0x41,0xd1,0x3c,0x6b,0x9a,0x1f,0x22, + 0x78,0x48,0x67,0x41,0x75,0x6c,0x89,0x3e,0x47,0x34,0x4b,0x20,0x7a,0x6d,0x14,0xc, + 0xaa,0x2a,0x2a,0xa9,0xe0,0xa5,0xc2,0x17,0x3c,0x9f,0xbb,0x1b,0x61,0x36,0xf0,0xa, + 0xbf,0x6c,0x4e,0x5e,0xbb,0xa2,0x96,0x3d,0x6c,0x39,0xc2,0x1e,0xe0,0x13,0x5e,0x89, + 0x27,0x5e,0xa5,0xc5,0x25,0xb4,0xb9,0x7e,0x55,0xa4,0xd8,0x22,0xe0,0xb3,0x34,0x93, + 0x6f,0x4d,0x64,0xd7,0x8,0x6d,0x3c,0xa1,0x33,0xc2,0x7c,0xe4,0x87,0x64,0x3b,0xfe, + 0x30,0xc,0xbe,0x50,0x5a,0x5c,0x4c,0xe7,0xd2,0xd7,0xe8,0x8f,0xbf,0x9e,0x44,0xba, + 0xd,0xa3,0x74,0x7e,0x31,0x6d,0x6b,0x58,0x43,0x55,0x8b,0x2b,0x1d,0x7,0xee,0x78, + 0xdc,0xbd,0x8,0x1e,0xcb,0x8a,0xa7,0x69,0xdf,0xfd,0xf9,0x7e,0xd8,0xaf,0x9d,0xf6, + 0x54,0xbf,0xb6,0x84,0x96,0xc5,0xaa,0x3c,0x13,0x68,0x4f,0xc9,0x22,0x78,0x6,0xef, + 0xd8,0x23,0x3b,0x4b,0xc,0x93,0xa9,0x28,0x2b,0x67,0xd9,0x73,0x4e,0x88,0xe8,0x7f, + 0xe7,0x5,0xb1,0x40,0x2,0x3a,0xd2,0xa7,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44, + 0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/2/capture_close all_button_icon.png + 0x0,0x0,0x4,0xa3, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x50,0x0,0x0,0x0,0x46,0x8,0x6,0x0,0x0,0x0,0x5b,0x9e,0x13,0x2b, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x4,0x55,0x49,0x44,0x41,0x54,0x78,0x9c,0xed, + 0x9c,0xdf,0x4a,0x14,0x51,0x1c,0xc7,0x7f,0x1b,0x5a,0x84,0xc1,0xac,0x6c,0x68,0x61, + 0xb6,0xe6,0x45,0x5,0x19,0x5a,0x17,0xd5,0x4d,0xe8,0x23,0xe8,0x13,0xa8,0x4f,0xa0, + 0x8f,0xa0,0x4f,0xa0,0xbe,0x81,0xde,0x74,0xab,0x3d,0x40,0xa0,0x45,0x10,0x5d,0x94, + 0xa6,0x4,0xdb,0xc5,0xae,0x66,0x45,0x4a,0xe2,0xae,0x64,0x44,0xa,0xc5,0x77,0xf2, + 0x2c,0x67,0xcf,0x9c,0x9d,0x7f,0x67,0x66,0xd6,0x99,0x73,0xbe,0x30,0x88,0x78,0x66, + 0x18,0x3f,0xf3,0x3b,0xbf,0x7f,0xe7,0x70,0x72,0xcf,0x9e,0xbf,0xfc,0x4b,0x46,0xa1, + 0xd5,0x16,0xf4,0xc6,0x4e,0xab,0x83,0xda,0xdb,0x3,0xdf,0x96,0x4a,0x9d,0x9c,0x9c, + 0xd2,0x61,0xed,0xd8,0xf5,0xd5,0x7d,0x91,0xe8,0xef,0xed,0xa6,0x9e,0xeb,0x5,0xba, + 0x71,0xad,0xa0,0x5,0x38,0x51,0x5f,0xbe,0x1f,0x50,0xa9,0xfc,0x95,0xf6,0x7f,0xd4, + 0x1c,0x7f,0x73,0x5,0x8,0x6b,0x7b,0xfa,0xe8,0x1e,0x75,0x5c,0xbe,0x94,0xd0,0xab, + 0x9e,0x4f,0xc1,0x70,0x70,0x1,0xe2,0xbb,0xad,0x72,0xc3,0x3b,0x36,0x5,0x8,0xab, + 0x7b,0xfc,0xe0,0xb6,0x96,0xc0,0x9a,0xe9,0x4e,0x7f,0xf,0x5d,0x6c,0x6f,0xa3,0x37, + 0xef,0x3f,0xd5,0x47,0x5c,0x90,0x8d,0x5,0x6d,0x3,0x4f,0xae,0x5b,0xbd,0xdd,0x36, + 0x48,0x26,0x87,0x5,0x82,0xf0,0x13,0x9,0xbc,0xc5,0xc5,0x45,0x5a,0x5f,0x5f,0xa7, + 0x7c,0x3e,0x2f,0x7d,0xf0,0xf6,0xf6,0x36,0x8d,0x8c,0x8c,0xd0,0xc4,0xc4,0x44,0x12, + 0xff,0x47,0x4b,0x75,0xff,0xce,0x4d,0xaa,0xec,0xee,0xd1,0x9f,0x93,0x53,0x27,0xc0, + 0x87,0x3,0xfd,0x8e,0x28,0x3b,0x3d,0x3d,0x6d,0xc3,0x99,0x9f,0x9f,0x77,0x7d,0xef, + 0xd5,0xd5,0x55,0x9a,0x99,0x99,0xb1,0xaf,0x2c,0xb,0x7c,0x30,0x4b,0xcb,0xbb,0x7b, + 0x4e,0x80,0x62,0xa4,0x85,0x65,0x41,0xa3,0xa3,0xa3,0xae,0x48,0x0,0xad,0x5a,0xad, + 0xda,0x16,0x8a,0x7b,0xfa,0xfa,0xfa,0x32,0xd,0x31,0x6f,0x75,0x10,0xed,0xa,0x53, + 0xb8,0xeb,0xaa,0xe5,0xb0,0x3e,0xc0,0xf0,0x82,0x87,0x31,0xb0,0x4e,0x58,0x20,0x20, + 0xea,0x0,0xb0,0xd3,0xba,0x62,0xff,0x6c,0x8,0x22,0xdd,0x5,0xb9,0x7f,0xf3,0x12, + 0xac,0xf,0x90,0x87,0x86,0x86,0x62,0x7f,0xf1,0xf3,0x26,0xdf,0x25,0x5,0x2c,0x8c, + 0x59,0x1a,0x2f,0x58,0xdd,0xca,0xca,0x4a,0x7d,0xaa,0xeb,0x26,0x69,0x1a,0x23,0x13, + 0x2c,0xc,0x91,0x18,0xc0,0x78,0xc1,0xfa,0x10,0x64,0x9a,0x45,0xe7,0xac,0xcb,0x37, + 0x40,0xf8,0x34,0x58,0x1f,0xd2,0x14,0xf8,0x39,0x3a,0x4b,0x6d,0x60,0x79,0x59,0x8f, + 0xba,0x6e,0xa,0xd4,0x15,0x0,0x3c,0x4c,0x57,0x58,0x1c,0xe0,0x5,0x49,0x59,0x70, + 0x1f,0xf2,0xc8,0x24,0x5,0x9f,0x8c,0xf,0x1f,0xa7,0x6f,0xe,0xdc,0x56,0x1,0x38, + 0xbc,0x14,0xf2,0x42,0xfc,0xf4,0x93,0x38,0xe3,0x9e,0xc9,0xc9,0xc9,0xb0,0xef,0xa8, + 0xac,0xa9,0xa9,0x29,0xcf,0x1c,0x36,0xac,0x3c,0xa7,0x30,0xbe,0x1e,0xef,0xf7,0xe0, + 0xeb,0x0,0x64,0x6d,0x6d,0x4d,0x6a,0x7d,0x18,0x2b,0xa6,0x30,0xad,0xe,0x30,0x71, + 0x5a,0xbe,0x27,0x40,0x0,0x83,0xcf,0xe3,0x21,0x22,0xa0,0x2c,0x2f,0x2f,0xdb,0x56, + 0xc8,0x8b,0x8d,0xc9,0x7a,0xe,0xc8,0xcb,0xd7,0x14,0x86,0xf9,0xc3,0xea,0xc4,0x68, + 0xcb,0x7f,0x59,0x40,0x86,0xb5,0xca,0xac,0x92,0x5,0x1d,0xa6,0xc1,0xc1,0xc1,0xd0, + 0x53,0x4a,0xcc,0x2,0x9a,0x8d,0xc1,0xc,0x49,0x42,0xbe,0x7d,0xa0,0x4a,0x93,0x40, + 0x9c,0x42,0xf8,0x8,0xa2,0xf5,0xfa,0x95,0x9f,0xfb,0xf0,0x11,0x93,0x2,0xe8,0x3b, + 0x8d,0x31,0x32,0x0,0x63,0x91,0x1,0xa8,0x28,0x3,0x50,0x51,0x6,0xa0,0xa2,0xc, + 0x40,0x45,0xb5,0x4,0x60,0xdc,0x9d,0x1b,0xb1,0xf6,0x8d,0x73,0x9d,0xa6,0x25,0x5b, + 0xc,0xe2,0x6e,0xbc,0xa2,0x52,0xaa,0x54,0x2a,0xf5,0xce,0x38,0xab,0x8c,0x90,0x8f, + 0xb2,0xf5,0x1d,0x40,0x8d,0xa2,0x62,0xca,0xec,0x1e,0xd,0x1e,0x1c,0x13,0x0,0x22, + 0xc1,0xc6,0x15,0x55,0x77,0x48,0x2b,0x1f,0xc8,0x97,0x94,0x1b,0x1b,0x1b,0xb6,0x35, + 0xaa,0x4a,0x2b,0x80,0x0,0x86,0x3a,0x9c,0x69,0x61,0x61,0xc1,0xb6,0x44,0x15,0x69, + 0x17,0x85,0x1,0xcc,0xb2,0xac,0xfa,0xef,0xf0,0x85,0x2a,0xed,0x36,0xed,0x0,0xc2, + 0x2f,0xa2,0xb3,0xc4,0x54,0xab,0xd5,0x3c,0x97,0x6d,0xdd,0x94,0x7a,0x80,0xb0,0xa0, + 0x5c,0x2e,0x17,0xe8,0x1a,0x1b,0x1b,0x6b,0x78,0x86,0x8a,0x3f,0x4c,0x35,0x40,0x58, + 0xd2,0xd2,0xd2,0x52,0x24,0xcf,0x82,0x3f,0xc,0xa3,0x54,0x3,0x84,0xf5,0xd,0xf, + 0xf,0x47,0xf2,0xac,0xb0,0xcf,0x49,0x7d,0x1e,0x18,0x26,0x9f,0x43,0xd0,0xe0,0x17, + 0xb9,0x10,0x54,0x78,0xbf,0x18,0x44,0xa9,0x7,0x18,0xa6,0xbb,0x2d,0x8e,0xc7,0xf2, + 0x42,0xd8,0xaa,0x44,0xbb,0x28,0x2c,0xb6,0xfb,0xc7,0xc7,0xc7,0x95,0x6a,0x65,0xad, + 0x0,0x62,0xb1,0x69,0x76,0x76,0xb6,0xfe,0x7b,0xb1,0x58,0x54,0x5e,0x2f,0xd6,0xa, + 0xa0,0xe8,0xe7,0xe0,0x3f,0x55,0x3b,0x43,0x5a,0x1,0xe4,0xfd,0xdc,0xdc,0xdc,0x5c, + 0x24,0x5d,0xa1,0x4c,0x76,0x63,0x10,0x95,0xd9,0x8e,0x59,0xb6,0x29,0xa,0x96,0xc6, + 0xca,0xb6,0x28,0xf7,0x72,0x67,0x12,0x20,0xaa,0xa,0x16,0x28,0xf0,0x13,0x10,0x1, + 0x54,0x2c,0xe3,0xa2,0x90,0x69,0xe9,0x2b,0xca,0x0,0x54,0x94,0x1,0xa8,0x28,0x3, + 0x50,0x51,0x6,0xa0,0xa2,0xc,0x40,0x45,0x25,0x2,0x30,0xe9,0xbd,0xd1,0x49,0x2a, + 0x11,0x80,0x68,0x9b,0xf3,0x42,0x3d,0x1a,0xb4,0x8b,0x1c,0xe4,0x4a,0x6a,0x6f,0x20, + 0x99,0x29,0xac,0xae,0x44,0x0,0xa2,0xeb,0xd1,0x4a,0xc5,0xb9,0x67,0x3b,0x91,0x52, + 0xe,0x5d,0xf,0x56,0x9b,0x46,0x25,0xd4,0xb4,0x3b,0x3b,0x3b,0xae,0x4f,0xc3,0x87, + 0xc3,0x8a,0x5b,0xea,0xf7,0xc6,0xa0,0xeb,0xa1,0xba,0x80,0x7d,0x5e,0x65,0x7c,0xa0, + 0xa2,0xc,0x40,0x45,0x19,0x80,0x21,0x75,0xfc,0xeb,0xb7,0x7d,0x63,0x3,0xc0,0xbd, + 0x83,0xe8,0x9c,0x7c,0xd6,0xc5,0x4e,0x34,0x6a,0x0,0x88,0x93,0x79,0x70,0xdc,0x91, + 0x91,0xb7,0x70,0x9a,0x91,0x3,0x20,0xb4,0x59,0xfa,0x6c,0xf0,0x79,0x8,0x27,0x18, + 0x49,0xa7,0x30,0x9d,0xfd,0x71,0xff,0xc0,0x79,0x46,0x94,0xd1,0x7f,0x55,0x8f,0x8e, + 0x69,0x8b,0x33,0x32,0x69,0x10,0x79,0xf5,0xf6,0xa3,0x81,0x28,0x11,0xe0,0xbd,0x78, + 0xfd,0xc1,0x3e,0x70,0x87,0x49,0x9a,0x48,0x63,0x0,0x6,0xe2,0xfc,0xac,0x81,0xbb, + 0x45,0xed,0xf,0x1f,0x43,0x5c,0x28,0x95,0xbf,0xd1,0x66,0xc9,0x59,0xf9,0xb8,0x56, + 0x22,0x38,0x99,0x7,0x17,0x4e,0x71,0xeb,0x2a,0xe4,0xed,0x63,0xa1,0x74,0x12,0xc, + 0xe9,0xf0,0xe8,0xa7,0xf4,0xd8,0x3b,0x5f,0x0,0x99,0x10,0xb2,0xbd,0xe,0x22,0xd4, + 0x55,0x26,0x91,0x56,0x94,0x1,0xa8,0x28,0x3,0x50,0x45,0x44,0xf4,0xf,0x98,0x86, + 0xbc,0x13,0xaa,0x24,0x9e,0xf5,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42, + 0x60,0x82, + // /work/project/qt/SVG_Upload5/image/2/capture_send all_clicked_button.png + 0x0,0x0,0x5,0x10, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x79,0x0,0x0,0x0,0x48,0x8,0x6,0x0,0x0,0x0,0xd2,0xdc,0x5a,0x41, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x4,0xc2,0x49,0x44,0x41,0x54,0x78,0x9c,0xed, + 0x9c,0x5b,0x48,0x14,0x51,0x18,0xc7,0xbf,0x96,0xd0,0x22,0xed,0x42,0x45,0x65,0x52, + 0xa1,0x11,0x44,0x5a,0x76,0x81,0x88,0xda,0x7a,0x69,0x35,0xc2,0x22,0xa8,0x88,0xd8, + 0x20,0x9f,0x2a,0xf2,0xa9,0x5e,0xba,0x40,0xbd,0x4,0x91,0x4,0xf5,0xd4,0xed,0xad, + 0x20,0xbb,0x50,0x41,0x17,0x9,0x73,0x7d,0x29,0xb,0x9,0x2a,0x24,0x8d,0x20,0x52, + 0x2a,0x4c,0x8b,0xee,0xb9,0x51,0xfa,0x52,0xfc,0xcf,0xee,0x99,0xce,0x8e,0xb3,0xee, + 0xae,0xd0,0xda,0x9c,0xef,0xfb,0xc1,0xe0,0x5e,0xce,0xcc,0x39,0xf3,0xfd,0xcf,0x77, + 0x99,0xd9,0xf1,0xc,0xbb,0x70,0xe3,0xde,0x6f,0x12,0xac,0x26,0x20,0xf2,0xda,0x8f, + 0x88,0xcc,0x0,0x11,0x99,0x1,0x22,0x32,0x3,0x44,0x64,0x6,0x88,0xc8,0xc,0x10, + 0x91,0x19,0x20,0x22,0x33,0x40,0x44,0x66,0x80,0x88,0xcc,0x0,0x11,0x99,0x1,0x22, + 0x32,0x3,0x86,0xf,0x74,0x8a,0x5f,0x7a,0xbe,0x53,0x7b,0xf7,0x5b,0xfa,0xdc,0xf3, + 0x9d,0xbb,0x9d,0xfe,0x6b,0x8a,0xb,0xa6,0x52,0xf1,0x94,0xc2,0xa4,0x43,0xf4,0x14, + 0xb9,0xbd,0xbb,0x93,0x1a,0x1e,0x3f,0xa4,0x8e,0xee,0xb7,0x1c,0x6d,0xe6,0x3b,0x22, + 0x4f,0x88,0x46,0xe4,0xe4,0x50,0xb0,0x64,0x3e,0x5,0x4b,0xcb,0x68,0x64,0x4e,0x6e, + 0xc2,0x29,0xf4,0xfb,0xa9,0xf1,0x66,0xf3,0x3d,0x6a,0x6a,0x6b,0xe1,0x6e,0x37,0xdf, + 0x52,0x30,0x7e,0x2,0x6d,0x5a,0x11,0xa2,0x82,0xf1,0x13,0x9d,0x53,0x48,0xc8,0xc9, + 0x97,0xef,0x46,0x44,0x60,0x9f,0xd3,0xf5,0xe9,0x23,0x9d,0xaa,0xbb,0x46,0x5d,0x9f, + 0x3e,0x38,0x27,0xe2,0x88,0x8c,0xf0,0xfc,0xe8,0xc5,0x73,0xee,0x36,0xb2,0x82,0x5f, + 0x7d,0x7d,0x74,0xb6,0xa1,0x8e,0x7e,0xf6,0xf5,0xaa,0xd3,0x51,0x22,0xa3,0xc0,0x8a, + 0x3c,0x79,0xc8,0xdd,0x36,0x56,0xf1,0x25,0xda,0x43,0x91,0xc7,0x31,0x4d,0x95,0xc8, + 0xd,0x22,0xb0,0x95,0x20,0xf5,0xc2,0x81,0x95,0xc8,0x6d,0xaf,0xda,0xb9,0xdb,0xc3, + 0x5a,0xda,0x5e,0x77,0x50,0x0,0x97,0x4b,0x88,0xe1,0x82,0x9d,0xb4,0x77,0x75,0x52, + 0xe0,0x67,0x6f,0xaf,0xc8,0x6b,0x31,0x28,0xbe,0x2,0x28,0xb9,0x5,0xbb,0x91,0x7b, + 0xd7,0xc,0x10,0x91,0x19,0x20,0x22,0x33,0x40,0x44,0x66,0x80,0x88,0xcc,0x0,0x11, + 0x99,0x1,0x3,0x3e,0x34,0xf0,0xaf,0xa8,0x5c,0xb6,0x84,0xc2,0x15,0x2b,0x29,0x58, + 0x36,0x57,0xf5,0xf0,0x2d,0xfa,0x83,0x4e,0x5c,0xbb,0x4e,0x27,0xaf,0x5e,0x57,0xef, + 0xf7,0x6f,0xd,0xd3,0xce,0xd,0xeb,0x3c,0x7b,0xaf,0xbb,0xdf,0x4c,0x75,0xf,0x9a, + 0xe9,0xf4,0x9e,0xdd,0xea,0xfd,0xe6,0x3,0x87,0xa8,0xa9,0xe5,0xa9,0xf3,0xfd,0xb3, + 0x8b,0x67,0x69,0x4c,0xde,0x28,0x3a,0x7c,0xae,0x96,0x6a,0xeb,0x23,0xea,0xbd,0x89, + 0xbb,0xaf,0x54,0xe8,0xe3,0xa1,0x3d,0x8e,0x69,0x72,0xfb,0x78,0xd,0xcd,0x9d,0x59, + 0xa4,0x3e,0x77,0x1f,0xf,0xfb,0xe8,0xbe,0x57,0xef,0xda,0x43,0x4f,0x5f,0x76,0xc, + 0xd9,0x6c,0xca,0xba,0x27,0x43,0x58,0x8,0xa4,0x5,0xa6,0xb8,0x41,0x20,0xac,0x16, + 0x2e,0x13,0xf6,0x6d,0xd,0x67,0xd4,0x5e,0xf7,0x75,0xf1,0xd0,0x81,0x94,0x6d,0x31, + 0x19,0xd1,0x5e,0xbf,0xf6,0x2b,0x59,0x17,0x19,0x1e,0xc,0x30,0xb3,0xb,0xd7,0x6c, + 0x54,0x9b,0xf6,0x10,0x18,0x72,0xda,0xe4,0x49,0x4e,0x5b,0x78,0xad,0x6e,0xa3,0xb7, + 0x1d,0x35,0xc7,0x12,0x8e,0x7,0x4f,0x4a,0xe6,0xf5,0x26,0xf0,0x26,0xbd,0x3f,0xbc, + 0x19,0x93,0x6c,0x7f,0x8a,0x9,0x52,0xb9,0xf4,0xaf,0xb0,0x18,0x97,0x39,0x31,0xfd, + 0xc4,0x90,0xe6,0x64,0xed,0x25,0x8,0x75,0x7a,0x1b,0x1b,0xff,0x2c,0x13,0xaa,0xd7, + 0xaf,0x73,0x8e,0x95,0xa,0x4c,0x1c,0x84,0x6b,0x4a,0xe1,0x9d,0x38,0x9e,0x16,0xb5, + 0xb6,0xbe,0x31,0xd6,0x7e,0xa9,0x3f,0xbd,0x39,0xeb,0x22,0xd7,0xde,0x89,0x19,0xc, + 0x1e,0x88,0x9c,0x85,0xb0,0x9,0x4f,0x84,0x37,0x63,0x33,0x73,0x17,0x44,0xe8,0xbc, + 0x75,0xc5,0xd9,0xbc,0xf2,0x2b,0x44,0x8b,0x85,0xe0,0x2d,0x69,0x8f,0xa1,0x35,0xde, + 0x7,0xbc,0xd3,0x8c,0x1c,0x26,0xe1,0x55,0x21,0x75,0x5c,0x8c,0x7,0x35,0x0,0xf9, + 0x38,0x64,0x67,0x5d,0x64,0x14,0x49,0x8,0x99,0x5a,0x4c,0x1d,0x36,0x51,0xc4,0x24, + 0x33,0xf8,0x40,0x60,0x62,0x40,0xec,0xf0,0xaa,0x95,0x6a,0xe2,0xa4,0xc3,0xb7,0x68, + 0xd4,0x69,0x95,0x2c,0x72,0x4,0xe7,0x95,0xaa,0xbf,0x10,0x18,0x63,0x7e,0xf3,0xee, + 0xbd,0x12,0x1d,0xfd,0xf8,0x8d,0x21,0x9,0xd7,0xf0,0x3e,0xe4,0x48,0x6c,0x8,0xd1, + 0x10,0x9,0x2,0x5d,0x72,0x15,0x43,0xee,0x9c,0x3c,0x67,0x73,0x55,0xbf,0x63,0xc1, + 0xf8,0xa8,0xa2,0xc1,0x91,0xea,0xed,0x69,0xf5,0x3f,0x26,0x2f,0xcf,0x79,0xfd,0x35, + 0xfa,0xa3,0xdf,0xf7,0x66,0xfe,0xbd,0x1f,0xaf,0xdc,0x9b,0x5a,0x5a,0xd5,0x5f,0x3f, + 0x86,0xec,0xac,0x5f,0x42,0xe9,0x62,0xe7,0xfc,0x9d,0x46,0xe5,0xcd,0x3a,0x1c,0x6a, + 0x4f,0x4e,0xd7,0x1b,0x4d,0xe0,0xcd,0x8,0xa5,0xe9,0xee,0x5b,0x1a,0x6f,0x87,0x9, + 0x82,0xcd,0x8d,0x19,0x96,0x31,0x2e,0x13,0x88,0x8f,0x71,0x7a,0xed,0xf7,0xbf,0x92, + 0x75,0x4f,0x86,0x1,0x91,0x83,0x6b,0xaa,0xb7,0x39,0x9f,0x95,0x1a,0xe2,0x98,0x5e, + 0x96,0x9,0xba,0x98,0x4a,0xa7,0x7f,0x14,0x6a,0x14,0x8f,0x14,0x5e,0x6c,0xa9,0x18, + 0x38,0x24,0xfb,0x2d,0x37,0x67,0xdd,0x93,0x21,0x46,0x4d,0xf5,0x76,0xe5,0x11,0x28, + 0xa6,0x4c,0xe0,0xd5,0xc8,0x7f,0x3a,0x1f,0xaa,0xc2,0x6b,0x59,0x62,0x1b,0x7d,0x33, + 0xc4,0xd,0x2a,0xe0,0x70,0x45,0x28,0xa9,0x37,0xbb,0x3d,0x12,0xfd,0xb8,0x6f,0x6e, + 0x90,0xe1,0xa9,0xe4,0x71,0xa3,0x5,0xd7,0xf1,0x18,0x13,0x42,0xb6,0x79,0xf3,0x3, + 0xd1,0xc9,0x7d,0x39,0x86,0x54,0x94,0xac,0x6f,0xa4,0x27,0xaf,0xd4,0xf3,0xaf,0xc8, + 0x7e,0x75,0x5d,0xdf,0xa8,0xa,0x2f,0xd3,0x78,0x14,0xbf,0x8c,0x32,0xd,0x33,0x18, + 0xf6,0x9e,0x38,0x93,0x72,0x2f,0x18,0x18,0xe2,0x42,0x40,0x2f,0x74,0xce,0x45,0x38, + 0x76,0x8f,0x51,0x4f,0x2e,0x4c,0xa4,0xc1,0xa4,0x95,0xa1,0x62,0x58,0xd5,0xc1,0xa3, + 0xbf,0xe5,0x71,0x5c,0x7b,0x29,0x9a,0x32,0x55,0x7e,0xa0,0xe0,0x80,0x88,0xcc,0x0, + 0x11,0x99,0x1,0x22,0x32,0x3,0x44,0x64,0x6,0x88,0xc8,0xc,0x10,0x91,0x19,0x10, + 0xc0,0x7f,0xa6,0xb,0x76,0x13,0x18,0x99,0x9b,0x2b,0x12,0x5b,0xc,0xd6,0xf,0x9, + 0x60,0xd5,0x18,0x2c,0x2a,0x22,0xd8,0x49,0x71,0x41,0x61,0x2c,0x27,0x97,0xcc,0x28, + 0x16,0x89,0x2d,0xa5,0x64,0x7a,0x51,0x4c,0xe4,0xf2,0x5,0x8b,0xb9,0xdb,0xc2,0x4a, + 0x82,0x25,0x65,0x34,0x2e,0x7f,0x74,0x4c,0x64,0xbc,0x8,0x89,0xd0,0x56,0x31,0x2e, + 0x2f,0x9f,0x42,0xb,0x63,0x9a,0x3a,0x97,0x50,0xe5,0xb,0x17,0xd3,0xa2,0x59,0xb3, + 0xb9,0xdb,0xc6,0xa,0x50,0x63,0x55,0x95,0x57,0x3a,0x8b,0xb6,0x25,0x3c,0x34,0x80, + 0x45,0xbe,0xf0,0x85,0xac,0xe5,0xe5,0x5f,0xbc,0x16,0x6b,0xeb,0xf7,0x64,0xc8,0xda, + 0x25,0xcb,0x69,0xce,0x8c,0x22,0x59,0x76,0xd1,0x67,0x64,0xb4,0xec,0xa2,0x89,0x2c, + 0xa0,0xea,0xf,0x6,0xb5,0x80,0xaa,0x6,0x5,0xd9,0xa2,0xfc,0xd1,0x5c,0x6d,0x67, + 0xd,0x72,0xef,0x9a,0x1,0x22,0x32,0x3,0x44,0x64,0x6,0x88,0xc8,0xc,0x10,0x91, + 0x19,0x20,0x22,0x33,0x40,0x44,0x66,0x80,0x88,0xcc,0x0,0x11,0x99,0x1,0x22,0x32, + 0x3,0x44,0x64,0x6,0x88,0xc8,0xb6,0x43,0x44,0x7f,0x0,0x5e,0x31,0xc5,0xeb,0x2c, + 0x51,0x5c,0x7b,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/2/capture_prev_button_icon.png + 0x0,0x0,0x2,0xdd, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x50,0x0,0x0,0x0,0x6e,0x8,0x6,0x0,0x0,0x0,0xb0,0x61,0x94,0x70, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x2,0x8f,0x49,0x44,0x41,0x54,0x78,0x9c,0xed, + 0xdd,0x31,0x4e,0x1b,0x41,0x18,0xc5,0xf1,0x17,0x94,0x22,0x1c,0x1,0xe1,0x26,0x85, + 0x39,0x0,0x4d,0x7c,0x7,0x97,0x40,0x17,0x52,0x45,0x88,0x12,0x8e,0x3,0x5d,0x0, + 0xd1,0x60,0x17,0x14,0x6e,0x13,0x29,0x5,0x72,0x1a,0xe,0x90,0x14,0x69,0x40,0x54, + 0x4e,0xa8,0x30,0x5d,0xa2,0x41,0x4a,0xa4,0x90,0x15,0x8b,0x78,0xec,0xcc,0xf7,0x46, + 0xef,0x5f,0x7a,0xb,0xaf,0x7e,0xc2,0xac,0x77,0xf7,0x9b,0xf5,0x8b,0xe3,0xd3,0xcf, + 0xbf,0xe0,0x9e,0xdc,0x82,0xe9,0xb8,0xc,0x48,0x66,0x40,0x32,0x3,0x92,0x19,0x90, + 0xcc,0x80,0x64,0x6,0x24,0x33,0x20,0x99,0x1,0xc9,0xc,0x48,0x66,0x40,0x32,0x3, + 0x92,0x19,0x90,0xcc,0x80,0x64,0x6,0x24,0x33,0x20,0x99,0x1,0xc9,0xc,0x48,0x66, + 0x40,0x32,0x3,0x92,0x19,0x90,0xcc,0x80,0x64,0x6,0x24,0x33,0x20,0x99,0x1,0xc9, + 0x5e,0x4a,0xef,0xfd,0xbd,0x46,0x27,0x13,0x5c,0x5e,0x5c,0xfd,0x7d,0x71,0x6d,0x63, + 0x88,0x5e,0x6f,0xa9,0xd3,0xf7,0xac,0x6,0xf0,0xf0,0x60,0x8c,0x2f,0xd3,0xf3,0x7f, + 0x5e,0x9b,0xdf,0xdc,0x76,0xfe,0xbe,0x55,0x7c,0x84,0x9b,0xf0,0x72,0x25,0xf,0x58, + 0x12,0xf,0xea,0x80,0xf,0xe1,0xbd,0x19,0xac,0xa2,0xbf,0xf2,0xba,0xf3,0x7d,0x90, + 0x5,0x6c,0xc3,0xdb,0x7c,0xb7,0x96,0x65,0x3f,0x24,0x1,0xa3,0xe0,0x41,0x11,0x30, + 0x12,0x1e,0xd4,0x0,0xa3,0xe1,0x41,0x9,0x30,0x22,0x1e,0x54,0x0,0x3f,0x7d,0x3c, + 0xb,0x89,0x7,0x5,0xc0,0xe9,0xf4,0x1c,0xe3,0xd1,0xa4,0x71,0x5b,0x69,0x3c,0x44, + 0x7,0x4c,0x78,0x47,0x7,0xe3,0xc6,0x6d,0x11,0xf0,0x10,0x19,0x50,0x1,0xf,0x51, + 0x1,0x55,0xf0,0x10,0x11,0x50,0x9,0xf,0xd1,0x0,0x1f,0xc2,0x5b,0xee,0x2d,0x61, + 0x7d,0x63,0x98,0x7d,0x9f,0xda,0xa,0x3,0xd8,0x86,0xb7,0xb3,0xfb,0x1e,0x8b,0x8b, + 0xaf,0xb2,0xef,0x57,0x5b,0x21,0x0,0x55,0xf1,0x10,0x1,0x50,0x19,0xf,0xa5,0x1, + 0xd5,0xf1,0x50,0x12,0xb0,0x6,0x3c,0x94,0x2,0xac,0x5,0xf,0x25,0x0,0x6b,0xc2, + 0x43,0x6e,0xc0,0xda,0xf0,0x90,0x13,0xb0,0x46,0x3c,0xe4,0x2,0xfc,0xf6,0xf5,0x7b, + 0x95,0x78,0xc8,0x1,0x38,0x9b,0xfd,0xc4,0xfe,0xde,0x51,0xe3,0x36,0x75,0x3c,0xe4, + 0x0,0xfc,0x31,0xbb,0xc6,0x7c,0xfe,0xff,0x88,0x45,0xd,0x78,0x28,0xf9,0x3d,0x70, + 0x30,0x58,0x95,0xc7,0x43,0x49,0xc0,0x74,0x99,0x7e,0x5a,0x70,0x24,0xe3,0xb9,0xea, + 0x1c,0x30,0x8d,0x57,0xa4,0xeb,0x78,0x4d,0xa5,0x3,0x8b,0x3a,0x62,0x96,0xbf,0xc0, + 0x74,0x11,0xb4,0x56,0xc4,0x6c,0x1f,0xe1,0x5a,0x11,0xb3,0xfe,0xf,0xac,0x11,0x31, + 0xfb,0x41,0xa4,0x36,0xc4,0x22,0x47,0xe1,0x9a,0x10,0x8b,0x7d,0x8d,0xa9,0x5,0xb1, + 0xe8,0x15,0xe9,0x84,0xd8,0xef,0x37,0x4f,0x91,0xaa,0x20,0x16,0xbf,0x27,0xb2,0xb5, + 0xfd,0xf6,0xee,0xb4,0xae,0x29,0x5,0xc4,0xe2,0x80,0xe9,0x74,0x2e,0x9d,0x13,0xab, + 0x22,0x86,0xb8,0xad,0xa9,0x8c,0x18,0xe6,0xc6,0xba,0x2a,0x62,0xa8,0xd1,0xe,0x45, + 0xc4,0x70,0xc3,0x45,0x6a,0x88,0x21,0xc7,0xdb,0x94,0x10,0xc3,0xe,0x58,0xaa,0x20, + 0x86,0x1e,0xf1,0x55,0x40,0xc,0x3f,0x64,0x1e,0x1d,0x51,0x62,0x99,0x43,0x64,0x44, + 0x99,0x85,0x36,0x51,0x11,0xa5,0x96,0x7a,0x45,0x44,0x94,0x5b,0x6c,0x18,0xd,0x51, + 0x72,0xb9,0x6b,0x24,0x44,0xd9,0x5,0xd7,0x8f,0x41,0xcc,0x91,0xf4,0x92,0xff,0x36, + 0xc4,0x1c,0xc9,0x3f,0x74,0xa2,0x34,0x62,0x15,0xcf,0x8d,0xf9,0x83,0x78,0xf8,0x61, + 0xd4,0x38,0xc8,0xd4,0x65,0xfe,0x4d,0x25,0x32,0x3f,0x3b,0x8b,0xcc,0x80,0x64,0x6, + 0x24,0x33,0x20,0x99,0x1,0xc9,0xc,0x48,0x66,0x40,0x32,0x3,0x92,0x19,0x90,0xcc, + 0x80,0x64,0x6,0x24,0x33,0x20,0x99,0x1,0xc9,0xc,0x48,0x66,0x40,0x32,0x3,0x92, + 0x19,0x90,0xcc,0x80,0x64,0x6,0x24,0x33,0x20,0x99,0x1,0xc9,0xc,0x48,0x66,0x40, + 0x32,0x3,0x92,0x19,0x90,0x9,0xc0,0x6f,0xdb,0x2,0x4f,0x8c,0x23,0xb7,0xfa,0xd9, + 0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/2/capture_close_clicked_button_icon.png + 0x0,0x0,0x3,0xa3, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x4c,0x0,0x0,0x0,0x40,0x8,0x6,0x0,0x0,0x0,0xb0,0x55,0x91,0x50, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x3,0x55,0x49,0x44,0x41,0x54,0x78,0x9c,0xed, + 0x9c,0x31,0x72,0xda,0x40,0x14,0x86,0x9f,0x99,0xb4,0xe0,0xd4,0x70,0x80,0x85,0x2a, + 0x6e,0x80,0xd6,0x33,0x70,0x0,0xb8,0x0,0xa4,0x87,0x22,0x2d,0x6e,0x4c,0x1a,0x68, + 0x53,0x40,0x9f,0x70,0x0,0xe0,0x0,0x30,0x71,0x4a,0xa0,0x21,0x15,0xa8,0x23,0x5, + 0xd4,0x31,0x1c,0x80,0xcc,0xaf,0x48,0x58,0x28,0x22,0xb0,0xd2,0xae,0x24,0xc4,0x7e, + 0x33,0xcc,0x58,0xc6,0xa0,0xe5,0xf3,0xbe,0xb7,0x6f,0x57,0x62,0xef,0xf6,0xfb,0x3d, + 0x39,0xa1,0x69,0x5a,0x89,0x88,0x3e,0x12,0xd1,0x23,0x11,0xdd,0x3b,0xfe,0x51,0x74, + 0x79,0x25,0xa2,0x21,0x11,0x35,0x19,0x63,0x2b,0xeb,0xa7,0xfc,0x47,0x98,0xa6,0x69, + 0xf,0x44,0xf4,0x95,0x88,0x3e,0xdc,0x98,0xa4,0x53,0x7c,0x66,0x8c,0x35,0xcd,0xe7, + 0x8e,0x84,0x69,0x9a,0x86,0x1e,0xf5,0xe5,0x6,0x7b,0xd4,0x39,0xbe,0x31,0xc6,0xe0, + 0xe6,0x4d,0x98,0xa6,0x69,0x8,0xbd,0xef,0x21,0x6e,0x74,0xd0,0x94,0x19,0x63,0xc3, + 0x18,0xfd,0x95,0xf5,0xde,0x88,0x59,0xc5,0x69,0x90,0xa6,0x28,0x66,0x3c,0xfd,0x49, + 0x85,0xe1,0x59,0xee,0x31,0x10,0x5a,0x85,0x29,0xce,0xf3,0x18,0x33,0x72,0x97,0xea, + 0x5d,0x97,0xf1,0x10,0x33,0xea,0x2c,0xc5,0x85,0xc4,0x94,0x28,0x3e,0xde,0x89,0x78, + 0x93,0xd1,0x68,0x44,0x83,0xc1,0x80,0xb6,0xdb,0xad,0x8f,0x4d,0x3f,0xa6,0x58,0x2c, + 0x52,0xb5,0x5a,0x95,0x7e,0x1e,0xcf,0xc2,0xd6,0xeb,0x35,0xd5,0xeb,0x75,0x31,0xad, + 0xf1,0xc0,0x6c,0x36,0xa3,0xdd,0x6e,0x27,0xbd,0x2d,0x9e,0x43,0x12,0xc2,0xc2,0xc2, + 0x64,0x32,0x91,0xde,0x12,0x95,0xc3,0x38,0x11,0x92,0xc3,0xec,0x34,0x1a,0xd,0xca, + 0x64,0x32,0xdc,0xaf,0x43,0x6f,0xe5,0xe9,0xb1,0x9d,0x4e,0xc7,0x7d,0x23,0x5d,0x22, + 0x45,0x18,0x64,0xe5,0x72,0x39,0xe9,0x8d,0xf,0x42,0x98,0xa,0x49,0x4e,0x94,0x30, + 0x4e,0x94,0x30,0x4e,0x22,0x25,0x2c,0x9f,0xcf,0x4b,0x3f,0x87,0xea,0x61,0x9c,0x28, + 0x61,0x9c,0x28,0x61,0x9c,0x5c,0xb5,0xb0,0x76,0xbb,0x4d,0xf1,0x78,0x5c,0xff,0x39, + 0x9b,0xcd,0x52,0xa5,0x52,0x91,0x7e,0x4e,0x29,0x85,0xab,0x5f,0x94,0xcb,0x65,0xfd, + 0x61,0x67,0x3a,0x9d,0xea,0xf2,0xd2,0xe9,0xb4,0xfe,0xbc,0xc8,0x55,0xc,0xcf,0x3d, + 0x2c,0xc8,0x25,0x9d,0x53,0x98,0x6d,0x5a,0x2e,0x97,0x7a,0x2f,0x84,0x40,0x51,0x78, + 0x16,0x86,0x46,0x85,0xd,0x2c,0xf3,0x58,0xa9,0xd5,0x6a,0xc2,0xfe,0xb1,0x91,0x4c, + 0xfa,0x8,0xc3,0x42,0xa1,0x70,0x38,0x86,0x40,0x48,0x13,0x41,0x64,0x47,0x49,0x84, + 0x62,0x32,0x99,0x3c,0x1c,0x63,0x81,0x51,0xc4,0x64,0x3d,0xb2,0xc2,0x12,0x89,0x4, + 0x75,0xbb,0xdd,0xa3,0xdf,0x41,0x98,0xd7,0x7c,0x76,0x15,0xa3,0xe4,0x62,0xb1,0xa0, + 0x56,0xab,0xe5,0xea,0xb5,0x28,0x3b,0xac,0x39,0xd,0xa1,0x39,0x1e,0x8f,0x75,0xa1, + 0x6e,0x8,0xbd,0x30,0xc8,0x42,0x89,0x60,0x4f,0xe4,0x6e,0xc1,0xfb,0xf4,0x7a,0x3d, + 0xd7,0x6b,0xff,0xa1,0xf,0xc9,0x54,0x2a,0xa5,0x3f,0xc2,0x42,0xe8,0x7b,0x18,0x42, + 0x7,0x3d,0x2,0xcb,0xde,0x6e,0x4a,0x3,0x94,0x3d,0xd6,0xde,0x89,0x10,0xf5,0x32, + 0x23,0xb8,0x8a,0x1c,0xe6,0x94,0xc0,0x2f,0x1,0xe1,0x6c,0x9f,0x9,0xe0,0x7d,0xdc, + 0xe6,0x2f,0x8a,0xf2,0x28,0x89,0xde,0x68,0xaf,0xbd,0x90,0xb7,0xbc,0x5e,0x6b,0x88, + 0xac,0x30,0x8c,0xaa,0x9b,0xcd,0xe6,0x70,0x8c,0x79,0xa5,0x88,0x8b,0xbc,0x91,0x14, + 0x86,0x5b,0x17,0x86,0xc3,0xb7,0xfb,0x3,0x91,0xb7,0xdc,0x84,0xb4,0x13,0x91,0x14, + 0x66,0x9f,0xdf,0xa2,0xea,0x17,0x35,0xd2,0x46,0x52,0x18,0xc2,0xcf,0xa4,0x54,0x2a, + 0xe9,0x37,0xaa,0x88,0x42,0xca,0x28,0x69,0x2e,0xea,0xc9,0x6,0x53,0x9d,0x7e,0xbf, + 0xaf,0x97,0xd,0x18,0xd,0x9f,0x9e,0x9e,0xf4,0x33,0x22,0xb1,0xa3,0x74,0xc0,0x5, + 0x65,0xa7,0xf5,0x32,0x2f,0x48,0xbb,0xf2,0x2d,0x1b,0x94,0xc,0xd6,0xc9,0x34,0x6a, + 0x35,0x53,0x10,0xca,0x6,0x53,0x9e,0x68,0xae,0x36,0x24,0x9d,0xa6,0x4a,0x7e,0xdc, + 0x49,0xa4,0x2e,0x82,0x70,0xa2,0x84,0x71,0x12,0x29,0x61,0xd6,0xd1,0x51,0x16,0x91, + 0x12,0xe6,0x65,0x8e,0x78,0x29,0x2a,0x24,0x39,0x51,0xc2,0x38,0x91,0x52,0x87,0x89, + 0xbc,0xe,0x78,0xa,0xd4,0x61,0x41,0x20,0x45,0x98,0x1f,0x97,0xec,0x83,0x42,0x85, + 0x24,0x27,0x9e,0x85,0xf9,0x35,0x6f,0xbc,0x4,0x3f,0xd6,0xfe,0x3d,0x87,0xa4,0x79, + 0xa3,0x7,0xd6,0xa0,0x82,0x2,0xe5,0x4,0x56,0x24,0xfc,0x10,0x76,0xb7,0x5c,0x2e, + 0xf1,0x5,0xf0,0xe7,0xc0,0x3e,0xed,0x75,0xf1,0x43,0xe5,0x30,0x4e,0x94,0x30,0x3e, + 0x56,0x10,0x36,0xbf,0xa6,0x16,0x7,0xcc,0x1c,0xc2,0x5e,0x8c,0x9d,0x40,0x14,0xe7, + 0x19,0xc6,0x18,0x63,0xbf,0x8d,0xcd,0x3d,0x14,0xff,0x7,0x9b,0x7d,0xac,0xac,0x1b, + 0x7d,0xcc,0xd5,0xf6,0x31,0x27,0xf9,0x85,0x2f,0xc8,0xa3,0x73,0x59,0x93,0x3e,0xbe, + 0x2c,0xff,0x33,0x64,0xd,0xd,0x3,0x70,0x52,0x32,0x22,0xd1,0x71,0xb3,0xa2,0xa6, + 0xda,0xf8,0x43,0xe7,0xd5,0xd8,0xd,0xa5,0x69,0xca,0x22,0x27,0x61,0x26,0xc6,0x7e, + 0x16,0xb7,0xba,0x45,0x3,0xd2,0xd3,0x8b,0x55,0x94,0xe,0x11,0xfd,0x1,0x59,0x50, + 0x1e,0x60,0x17,0xc4,0x99,0x68,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42, + 0x60,0x82, + // /work/project/qt/SVG_Upload5/image/2/capture_delete all_clicked_button_icon.png + 0x0,0x0,0x4,0xad, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x79,0x0,0x0,0x0,0x48,0x8,0x6,0x0,0x0,0x0,0xd2,0xdc,0x5a,0x41, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x4,0x5f,0x49,0x44,0x41,0x54,0x78,0x9c,0xed, + 0x9d,0xbb,0x4e,0x1b,0x41,0x14,0x86,0xf,0xcb,0xc5,0x40,0xec,0xd8,0xc4,0x28,0xa, + 0x10,0x11,0xa4,0x34,0xb8,0x83,0x2,0x6a,0x1e,0x1,0x1e,0x0,0xc4,0x3,0x50,0x50, + 0xd3,0x40,0x45,0xd,0x12,0xf,0x80,0x40,0x4a,0xb,0x79,0x82,0xa0,0x48,0x69,0x40, + 0x91,0x28,0x52,0x40,0x91,0x70,0x11,0x88,0x28,0xc2,0x2,0xdb,0xc4,0x60,0x1b,0x43, + 0xf4,0x8f,0x3c,0x91,0xc1,0xbb,0xbe,0x20,0x6c,0x66,0xf6,0x9c,0x4f,0x5a,0x99,0xf5, + 0x7a,0xf1,0xec,0x7c,0x9e,0xdb,0x59,0x7b,0xa6,0xe9,0xd3,0xe7,0xaf,0xf7,0x24,0xf8, + 0x9a,0x16,0xaf,0x8b,0x8b,0x86,0xdb,0x29,0x12,0xc,0x50,0xb0,0xb3,0x8d,0x9a,0x9d, + 0x26,0xf9,0x14,0x18,0x4a,0xfe,0xee,0x9e,0xae,0xd2,0x59,0xba,0xbc,0xca,0x50,0x3c, + 0x71,0xe3,0x9a,0xc8,0x12,0xc9,0x1d,0x81,0x16,0xfa,0xd8,0x17,0xa6,0xb6,0xd6,0x66, + 0x9e,0xb9,0x66,0x19,0x28,0x80,0xe1,0x60,0x40,0x6d,0x3d,0xd1,0x57,0xf4,0xf3,0x34, + 0x41,0xd7,0x99,0xdb,0x7,0x17,0xe1,0x14,0xef,0xa0,0xf4,0xc6,0x6,0xde,0x88,0x60, + 0x4b,0x81,0x37,0xf8,0x83,0xc7,0x62,0xfe,0x4b,0xc6,0x81,0xf,0xef,0x5e,0x73,0xcf, + 0x27,0x5f,0x0,0x8f,0xc5,0xa2,0x95,0x64,0x7c,0x2,0xde,0xbf,0xd,0x71,0xcf,0x1b, + 0x5f,0x1,0x9f,0xba,0x46,0x56,0x6d,0x32,0xea,0xf2,0x72,0x9d,0xab,0x40,0x20,0x40, + 0x3d,0x3d,0x3d,0xea,0xb1,0x12,0xb9,0x5c,0x8e,0x92,0xc9,0x24,0x9d,0x9f,0x9f,0x73, + 0xcf,0xe7,0x17,0x5,0x3e,0xe1,0xf5,0xe8,0x77,0x92,0x1c,0xec,0x3c,0xae,0xc3,0x8b, + 0x69,0x6d,0x6d,0xa5,0xfe,0xfe,0xfe,0xaa,0x4,0x53,0xe1,0xf5,0xd1,0x68,0x94,0xba, + 0xbb,0xbb,0xfd,0x93,0x63,0x96,0x2,0xaf,0xf0,0xeb,0x84,0x3a,0xdb,0xca,0x5e,0x41, + 0x38,0x1c,0x26,0xc7,0x71,0xaa,0xba,0xca,0xcb,0xcb,0x4b,0x1a,0x18,0x18,0x50,0x8f, + 0x5d,0x5d,0x5d,0x6c,0x33,0xd7,0x24,0xe0,0xb7,0xa5,0xa3,0xdd,0x73,0xa8,0x5c,0x33, + 0xb,0xb,0xb,0x34,0x34,0x34,0x44,0x91,0x48,0x84,0x5b,0x5e,0x1a,0xb,0xfc,0x3e, + 0x9b,0xe1,0xc3,0xc3,0x43,0x5a,0x5e,0x5e,0xa6,0x83,0x83,0x3,0x23,0xae,0x77,0x72, + 0x72,0xb2,0xe6,0x73,0xd6,0xd7,0xd7,0xeb,0x92,0x96,0x97,0xa6,0x6a,0xc9,0x90,0x88, + 0x12,0xea,0x55,0x4a,0xa7,0xa7,0xa7,0x69,0x7e,0x7e,0x5e,0x55,0xd7,0x26,0xb0,0xb3, + 0xb3,0xe3,0x7,0x3f,0xcf,0x42,0x75,0x8d,0x2d,0x11,0x2d,0x2d,0x2d,0xd1,0xf8,0xf8, + 0xb8,0xeb,0xb1,0xad,0xad,0x2d,0xda,0xdd,0xdd,0xa5,0xd9,0xd9,0x59,0x93,0xae,0x4d, + 0x28,0x50,0x75,0x49,0xd6,0xed,0x2d,0x64,0x3f,0x96,0x89,0x52,0x8c,0xe7,0x4d,0x6c, + 0x8b,0x7,0x7,0x7,0x69,0x6e,0x6e,0xce,0xf3,0xf8,0xe2,0xe2,0x22,0xed,0xed,0xed, + 0x35,0x34,0x4d,0x8d,0xa6,0x6a,0xc9,0x10,0xb8,0xba,0xba,0xaa,0x4a,0x33,0x36,0x5d, + 0x2d,0xe3,0x39,0x2a,0x88,0x36,0x91,0x50,0x28,0x44,0xa3,0xa3,0xa3,0x9e,0x29,0xc3, + 0x71,0xbf,0x53,0x53,0xc7,0x6b,0x6c,0x6c,0x4c,0xc9,0xc4,0x86,0x2a,0x1a,0x43,0x25, + 0x94,0xea,0xcd,0xcd,0xcd,0xba,0x66,0xd3,0xc6,0xc6,0x6,0x9d,0x9e,0x9e,0x3e,0xe9, + 0x5c,0x9c,0xb7,0xb2,0xb2,0x52,0xf6,0xb8,0xa6,0xdc,0xeb,0xdc,0xe8,0xeb,0xeb,0xa3, + 0x89,0x89,0x89,0x27,0xa5,0xab,0x91,0x34,0x7d,0xf9,0xf6,0xfd,0x1e,0x91,0x11,0x2f, + 0x10,0xd4,0x40,0x70,0x43,0x3,0xb1,0x5a,0x36,0xfe,0x86,0x6c,0x6c,0x6e,0xec,0xef, + 0xef,0x3f,0xcb,0xa5,0xa0,0xa7,0x6c,0x62,0x47,0x6a,0x64,0x64,0xc4,0xf8,0x1e,0xf9, + 0x59,0xfc,0x6f,0xed,0x43,0x28,0x5d,0x6d,0xf,0xf,0xf,0xab,0x7d,0x53,0x86,0x4c, + 0x82,0x37,0x15,0x25,0xe7,0xf3,0xf9,0x92,0xe7,0xd0,0x1,0xc3,0x70,0x49,0x47,0xb8, + 0xdc,0xc8,0x64,0x32,0x75,0xc9,0xf6,0xb5,0xb5,0xb5,0xba,0xfc,0xdf,0x5a,0x98,0x9a, + 0x9a,0x7a,0xf1,0x34,0xd4,0x42,0x45,0xc9,0x89,0x44,0x42,0x85,0x36,0x1f,0xc7,0xae, + 0xd1,0xdb,0x86,0x64,0x2f,0xea,0x75,0x83,0xa2,0x5c,0x27,0x4a,0x70,0xa7,0xa2,0xe4, + 0xbb,0xbb,0x3b,0x3a,0x3e,0x3e,0x56,0xa2,0x9b,0x9b,0x4b,0xbf,0x4c,0x10,0x8f,0xc7, + 0x4b,0x9e,0x4b,0xa5,0x52,0x75,0x2b,0xc9,0x42,0xed,0x54,0xd5,0x26,0x43,0xf4,0xc5, + 0xc5,0x85,0x11,0xd9,0xbb,0xbd,0xbd,0x6d,0x40,0x2a,0xec,0xe2,0xf9,0xee,0x4e,0x34, + 0x8,0xdb,0xda,0x43,0x13,0xa8,0x3a,0xac,0x29,0xd8,0x8b,0x15,0x25,0x39,0x16,0x8b, + 0xa9,0x47,0xb4,0xf5,0x3a,0x4,0xd9,0xdb,0xdb,0xab,0x82,0x11,0x8d,0x2,0xef,0x8b, + 0xf7,0xa7,0x42,0xa8,0x14,0x91,0x32,0x9d,0x2e,0xd3,0xa9,0x18,0xc,0x31,0x9,0xb4, + 0xc7,0xba,0xba,0x9e,0x99,0x99,0x51,0x5b,0xa3,0x28,0xe,0xc8,0x60,0x18,0x67,0x4b, + 0x2f,0x1f,0xc1,0x10,0xa9,0xae,0x19,0x20,0x92,0x19,0x20,0x92,0x19,0x60,0xdd,0x10, + 0xaa,0x1c,0x68,0xb3,0xf5,0x38,0x1a,0x77,0x87,0x1e,0x77,0xcc,0xf4,0x5d,0x26,0xb7, + 0xbb,0x47,0xb8,0x1b,0x85,0xbb,0x5d,0x54,0x88,0xaa,0xf9,0x29,0xb2,0xe6,0x3b,0xc9, + 0x5a,0x24,0x24,0x79,0x49,0xc6,0xdd,0x23,0x37,0xc9,0xfa,0x38,0x3a,0x74,0x7e,0x92, + 0x2c,0xd5,0x35,0x3,0x44,0x32,0x3,0x44,0x32,0x3,0x44,0x32,0x3,0x44,0x32,0x3, + 0x44,0x32,0x3,0x44,0x32,0x3,0x44,0x32,0x3,0x44,0x32,0x3,0x44,0x32,0x3,0x44, + 0x32,0x3,0x44,0x32,0x3,0x44,0x32,0x3,0x44,0x32,0x3,0x44,0x32,0x3,0x44,0x32, + 0x3,0x44,0x32,0x3,0x44,0x32,0x3,0x44,0x32,0x3,0x44,0x32,0x3,0x44,0x32,0x3, + 0x44,0x32,0x3,0x44,0x32,0x3,0x7c,0xf5,0xbd,0xeb,0x4a,0x3f,0x82,0x2b,0x37,0x29, + 0x1b,0xbe,0x67,0xed,0xd7,0x49,0xdb,0xa4,0x24,0x33,0x40,0x24,0x33,0x40,0x24,0x33, + 0xc0,0xda,0x36,0xf9,0xe4,0xe4,0xa4,0xa1,0x93,0xc4,0xe8,0x59,0x6,0x6c,0xc4,0x5a, + 0xc9,0x98,0xcf,0xb3,0xde,0x73,0x7a,0xfa,0x5,0xa9,0xae,0x19,0x60,0x55,0x49,0xc6, + 0x64,0x2c,0xf8,0xd9,0xa9,0x9,0xe9,0xb0,0x9,0xab,0x26,0x86,0x11,0x6a,0x47,0x4d, + 0xc,0x73,0x7d,0x73,0x2b,0x59,0xe7,0x63,0xe0,0xd7,0x49,0xa5,0xb3,0xdc,0xf3,0xc1, + 0xd7,0xc0,0xaf,0x83,0xf5,0x77,0xbd,0xd6,0xdd,0x15,0xec,0x6,0x5e,0xe1,0x57,0xf5, + 0xae,0x51,0x6f,0x63,0x47,0xf0,0xf,0xf0,0x9,0xaf,0xa4,0x87,0x50,0xd9,0x5c,0x9e, + 0x4e,0xfe,0xd8,0x3b,0xd8,0x17,0x4a,0x39,0x3a,0x4b,0x2a,0xaf,0x54,0x3c,0x4e,0x46, + 0xd1,0xc6,0xa,0x9d,0x82,0xfd,0xc0,0x23,0x96,0xbf,0xd7,0x3c,0x18,0x27,0x43,0x74, + 0xfa,0xe6,0x56,0x96,0xbb,0xb7,0x14,0x94,0x5c,0xb7,0xe5,0xee,0x4b,0x82,0x21,0x78, + 0xc1,0x8f,0x5f,0x71,0xb5,0x2c,0x6b,0x24,0x18,0xa0,0x60,0x67,0x5b,0xd9,0xb5,0x95, + 0x85,0x97,0x5,0x6d,0xef,0x55,0x3a,0xab,0x4a,0xae,0x57,0x7,0xda,0x33,0xe2,0x85, + 0x13,0xa4,0xd7,0xed,0x3,0x88,0xe8,0x1f,0x76,0xc,0x83,0xeb,0x15,0xf1,0xc9,0x6c, + 0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/2/next-icon.png + 0x0,0x0,0x4,0x84, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x50,0x0,0x0,0x0,0x6e,0x8,0x6,0x0,0x0,0x0,0xb0,0x61,0x94,0x70, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x4,0x36,0x49,0x44,0x41,0x54,0x78,0x9c,0xed, + 0xdd,0x4b,0x48,0x54,0x51,0x18,0xc0,0xf1,0x2f,0x9f,0xe3,0xa8,0x38,0x18,0xa6,0x56, + 0x66,0x94,0x6e,0x32,0x6a,0x2,0x41,0xd2,0x45,0x28,0x52,0xb6,0x4a,0x57,0xd1,0xce, + 0xb6,0x51,0x11,0x44,0xb5,0xc8,0x8d,0x8b,0x4a,0x10,0x8d,0x48,0x83,0x36,0x5a,0x6, + 0x61,0x51,0x98,0x2d,0x8c,0x2c,0xcc,0x20,0x7a,0x6d,0x8a,0x88,0x36,0x83,0xf4,0xa2, + 0x2,0xcd,0xe7,0x8c,0xd3,0xbc,0xec,0xc6,0xb9,0x5a,0xb,0x75,0x6c,0xea,0xe3,0x3c, + 0xbe,0xcb,0xf7,0x87,0x61,0x18,0x47,0x98,0xcb,0x8f,0x7b,0xbd,0x77,0xce,0x39,0x5c, + 0x57,0x59,0x96,0x5,0xdc,0xff,0x97,0xc4,0x76,0xb8,0x18,0x10,0x19,0x3,0x22,0x63, + 0x40,0x64,0xc,0x88,0x8c,0x1,0x91,0x31,0x20,0x32,0x6,0x44,0xc6,0x80,0xc8,0x18, + 0x10,0x19,0x3,0x22,0x63,0x40,0x64,0xc,0x88,0x8c,0x1,0x91,0x31,0x20,0x32,0x6, + 0x44,0xc6,0x80,0xc8,0x18,0x10,0x19,0x3,0x22,0x63,0x40,0x64,0xc,0x88,0x8c,0x1, + 0x91,0x31,0x20,0x32,0x55,0x80,0x1e,0x0,0x38,0x6,0x0,0xf5,0x8a,0x3e,0x4f,0x59, + 0xb2,0x1,0x3d,0x93,0x33,0xfe,0x5b,0x0,0x30,0xf9,0x65,0x74,0xac,0xd,0x0,0xfa, + 0x2,0xc1,0xe0,0x77,0x47,0x41,0x8a,0x95,0x9,0xb2,0x1e,0xd3,0xfe,0x40,0x8b,0x65, + 0x59,0x56,0xd3,0x85,0x4b,0x56,0x5e,0x55,0xad,0x55,0xb2,0xa7,0xde,0xea,0x1d,0xb8, + 0x6f,0x2d,0xd4,0x28,0xf3,0xb3,0x55,0x3d,0xa4,0xee,0x81,0xb1,0xb9,0x58,0x9d,0x78, + 0x7e,0xeb,0x1b,0xb1,0x5f,0x4f,0x7,0x2,0x70,0xe4,0x4c,0x2b,0xdc,0xb8,0x37,0x28, + 0x5e,0x76,0x3,0x40,0xa3,0xcc,0xcf,0x57,0x91,0x96,0x93,0x88,0x93,0x10,0xa5,0x2, + 0xba,0x5d,0xae,0x77,0xf1,0xde,0x73,0xa,0xa2,0xec,0xd5,0x59,0x9e,0x89,0xe9,0xe9, + 0x37,0xdf,0xc6,0xc6,0x8b,0xea,0xf,0x1f,0xb7,0xf,0xe1,0xc5,0x5d,0x3c,0x7d,0x2, + 0xf6,0xef,0xdd,0x2d,0x7e,0x7a,0x10,0x0,0xae,0xc8,0xdc,0x18,0x19,0xc9,0x3e,0x84, + 0xa7,0x72,0x73,0x72,0xb6,0x15,0xe6,0xad,0xfe,0x7c,0xa7,0xa3,0xd,0x72,0xb2,0xb2, + 0x96,0xfc,0x2,0xf5,0x3d,0x51,0xd5,0xfa,0x40,0x4f,0x24,0x1a,0xfb,0xea,0xfb,0xf8, + 0x29,0xc3,0x69,0x7b,0xa2,0xaa,0x93,0xc8,0x54,0x5a,0x6a,0x4a,0x65,0x69,0xf1,0x86, + 0x1f,0x4e,0xdb,0x13,0x55,0x9e,0x85,0x5f,0x3b,0x11,0x51,0xf5,0x65,0x8c,0xe3,0x10, + 0x75,0x5c,0x7,0x3a,0xa,0x51,0xd7,0x68,0x8c,0x63,0x10,0x75,0xe,0x67,0x39,0x2, + 0x51,0xf7,0x78,0x20,0x79,0x44,0x13,0x6,0x54,0x49,0x23,0x9a,0x32,0x22,0x4d,0x16, + 0xd1,0xa4,0x21,0x7d,0x92,0x88,0xa6,0xcd,0x89,0x90,0x43,0x34,0x71,0x52,0x89,0x14, + 0xa2,0xa9,0xb3,0x72,0x64,0x10,0x4d,0x9e,0xd6,0x24,0x81,0x68,0xfa,0xbc,0xb0,0xf1, + 0x88,0x14,0x26,0xd6,0x8d,0x46,0xa4,0xb2,0x32,0xc1,0x58,0x44,0x4a,0x4b,0x3b,0x8c, + 0x44,0xa4,0xb6,0x36,0xc6,0x38,0x44,0xaa,0xf7,0x4c,0xf0,0x46,0xa2,0xb1,0xa7,0x9, + 0xce,0xb1,0x54,0x3,0xc0,0xb0,0xac,0xd,0xa1,0x7c,0xd3,0x89,0xbf,0x22,0x8e,0x3e, + 0x79,0x0,0xfe,0xd9,0xe0,0x48,0x76,0xa6,0xbb,0x44,0xd6,0x46,0x50,0x5e,0xde,0x66, + 0x1f,0xce,0x65,0x25,0x9b,0x40,0x1c,0xce,0xf1,0xca,0xce,0x74,0x6f,0x96,0xb9,0x11, + 0xa4,0xd7,0x7,0x86,0xc2,0xe1,0x93,0xe2,0xf9,0xf2,0xcd,0xdb,0x71,0x7f,0x27,0x12, + 0x8d,0x86,0x64,0x6e,0x3,0x59,0xc0,0x50,0x38,0x7c,0xdd,0x95,0x9e,0x7e,0xe0,0xe8, + 0xd9,0x56,0xe8,0x1d,0x18,0x5c,0xf2,0xfe,0xd6,0xd2,0xf9,0x1d,0x2f,0x1a,0x8b,0x49, + 0x9d,0x63,0x26,0xf9,0x37,0x70,0x74,0x62,0xe2,0xd0,0x9a,0xdc,0xdc,0xce,0x95,0xf0, + 0xfa,0x3b,0xda,0xad,0xe4,0xe4,0x24,0x9f,0xdb,0xe5,0xaa,0x10,0xf3,0xd2,0xb2,0xb6, + 0x85,0xdc,0x1e,0x68,0x12,0x1e,0x50,0x3,0x34,0xd,0xf,0x88,0x1d,0xc2,0xe2,0xa2, + 0xb8,0xdb,0x24,0x3c,0x20,0xb4,0x7,0x1a,0x89,0x27,0x4a,0x51,0xf5,0x41,0x88,0x56, + 0xc4,0x13,0x5f,0xe7,0x3a,0x9b,0x4e,0xcd,0x25,0x27,0x27,0x8d,0xa8,0xc6,0x3,0x2, + 0x7b,0xa0,0x8d,0xd7,0xda,0x75,0x2d,0x2e,0xde,0xdd,0xce,0xf6,0xb9,0xe2,0x75,0x85, + 0x5a,0xf0,0xc0,0x70,0x40,0x1b,0x4f,0xc,0xc,0xb4,0x76,0xf5,0x2c,0x79,0xd3,0x4, + 0x3c,0x30,0x18,0xf0,0xf,0x9e,0x18,0x5d,0x59,0x9c,0xc0,0x13,0x5f,0xdf,0xd6,0x17, + 0xe4,0x7f,0xd0,0x89,0x7,0x86,0x2,0x26,0x84,0x27,0x96,0xd,0x67,0x67,0xba,0xcb, + 0x75,0xe2,0x81,0x81,0x80,0x9,0xe3,0x89,0xb5,0xd7,0xba,0xf1,0xc0,0xb0,0xeb,0xc0, + 0x84,0xf0,0x8a,0xd7,0x16,0x8c,0x67,0xb9,0xed,0xe1,0x29,0xed,0x78,0x60,0xd0,0x65, + 0x4c,0x42,0x78,0x62,0x24,0x3a,0x2d,0x35,0xa5,0xd6,0x14,0x3c,0x30,0xe4,0x10,0xfe, + 0x17,0xbc,0x4a,0x31,0xe,0xa8,0x65,0x2b,0xe3,0xa4,0x1b,0x90,0x34,0x1e,0x68,0x6, + 0x24,0x8f,0x7,0x1a,0x4f,0x22,0x5e,0x0,0x78,0x45,0x1d,0xf,0x34,0x9d,0x44,0xbc, + 0xa1,0x70,0xf8,0x45,0xff,0xd0,0x63,0xf2,0x78,0xa0,0xe1,0x10,0xfe,0x8d,0x97,0xe6, + 0x4,0x3c,0x50,0xc,0xe8,0x8d,0x44,0xa3,0xcf,0x9c,0x84,0x7,0xa,0x1,0xed,0x39, + 0xdc,0xbe,0x87,0x8f,0x5c,0x4e,0xc2,0x3,0x45,0x80,0xb,0x78,0x43,0x19,0xcb,0xe1, + 0x89,0xae,0xb6,0x34,0x93,0xc4,0x3,0x15,0x77,0xed,0x10,0x78,0x43,0xcf,0x5f,0xc6, + 0xc5,0x13,0x4b,0x30,0xca,0xcb,0xb6,0x90,0xc4,0x3,0x5,0x97,0x31,0xe2,0x5e,0x31, + 0xe7,0x4b,0xeb,0x1a,0xe2,0xae,0x5f,0x69,0xa8,0xad,0x21,0x8b,0x7,0xb2,0xf7,0xc0, + 0x40,0x30,0xd8,0x4,0xb,0x77,0xeb,0x58,0xdc,0x3c,0x5e,0x75,0x88,0x32,0x1e,0xc8, + 0x6,0x8c,0xcd,0xfd,0xf4,0x2f,0xf7,0x73,0x81,0xb7,0xaf,0x66,0x57,0x24,0x2d,0x35, + 0x75,0x27,0x65,0x3c,0x90,0xd,0xe8,0xc9,0xce,0x6a,0x16,0xcf,0x55,0x3b,0xb6,0xdb, + 0xaf,0x8b,0xa,0xf3,0xa1,0xe7,0x5c,0xb3,0x8d,0xe7,0x4a,0x4f,0xaf,0xa0,0x8e,0x67, + 0x27,0xfb,0xe,0x3f,0x33,0x81,0xd9,0x41,0x71,0xa3,0xa2,0xb7,0xbe,0x11,0xfb,0x7e, + 0x45,0x93,0x33,0xfe,0xf7,0x96,0x65,0x79,0x9d,0x70,0xd7,0x22,0xf1,0x50,0xf5,0x5d, + 0x78,0xe3,0xc2,0xe0,0xc1,0xb0,0xcc,0xc5,0x8e,0x3a,0xe2,0xff,0xea,0x85,0x8c,0xef, + 0x1f,0x88,0x8c,0x1,0x91,0x31,0x20,0x32,0x6,0x44,0xc6,0x80,0xc8,0x18,0x10,0x19, + 0x3,0x22,0x63,0x40,0x64,0xc,0x88,0x8c,0x1,0x91,0x31,0x20,0x32,0x6,0x44,0xc6, + 0x80,0xc8,0x18,0x10,0x19,0x3,0x22,0x63,0x40,0x64,0xc,0x88,0x8c,0x1,0x91,0x31, + 0x20,0x32,0x6,0x44,0xc6,0x80,0xc8,0x18,0x10,0x19,0x3,0x62,0x2,0x80,0x5f,0xb3, + 0xd5,0x48,0xcb,0x41,0x43,0x65,0xce,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae, + 0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/2/capture_send_icon_button.png + 0x0,0x0,0x7,0x17, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x79,0x0,0x0,0x0,0x48,0x8,0x6,0x0,0x0,0x0,0xd2,0xdc,0x5a,0x41, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x6,0xc9,0x49,0x44,0x41,0x54,0x78,0x9c,0xed, + 0x9d,0x5d,0x4c,0x5c,0x45,0x14,0xc7,0xf,0x9b,0x26,0x94,0x48,0xda,0xc4,0x7,0xc0, + 0xd0,0x1a,0xa3,0x10,0x4d,0x6c,0xad,0x1f,0x89,0x26,0x10,0x6a,0xaa,0x9,0xb0,0xfb, + 0x62,0xc1,0x5a,0x51,0x5b,0xb4,0x98,0x94,0xc6,0x48,0x5f,0x14,0x12,0x6d,0x4d,0x34, + 0x8a,0x26,0xc5,0x3e,0x8,0x46,0xa5,0x89,0x34,0x62,0x45,0xc4,0x5a,0xca,0xcb,0x2e, + 0x6d,0xa2,0x46,0x8,0x24,0x9a,0xf8,0x55,0x6a,0x52,0xb3,0x68,0x9a,0x6a,0x63,0xf1, + 0xa1,0x91,0x6,0x3,0x3c,0x61,0xfe,0x23,0x97,0xcc,0x9d,0xbd,0xf7,0xce,0xde,0x5d, + 0xd0,0x99,0xb9,0xf3,0x7b,0xdb,0x4f,0x86,0xfb,0xdf,0x73,0xe6,0x9c,0x73,0xcf,0xcc, + 0x14,0xc,0x8c,0x8c,0x2d,0x91,0x84,0xf9,0xc5,0x5,0xba,0x3c,0x73,0x45,0xf6,0x36, + 0xcb,0x7f,0x4c,0x79,0x69,0x19,0x15,0x15,0xae,0x97,0xfe,0xd1,0x75,0x7e,0x2f,0x7c, + 0x7d,0xfe,0x47,0x9a,0x4a,0x5f,0xa0,0xa9,0xf4,0xcf,0x56,0x3b,0xc5,0xd9,0x5a,0x79, + 0x2b,0x6d,0xad,0xbc,0x8d,0xee,0xdb,0xb2,0xcd,0x73,0xa0,0x19,0x96,0x3c,0x7d,0xe9, + 0x22,0x7d,0x94,0x1c,0xa1,0xab,0xd7,0x66,0xa3,0x7e,0xed,0xb4,0xe3,0xfa,0xd,0x1b, + 0xe9,0x89,0xc4,0x43,0x54,0x71,0xe3,0x4d,0xae,0xa1,0xc7,0xf8,0x7,0xb0,0xde,0x9e, + 0xc1,0x7e,0x2b,0xb0,0xa6,0x40,0x37,0xe8,0x7,0x1d,0x79,0x56,0x44,0xc6,0xb,0x3, + 0xc9,0x91,0xa8,0x5f,0x27,0x23,0x80,0x8e,0xbc,0xd0,0x4c,0xe4,0xab,0xb3,0x7f,0xd1, + 0xf0,0xe7,0xa3,0x51,0xbf,0x36,0x46,0x1,0x3d,0xa1,0x2b,0x39,0x22,0xa7,0x26,0xbe, + 0xa2,0xf9,0xc5,0xc5,0xa8,0x5f,0x17,0xa3,0x80,0x9e,0xd0,0x15,0xc4,0x90,0x1e,0x7d, + 0x23,0xf8,0x70,0x8b,0x19,0x40,0x57,0xe8,0x1b,0x3b,0x67,0x53,0x24,0xa3,0x81,0xbe, + 0x31,0xc7,0x6f,0x5b,0xcc,0x4,0xfa,0xc6,0xac,0xb6,0xe6,0x63,0x45,0x8e,0x0,0xbe, + 0x65,0x4d,0x4b,0xf6,0x6c,0x2c,0x2e,0xa6,0xf8,0xf6,0x2a,0x6a,0x4a,0xd4,0xb1,0xcf, + 0x74,0xbd,0xdf,0x4f,0x13,0xdf,0xab,0x13,0xcc,0x5a,0x91,0xf3,0xa0,0xfa,0xae,0x6d, + 0xd4,0x94,0xa8,0xa5,0x78,0x4d,0x35,0x6d,0x28,0xbe,0x6e,0xe5,0x8b,0x3e,0x78,0xe3, + 0x15,0xaa,0xa8,0xdf,0xa9,0xcc,0x38,0xad,0xc8,0x21,0xd9,0x7c,0x43,0x29,0x35,0xc5, + 0xeb,0xe8,0xb1,0x44,0x2d,0x6d,0x2a,0x2b,0xd5,0x62,0xcc,0x56,0xe4,0x2c,0x81,0xc5, + 0x26,0x6a,0xaa,0xa9,0xbe,0xa6,0x4a,0xfa,0x81,0xc1,0xd4,0x59,0x45,0x46,0xfd,0x2f, + 0x56,0xe4,0x0,0xb6,0x54,0xde,0x42,0xad,0xbb,0x1b,0x33,0xdc,0xb1,0x8c,0xde,0xa1, + 0xcf,0x94,0xfa,0x3f,0xac,0xc8,0x2,0x8,0xa2,0x60,0xb5,0x8,0xa2,0x6e,0xaf,0xb8, + 0x39,0xf4,0xe7,0x7f,0x9a,0xfe,0x95,0x7e,0xfb,0x63,0x66,0x8d,0x47,0x19,0xe,0x2b, + 0xf2,0x32,0xb0,0x56,0xcc,0xb3,0xd9,0xb8,0xe3,0x20,0x54,0xb3,0x62,0x8a,0xba,0xc8, + 0x8,0xa2,0x5a,0x77,0x3f,0x4c,0x89,0x9a,0x2a,0x69,0x10,0x5,0xb,0x45,0x5a,0xb4, + 0xff,0x91,0x86,0xc0,0xf7,0xa5,0xc6,0x26,0x57,0x79,0x94,0xf9,0x13,0x39,0x91,0x9d, + 0x9c,0x16,0xe2,0xca,0xdc,0xf1,0xef,0x57,0x66,0x28,0x39,0x3e,0xc9,0xac,0x13,0x9f, + 0x3b,0xdd,0x73,0x34,0xf0,0xfd,0x9f,0xa4,0xce,0xd2,0xec,0xdc,0xdc,0x2a,0x8f,0x38, + 0x7f,0x22,0x23,0xb2,0x93,0xd3,0x3e,0x1a,0xaf,0x95,0xbe,0x17,0x62,0x25,0xc7,0x26, + 0x29,0x35,0x3e,0xc1,0x1e,0x23,0x0,0x83,0xc0,0xb2,0xe0,0x2b,0xa9,0xa0,0x15,0x93, + 0xe9,0x22,0x87,0xc9,0x69,0xe1,0x8e,0x7,0x93,0x67,0x68,0x30,0xe9,0xb6,0x46,0x3f, + 0x81,0x8f,0x7d,0x3a,0xec,0x72,0xdd,0xb0,0x7a,0xe7,0x47,0xa1,0x1a,0x46,0x8a,0xec, + 0x44,0xc7,0x55,0x77,0xde,0x11,0xf8,0xbe,0x6b,0x73,0x7f,0xb3,0x9c,0x16,0xe2,0x9e, + 0x4f,0xff,0x92,0xf1,0xba,0x9f,0xc0,0x7,0x5f,0xef,0x62,0x9e,0x81,0xe7,0xe3,0xa4, + 0x5a,0xb9,0x31,0x8f,0x31,0x22,0x87,0xc9,0x69,0x47,0xc7,0x27,0x29,0x39,0x3e,0xc1, + 0xac,0x36,0xe8,0xfb,0xfc,0x4,0x46,0x70,0xf5,0xda,0xc1,0x67,0x5c,0xcf,0xf,0xa6, + 0xce,0xe4,0xf9,0x1f,0xac,0x1d,0x5a,0x8b,0xec,0xe4,0xb4,0x10,0x57,0xe6,0x8e,0xe1, + 0x4e,0x7b,0x87,0x4e,0x31,0x71,0x65,0x79,0x6c,0x90,0xc0,0xf8,0x61,0xe0,0x6f,0xf2, + 0xaf,0x4d,0xfe,0x70,0x4e,0xb9,0xdc,0x98,0x47,0x4b,0x91,0xb3,0xcd,0x69,0xe1,0x8e, + 0x31,0x4f,0x42,0x5c,0x2f,0x77,0xec,0x85,0x4c,0x60,0x62,0xd3,0x41,0x9d,0xeb,0x35, + 0xb8,0x7b,0x95,0xd1,0x46,0x64,0x27,0xa7,0x6d,0x8a,0xd7,0x4a,0xdd,0x31,0x2c,0xb, + 0x17,0x1e,0x6e,0x35,0x4c,0x4a,0x93,0x8d,0xc0,0x18,0x7,0x3f,0xd7,0xb3,0x1f,0x92, + 0xa2,0x51,0xb5,0x83,0xd2,0x22,0x87,0xcd,0x69,0x11,0xfc,0x60,0x6e,0xcc,0xc5,0x75, + 0x66,0x23,0x30,0x40,0xb4,0xce,0x3,0x4f,0xa1,0x62,0x6e,0xcc,0xa3,0xa4,0xc8,0xf9, + 0xe4,0xb4,0xb9,0x90,0xad,0xc0,0x0,0xd3,0x4,0xf,0xa6,0x2,0xd5,0x51,0x4a,0x64, + 0x8,0xdb,0xd1,0xd2,0x9c,0x55,0x4e,0x8b,0x2a,0x54,0x58,0x77,0xec,0x45,0x18,0x81, + 0x11,0xb,0xf0,0x63,0x83,0xf7,0xc8,0x76,0xae,0xff,0x3f,0x51,0x4a,0x64,0xa4,0x25, + 0x7e,0xf3,0xad,0x93,0xd3,0x42,0xdc,0xd5,0x8a,0x64,0xc3,0x8,0xc,0x12,0xdb,0xdd, + 0x81,0x9e,0xe,0x56,0x4c,0xba,0x4,0x5e,0xb0,0x98,0x1d,0x4f,0x1d,0x58,0xd5,0xb9, + 0x2f,0xac,0xc0,0x88,0xf,0xc4,0xe9,0x23,0xa9,0x68,0x85,0x4b,0x44,0xa9,0x6e,0xcd, + 0xb6,0xce,0x2e,0x66,0xb1,0x22,0x70,0x91,0xdf,0x9e,0x3c,0x41,0xed,0x2d,0xcd,0xec, + 0x62,0xe7,0x4b,0x58,0x81,0x41,0x5c,0xb0,0x62,0x14,0x54,0x54,0xce,0x8d,0x79,0x94, + 0x12,0x19,0xc1,0xd3,0x3d,0xbb,0xf6,0x50,0x57,0xdf,0x87,0x19,0x62,0x43,0x90,0xf6, + 0x96,0xbd,0x4c,0xec,0xa6,0x84,0x3c,0x20,0xf3,0x23,0x17,0x81,0x1,0x22,0x7c,0x1e, + 0x95,0xcb,0x98,0x22,0xca,0xf5,0x5d,0xc3,0x25,0x77,0xf5,0xf5,0xd3,0x8e,0x7d,0xad, + 0x2c,0x72,0x16,0x81,0x38,0xdd,0x2f,0xb6,0xd3,0x77,0x27,0x4f,0x64,0xd4,0x8f,0x65, + 0xe4,0x2a,0x30,0x72,0x63,0x3e,0x85,0x73,0x8a,0x2c,0xba,0xa0,0x6c,0x73,0x3d,0x5c, + 0x21,0xdc,0xf7,0x3,0xfb,0xe,0xb0,0xe2,0x86,0x8,0x5c,0xf8,0x70,0xcf,0x9b,0x74, + 0xfa,0xed,0xa3,0x4c,0x3c,0x19,0xb9,0xa,0x4c,0x1e,0x56,0xac,0x5a,0xa3,0x9e,0xc, + 0xe5,0x57,0x50,0x20,0x45,0xd9,0xf9,0xec,0x73,0xf4,0xe4,0xb,0x2f,0xb3,0x0,0x4c, + 0x4,0xd5,0xa7,0x2f,0x8e,0xbf,0x47,0x3d,0x87,0xda,0x99,0xc5,0x79,0x91,0x8f,0xc0, + 0xc4,0xa,0x20,0xee,0xe9,0x41,0xf5,0x32,0xa6,0x88,0x36,0xcb,0x64,0xe0,0x1e,0xef, + 0xde,0xb5,0x87,0x5e,0xea,0x7e,0xd7,0x33,0x38,0x43,0xe4,0xfb,0xe5,0xf1,0xde,0x8c, + 0xe0,0x2c,0x5f,0x81,0xc5,0xbb,0x5a,0xc8,0xd1,0x75,0xc8,0x8d,0x79,0xb4,0x5b,0xb, + 0x85,0xdc,0xd4,0x9,0xce,0x44,0xc4,0xe0,0x2c,0x5f,0x81,0xc9,0xb3,0xc2,0xa5,0x5e, + 0xa3,0x9e,0x8c,0x82,0xbd,0x1d,0xaf,0x2e,0x8d,0x2e,0xaf,0x48,0xd7,0xd,0xb8,0x67, + 0x54,0xc8,0xb2,0x29,0x7f,0x3a,0x84,0x11,0x18,0x1e,0x21,0x3d,0x3a,0xec,0x7a,0xae, + 0xb2,0xbe,0x41,0xf9,0x5a,0x35,0x4f,0x7d,0xf5,0xfd,0x7a,0xaf,0x6a,0x74,0x82,0xb3, + 0x86,0xb6,0xe7,0x3d,0x83,0x33,0x91,0x30,0x2,0xd3,0x72,0x99,0x95,0x47,0xd5,0x46, + 0x3d,0x19,0x46,0x2c,0x5d,0x45,0xab,0x6c,0x50,0x70,0x46,0x39,0x8,0x4c,0x2c,0xaa, + 0x6e,0x74,0x3d,0x56,0xb5,0x51,0x4f,0x86,0x51,0xeb,0x93,0x83,0x82,0xb3,0xcd,0x65, + 0x65,0xa1,0xbe,0xb,0xf3,0xb9,0x78,0x33,0x42,0xa7,0xdc,0x98,0xc7,0xc8,0x45,0xe8, + 0x8,0xce,0xe,0x77,0xbf,0xe3,0x7a,0xe,0x56,0x19,0xa6,0x24,0x2a,0x5a,0xb1,0x4e, + 0x15,0x2e,0x11,0x63,0x77,0x1a,0x80,0x6b,0x46,0xba,0xe3,0xc0,0x22,0xef,0xa7,0x9b, + 0xb3,0xfe,0x3c,0x52,0x27,0xd7,0xf7,0x29,0xdc,0xa8,0x27,0xc3,0xe8,0xed,0x24,0xe, + 0xbf,0xe5,0xb6,0x66,0xf4,0x49,0xfb,0x15,0x4c,0x78,0x74,0x6b,0xd4,0x93,0x61,0xb4, + 0xc8,0x8,0xc8,0xc4,0xa8,0xbb,0x53,0x68,0xa5,0xf5,0x22,0x21,0x5a,0xb1,0x66,0x15, + 0x2e,0x11,0xe3,0x37,0x86,0x69,0xeb,0x3c,0xe2,0x7a,0x8c,0xe,0xcf,0xa0,0x1b,0x1b, + 0xb0,0x74,0xbe,0xb,0x54,0x87,0x46,0x3d,0x19,0xc6,0x8b,0xc,0x37,0x8b,0x25,0x2d, + 0x3c,0x41,0x73,0xb3,0x8e,0x8d,0x7a,0x32,0x22,0xb1,0xc5,0x13,0x76,0xe3,0xe1,0x53, + 0x2a,0xdc,0xd4,0xf0,0xbb,0x27,0x2d,0x96,0x31,0xc3,0xe6,0xd6,0x2a,0x12,0x9,0x91, + 0x61,0x89,0x62,0x3f,0x16,0xca,0xa1,0x22,0x70,0xe3,0x62,0x6e,0xac,0xd2,0x56,0x4d, + 0xb9,0x12,0x99,0xcd,0xda,0xd0,0x88,0xc0,0x57,0xc3,0x20,0x66,0xbb,0x20,0xb4,0x68, + 0xdd,0xba,0x34,0xea,0xc9,0x88,0xd4,0x8e,0x7c,0x47,0xfa,0xfa,0x5d,0x8f,0xf9,0x2, + 0x9,0x6b,0xe4,0x17,0xa2,0x6a,0x5d,0x1a,0xf5,0x64,0x44,0x4a,0x64,0xcc,0xaf,0x7c, + 0x4a,0x85,0x5c,0x78,0xff,0x72,0x65,0xb,0x8d,0x7a,0x7c,0x6e,0xac,0x53,0xa3,0x9e, + 0x8c,0xc8,0xed,0xad,0x89,0x20,0x8c,0x7,0xf7,0x9f,0xd9,0x62,0x75,0x61,0x11,0x9b, + 0x29,0x56,0x4c,0x51,0x14,0x19,0x81,0x94,0xd8,0x20,0xd8,0x73,0xa8,0x23,0x63,0x11, + 0x9b,0x9,0x51,0xb5,0x43,0x24,0x77,0xc9,0x15,0xe7,0x66,0x71,0x47,0x2,0xdd,0x1a, + 0xf5,0x64,0x44,0x52,0x64,0xcc,0xb5,0x5e,0xed,0x43,0xe,0xba,0x97,0x31,0x45,0x22, + 0xbb,0xdf,0xf5,0xb1,0xa1,0x53,0x9e,0xd,0x81,0x3a,0x36,0xea,0xc9,0x88,0xcd,0x2f, + 0x2c,0xa8,0x3d,0xc2,0x35,0x2,0x5,0x12,0xf1,0x9e,0x33,0x19,0x68,0xc5,0x14,0xf5, + 0x9d,0xeb,0x11,0x5c,0x89,0xed,0x42,0x26,0x5,0x5c,0xe,0xb1,0xa2,0xf5,0xf2,0x53, + 0x3b,0x4d,0x86,0x5f,0x64,0x87,0x1b,0x19,0xba,0xdf,0x8c,0xf0,0x62,0xdd,0xa6,0x12, + 0x3d,0x36,0xe6,0x5e,0x2b,0x90,0x52,0xa9,0xb4,0xcb,0xfc,0x6a,0x3,0x7d,0x63,0xe2, + 0x9,0x9d,0x16,0xb3,0x80,0xbe,0x31,0x1c,0xb2,0x7c,0xaf,0xcf,0xb9,0xbb,0x16,0xbd, + 0x81,0xae,0xd0,0x97,0x5,0x5e,0x8d,0xf,0xd6,0x51,0x51,0x61,0xa1,0x95,0xd4,0x20, + 0xa0,0x27,0x74,0x25,0x27,0xba,0x86,0xda,0x38,0x5c,0xd9,0x62,0xe,0xd0,0xd3,0x39, + 0xa,0x7f,0x25,0x85,0xc2,0x71,0xe9,0x8f,0x5b,0xa1,0x8d,0x0,0x3a,0x42,0x4f,0x7, + 0xd7,0xc6,0x30,0x38,0x13,0x1f,0xd1,0x18,0x8e,0xbb,0xbf,0xfc,0xa7,0x19,0xb7,0xd9, + 0xa2,0x44,0x79,0x49,0x29,0xb3,0xe0,0xf2,0x12,0xf7,0x6a,0x91,0x82,0x81,0x91,0xb1, + 0x25,0xaf,0xeb,0x30,0x95,0xbe,0xc0,0x4e,0xd3,0x9e,0xbe,0x74,0xd1,0x9e,0xad,0xac, + 0x30,0x98,0x7b,0x11,0x41,0xc3,0x40,0x79,0xeb,0xe5,0xf1,0x15,0xd9,0x62,0x8,0x44, + 0xf4,0xf,0x4b,0x7f,0x32,0xd9,0x48,0x9b,0x63,0x6b,0x0,0x0,0x0,0x0,0x49,0x45, + 0x4e,0x44,0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/2/preview-icon_clicked.png + 0x0,0x0,0x4,0x8a, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x50,0x0,0x0,0x0,0x6e,0x8,0x6,0x0,0x0,0x0,0xb0,0x61,0x94,0x70, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x4,0x3c,0x49,0x44,0x41,0x54,0x78,0x9c,0xed, + 0xdd,0x4d,0x48,0x14,0x61,0x18,0xc0,0xf1,0x47,0xf7,0x53,0xdb,0x72,0x2b,0x82,0xa, + 0x2c,0xa1,0x94,0x28,0xa,0x5,0xcd,0xd4,0xe,0x91,0x11,0x8,0x45,0x9e,0x3a,0x74, + 0x49,0xcb,0x9b,0x78,0xf2,0x90,0xda,0xc1,0xe,0x91,0x12,0x76,0x70,0x23,0xbb,0x4, + 0x7a,0x32,0x8c,0xee,0x45,0x44,0x75,0xc9,0x10,0x85,0x22,0x30,0xa2,0x34,0x29,0xa5, + 0x14,0x3f,0xf2,0x63,0xbf,0x66,0x57,0x9b,0x78,0x7,0xf5,0x90,0xbb,0xba,0xf6,0xf8, + 0xce,0xbc,0xcf,0xf0,0xfc,0x21,0x46,0xd8,0xc5,0x99,0xfd,0xb1,0xeb,0x7c,0xec,0xfb, + 0x4e,0x69,0xba,0xae,0x3,0xf7,0xff,0xa5,0xb3,0x1d,0x2e,0x6,0x44,0xc6,0x80,0xc8, + 0x18,0x10,0x19,0x3,0x22,0x63,0x40,0x64,0xc,0x88,0x8c,0x1,0x91,0x31,0x20,0x32, + 0x6,0x44,0xc6,0x80,0xc8,0x18,0x10,0x19,0x3,0x22,0x63,0x40,0x64,0xc,0x88,0x8c, + 0x1,0x91,0x31,0x20,0x32,0x6,0x44,0xc6,0x80,0xc8,0x18,0x10,0x19,0x3,0x22,0x63, + 0x40,0x64,0xc,0x88,0xcc,0x8e,0x80,0x67,0x0,0xe0,0x16,0x0,0xe4,0x98,0xb1,0x32, + 0x3b,0x1,0xe6,0x2f,0x84,0xc2,0x23,0x0,0xf0,0x7a,0x68,0x74,0xac,0x19,0x0,0x46, + 0x42,0x91,0xe8,0xb,0xd9,0x2b,0xb5,0xcb,0xc8,0x84,0x7c,0x2d,0x16,0xef,0xeb,0x1f, + 0xfc,0xe4,0x6e,0xef,0xee,0x81,0xf1,0xa9,0x69,0x28,0x38,0x92,0x7,0x81,0x1b,0xf5, + 0xe2,0xb1,0x6a,0x0,0xe8,0x92,0xb5,0x62,0x3b,0xbc,0x3,0xd,0xbc,0x57,0xfd,0x3, + 0xee,0xc6,0x40,0x87,0x81,0x27,0x7a,0xff,0xf9,0x8b,0xb1,0x5c,0x8,0x85,0x9b,0x65, + 0xae,0x9c,0x3a,0x60,0x7e,0x7c,0x71,0xb1,0x57,0xe0,0xdd,0x79,0x94,0xf8,0x4d,0xe6, + 0x70,0xa4,0x6f,0x97,0xb9,0x1,0x94,0x1,0xd,0xbc,0x97,0x7d,0xfd,0x19,0x89,0xf0, + 0x7c,0x99,0x99,0xc6,0x32,0xd3,0xeb,0xbd,0x2d,0x73,0x23,0xa8,0x2,0xae,0x8b,0x27, + 0xba,0x59,0x53,0x5,0xf1,0xc5,0xc5,0x88,0xcc,0xbf,0x7f,0x40,0x14,0xd0,0xc0,0x1b, + 0x1c,0xfe,0x96,0x14,0xaf,0xa9,0xa6,0xa,0x8a,0x8f,0x1f,0x8b,0xb8,0x9c,0xce,0x52, + 0x0,0x98,0x95,0xb9,0x31,0xd4,0x0,0xd,0xbc,0xef,0xbf,0xc6,0x33,0x1a,0x3,0xf, + 0x13,0x3e,0x41,0xe0,0x9d,0x2b,0x2e,0x5a,0xc1,0xfb,0x20,0x7b,0x83,0x28,0x1,0xae, + 0xe2,0xd5,0xb5,0xde,0x83,0x60,0x38,0xbc,0xe6,0x9,0x2,0xaf,0xfc,0x64,0xa1,0x66, + 0x16,0x1e,0x10,0x2,0x4c,0x9,0xef,0x6c,0x51,0x61,0xcc,0xed,0x72,0x9d,0x32,0xb, + 0xf,0x88,0x0,0xa6,0x8c,0xe7,0x71,0xbb,0x8a,0xcd,0xc4,0x3,0x2,0x67,0x22,0x29, + 0xe1,0x55,0x94,0x95,0x88,0x1f,0xb,0xcc,0xc6,0x3,0xc5,0xdf,0x81,0x9b,0xc1,0xab, + 0xb6,0x2,0xf,0x14,0x6,0xdc,0x2c,0x9e,0xd4,0x63,0xbd,0xf5,0x52,0x11,0x90,0xc, + 0x1e,0x28,0x8,0x48,0xa,0xf,0x14,0xdb,0x89,0xf8,0xc3,0xd1,0xe8,0xd0,0xcf,0xc9, + 0xa9,0xdd,0x54,0xf0,0x44,0x4e,0x5,0xb6,0x41,0xe4,0x9f,0xb,0x6,0x3f,0x4e,0xfe, + 0x9e,0x25,0x85,0x7,0x8a,0x7c,0x84,0x57,0xf0,0xb2,0xa9,0xe1,0x81,0x2,0x80,0xfe, + 0x50,0x24,0x3a,0x40,0x15,0xf,0x2c,0x6,0xf4,0x47,0x35,0xad,0x6f,0x62,0x7a,0x3a, + 0x87,0x2a,0x1e,0x58,0x8,0x68,0xe0,0xfd,0x9c,0x9c,0x3a,0x54,0xdb,0xd2,0xe6,0x48, + 0x84,0x77,0xad,0xf2,0xa2,0xf2,0x78,0x60,0xd1,0x4e,0xc4,0xc0,0x9b,0xf,0x85,0xf, + 0xd7,0xb6,0xb4,0xa5,0x27,0xc2,0xab,0x38,0x5d,0xa,0xd5,0x97,0x2e,0x80,0xea,0x78, + 0x60,0x1,0xa0,0x81,0xb7,0xf4,0x47,0xcf,0x6d,0x68,0x7f,0x90,0x96,0xc,0xaf,0xe9, + 0xfa,0x55,0xa0,0x80,0x7,0x26,0x7f,0x84,0x57,0xf1,0xea,0x5a,0xdb,0xd2,0xbe,0xfe, + 0x18,0x5d,0xf3,0x4,0x6a,0x78,0x60,0x22,0x60,0xca,0x78,0x33,0x73,0xf3,0xb5,0x54, + 0xf0,0xc0,0x24,0xc0,0x4d,0xe1,0xed,0xca,0xda,0xd1,0x61,0xc2,0x36,0x6d,0x59,0xb2, + 0x1,0x6d,0x8d,0x7,0xb2,0x1,0x23,0x9a,0xd6,0xe2,0xf5,0x78,0xf2,0x36,0xc2,0xd3, + 0x62,0xf1,0xc7,0x14,0xf1,0x40,0x36,0xa0,0xd3,0xe1,0xa8,0x12,0xcb,0x8d,0xf0,0x3c, + 0x6e,0xd7,0x15,0x99,0xdb,0x21,0x33,0xa9,0x80,0x2e,0xa7,0xd3,0x9b,0xec,0xb1,0xcb, + 0xe7,0xcb,0x8d,0xa5,0xc7,0xed,0xba,0x6b,0xde,0xcb,0xdd,0xfa,0xa4,0x2,0x86,0x22, + 0xd1,0xe1,0x64,0x8f,0x89,0xd3,0xb7,0xa1,0xd1,0x31,0x31,0x7a,0xa0,0x57,0x5c,0x7, + 0x94,0xff,0x52,0xe5,0x24,0x15,0x70,0x5b,0x86,0xb7,0x6,0x96,0xcf,0x69,0xff,0x4d, + 0x1c,0x44,0xb,0x44,0x71,0xf1,0x94,0x32,0xa2,0xec,0xbd,0xf0,0x1b,0x71,0x50,0x2c, + 0xce,0x69,0xed,0x8a,0x68,0xc6,0x71,0x60,0x97,0x9d,0x11,0xcd,0x3a,0x13,0xb1,0x2d, + 0xa2,0x99,0xe7,0xc2,0xb6,0x44,0x34,0xfb,0x7a,0xa0,0xed,0x10,0xad,0xb8,0xa0,0x6a, + 0x2b,0x44,0xab,0xae,0x48,0xdb,0x6,0xd1,0xca,0xef,0x44,0x6c,0x81,0x68,0xf5,0xb7, + 0x72,0xe4,0x11,0x55,0xf8,0x5e,0x98,0x34,0xa2,0x2a,0x63,0x63,0xc8,0x22,0xaa,0x34, + 0xb8,0x88,0x24,0xa2,0x6a,0xa3,0xb3,0xc8,0x21,0xaa,0x38,0x3e,0x90,0x14,0xa2,0xaa, + 0x23,0x54,0xc9,0x20,0xaa,0x3c,0x46,0x9a,0x4,0xa2,0xea,0xd3,0x1c,0x94,0x47,0xa4, + 0x30,0x4f,0x44,0x69,0x44,0x2a,0x33,0x95,0x94,0x45,0xa4,0x36,0xe5,0x5f,0xe8,0x75, + 0x3e,0x7b,0xfb,0xe,0x92,0xcd,0x11,0xbe,0xdf,0x50,0xf,0x7,0xf7,0xed,0x15,0x93, + 0xd,0xf7,0xcb,0x9e,0xa9,0x9,0x44,0xef,0x99,0x90,0x12,0xe2,0x9e,0x9d,0xfe,0xd1, + 0x2c,0x9f,0xef,0x4,0x4f,0x77,0x5d,0x5b,0x4a,0x1f,0x67,0x31,0x6c,0x58,0x8c,0xbd, + 0x16,0xc3,0x4b,0x64,0x6e,0xc,0xd5,0x19,0xeb,0x1b,0x22,0x6,0xba,0x7b,0x20,0xcb, + 0xe7,0xcb,0xd6,0x62,0x71,0xa9,0x43,0x46,0x28,0xdf,0x33,0x61,0x5d,0xc4,0x95,0xa2, + 0x31,0xed,0xa8,0xcc,0x8d,0xa0,0x7e,0xd7,0x8e,0x94,0x10,0x65,0xa6,0xca,0x44,0x1b, + 0x4c,0xc6,0x9e,0xa4,0xa2,0xac,0xa4,0x53,0x2c,0x3,0xdd,0x4f,0x8c,0x8f,0x70,0xee, + 0x81,0x6c,0xe3,0x57,0x3a,0x1d,0x8e,0xe7,0x52,0xd7,0x2e,0xf6,0xc2,0x36,0xf9,0x57, + 0x19,0x8a,0x44,0xa6,0x74,0x5d,0xd7,0x27,0xa6,0x67,0x96,0xc4,0x72,0x2e,0x18,0x7c, + 0xaa,0xeb,0xba,0x5f,0xe6,0xeb,0xb3,0xe3,0x7f,0x4a,0x55,0xb9,0x7c,0xe3,0xb1,0x2e, + 0x3e,0xe,0x24,0x10,0xdf,0x3f,0x10,0x19,0x3,0x22,0x63,0x40,0x64,0xc,0x88,0x8c, + 0x1,0x91,0x31,0x20,0x32,0x6,0x44,0xc6,0x80,0xc8,0x18,0x10,0x19,0x3,0x22,0x63, + 0x40,0x64,0xc,0x88,0x8c,0x1,0x91,0x31,0x20,0x32,0x6,0x44,0xc6,0x80,0xc8,0x18, + 0x10,0x19,0x3,0x22,0x63,0x40,0x64,0xc,0x88,0x8c,0x1,0x91,0x31,0x20,0x32,0x6, + 0xc4,0x4,0x0,0x7f,0x1,0xeb,0xf6,0xd,0x43,0x19,0xa7,0x35,0xd3,0x0,0x0,0x0, + 0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82, + // /work/project/qt/SVG_Upload5/image/2/capture_close_button_icon.png + 0x0,0x0,0x3,0x77, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x4c,0x0,0x0,0x0,0x40,0x8,0x6,0x0,0x0,0x0,0xb0,0x55,0x91,0x50, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12, + 0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x3,0x29,0x49,0x44,0x41,0x54,0x78,0x9c,0xed, + 0x9c,0xf1,0x91,0xaa,0x30,0x10,0xc6,0x57,0xe7,0xfe,0xd7,0xe,0xf4,0x55,0xa0,0x56, + 0xa0,0x56,0xa0,0xaf,0x2,0xed,0x40,0xad,0x0,0xad,0x40,0xaf,0x2,0xb4,0x3,0x3b, + 0x38,0xad,0x40,0xad,0x40,0xec,0x0,0x2b,0xe0,0xe6,0xe3,0x81,0x83,0x3c,0xb9,0x23, + 0x24,0xc4,0x18,0xf7,0x37,0xe3,0xcc,0x71,0x2a,0x81,0x8f,0xdd,0xcd,0x66,0x13,0x53, + 0x9,0x82,0x80,0x32,0x18,0x12,0xd1,0x98,0x88,0x7a,0x44,0x54,0xcb,0xfa,0x90,0xa5, + 0x5c,0x89,0x68,0x4b,0x44,0x73,0x22,0xf2,0x92,0xb7,0xf8,0x48,0xb0,0x36,0x11,0xad, + 0x89,0xa8,0xf5,0x66,0x22,0x65,0xb1,0x88,0x84,0xb,0x49,0xb,0x6,0x8b,0x5a,0xbd, + 0xa1,0x45,0xfd,0xc6,0x26,0xd2,0xe6,0x4e,0x30,0xb8,0xde,0x97,0xa9,0x57,0x6c,0x0, + 0x7f,0xe1,0xa6,0xb1,0x60,0xf5,0xc8,0x57,0xd9,0xb2,0xb2,0x41,0x5c,0xab,0x57,0xa3, + 0xb7,0xa7,0x2c,0xd6,0xaf,0x40,0x9f,0x61,0x6c,0x61,0x3e,0xb,0x96,0x8b,0xcf,0xea, + 0x9b,0xa6,0xd,0x45,0x69,0xc7,0x82,0x31,0x39,0xa9,0xb2,0x50,0x62,0x7c,0xa8,0x38, + 0xc9,0x76,0xbb,0xa5,0xf5,0x7a,0x4d,0xbe,0xef,0x6b,0xbc,0xf4,0x7b,0x86,0xc3,0x21, + 0x4d,0xa7,0xd3,0xf2,0x1b,0xa,0x82,0x60,0x1e,0x48,0x70,0x3e,0x9f,0xd1,0x6b,0x18, + 0xf1,0x72,0x1c,0x47,0xe6,0x56,0xf2,0xb0,0x93,0x76,0x49,0xcf,0xf3,0x72,0x7c,0x4a, + 0xf,0xbb,0xdd,0xae,0xf4,0x76,0x38,0x86,0x9,0xa2,0x24,0x86,0xa5,0x59,0x2e,0x97, + 0xd4,0x6e,0xb7,0x85,0xbf,0x7,0x6b,0x15,0xb1,0xd8,0xc5,0x62,0x51,0xfc,0x22,0xb, + 0x52,0x8a,0x60,0x10,0xab,0xd7,0x2b,0x3f,0x5b,0x79,0x86,0x60,0xec,0x92,0x82,0xb0, + 0x60,0x82,0xb0,0x60,0x82,0x58,0x25,0x98,0x8e,0xb8,0xc9,0x16,0x26,0x8,0xb,0x26, + 0x8,0xb,0x26,0xc8,0x4b,0xb,0xe6,0xba,0x2e,0xd5,0x6a,0xff,0x4a,0x79,0xdd,0x6e, + 0x57,0xcb,0xe0,0xfb,0xa5,0x5,0x1b,0x8f,0xc7,0x61,0x85,0x4,0x55,0x63,0x8c,0x23, + 0xeb,0xf5,0x7a,0xf8,0x7f,0xfc,0x5d,0xa9,0x54,0xc2,0x4,0x7a,0xb5,0x5a,0x29,0x6d, + 0x53,0x5a,0xb0,0x67,0x96,0x74,0xb2,0x88,0xaf,0xe9,0x74,0x3a,0xd1,0x6c,0x36,0x53, + 0x3a,0x28,0x97,0x16,0xec,0x78,0x3c,0xaa,0xb9,0x12,0x85,0xa4,0x1f,0x22,0x6a,0x65, + 0xaa,0x1e,0xac,0x95,0x41,0x1f,0xae,0x3a,0x18,0xc,0x6e,0xc7,0xd7,0xeb,0x35,0x14, + 0x4d,0x5,0xd6,0xf6,0x92,0xa8,0x0,0x37,0x1a,0x8d,0xdb,0xf1,0x7e,0xbf,0xa7,0xf9, + 0x7c,0xfe,0xe3,0x77,0xf2,0x60,0xad,0x60,0xe8,0x0,0x50,0x3a,0x4f,0x82,0xea,0x86, + 0x6c,0x3c,0x2b,0xa5,0xbc,0xa3,0x1a,0xc4,0xc9,0xa2,0x29,0x3,0xd2,0xe,0xb8,0x64, + 0xc,0x5c,0x13,0x35,0xb7,0xb8,0x47,0x15,0xc5,0x78,0xc1,0x20,0x16,0xc6,0x88,0xc9, + 0x9b,0x96,0x1,0xe7,0x41,0xaa,0x51,0xd4,0x3d,0x8d,0x77,0xc9,0x66,0xb3,0x19,0xbe, + 0x4c,0xc1,0x78,0xb,0x83,0xeb,0x20,0xee,0xc4,0x49,0xaa,0x28,0xb0,0xd0,0xa4,0x75, + 0xc2,0x45,0x65,0x46,0x4,0x2f,0x11,0xc3,0x1e,0x5,0xf0,0x3c,0x40,0xac,0x4e,0xa7, + 0x73,0xf7,0x49,0x9c,0xa7,0x68,0xfc,0x22,0x9b,0x7b,0x49,0x58,0x63,0x3a,0xf7,0x72, + 0x1c,0x47,0xba,0x66,0x66,0xad,0x60,0x70,0xbb,0xcb,0xe5,0x72,0x3b,0x6e,0xb5,0x5a, + 0x9c,0x87,0x65,0x1,0xb7,0xdb,0x6c,0x36,0xb7,0x77,0x11,0xb7,0x8a,0xb8,0xf4,0x23, + 0xac,0x14,0x2c,0x3d,0xbe,0x45,0xd6,0xaf,0xaa,0xa7,0xb5,0x52,0xb0,0xe4,0x24,0xf2, + 0x68,0x34,0x52,0x36,0x8e,0xa4,0xb2,0x4,0x93,0xe9,0x85,0x44,0x40,0x4c,0x82,0xe5, + 0xa0,0xbd,0x64,0xaa,0x80,0xc0,0x3e,0x99,0x4c,0xc2,0x2,0x23,0xac,0x4b,0x29,0xb2, + 0xab,0x77,0xb0,0x62,0x26,0xbd,0x72,0x47,0x7,0x87,0xc3,0xe1,0xbf,0x76,0x5d,0xd7, + 0x35,0x7f,0xf5,0xce,0xb3,0x78,0x94,0xc4,0xea,0x58,0x49,0xc4,0x93,0x20,0x82,0xb0, + 0x60,0x82,0x58,0x25,0x58,0x91,0x25,0x56,0xa2,0x58,0x25,0x98,0x8e,0xde,0x99,0x5d, + 0x52,0x10,0x16,0x4c,0x90,0x52,0xca,0x3b,0x3a,0x16,0xe7,0x3e,0x6b,0x7a,0xaf,0x14, + 0xc1,0xfa,0xfd,0x7e,0x19,0xa7,0x35,0x2,0x76,0x49,0x41,0xa4,0x5,0xd3,0x35,0x6e, + 0xcc,0x83,0x8e,0xda,0xbf,0xb4,0x4b,0xc6,0x83,0x5e,0x55,0xf5,0xa6,0x22,0xe0,0xa1, + 0xa1,0x22,0xa1,0x43,0x30,0xfc,0x5e,0x12,0x65,0x48,0xa7,0xf4,0x96,0xec,0x60,0xcf, + 0x31,0x4c,0x10,0x16,0x4c,0xc,0xf,0x82,0x99,0xb7,0x5e,0xc9,0x5c,0x8e,0x88,0x61, + 0xbc,0xa3,0x40,0x7e,0xfe,0x54,0xa3,0x1f,0xc8,0xab,0x5d,0xd7,0x68,0x27,0x98,0x86, + 0xf2,0x92,0x1b,0x7d,0x1c,0x79,0xfb,0x98,0x4c,0x2e,0xd1,0x16,0x3b,0x7e,0x32,0xe8, + 0x63,0x4a,0xf8,0x64,0xd8,0x85,0x9a,0xc0,0x29,0xda,0xb8,0x29,0xac,0x89,0x27,0x5, + 0xf3,0x23,0x15,0x17,0xd1,0x2e,0x20,0xef,0xe,0x34,0xf8,0x8c,0xc,0xe9,0xd6,0x31, + 0xfe,0xb4,0x1d,0x56,0xef,0x8d,0xb7,0x68,0x80,0x40,0x28,0xb9,0xdc,0xcf,0xb4,0x10, + 0xd1,0x37,0xc3,0xce,0xd0,0xa0,0xb4,0x4c,0xca,0x97,0x0,0x0,0x0,0x0,0x49,0x45, + 0x4e,0x44,0xae,0x42,0x60,0x82, + +}; + +static const unsigned char qt_resource_name[] = { + // image + 0x0,0x5, + 0x0,0x70,0x37,0xd5, + 0x0,0x69, + 0x0,0x6d,0x0,0x61,0x0,0x67,0x0,0x65, + // Arrow_under_2.png + 0x0,0x11, + 0xf,0xdf,0xa7,0x67, + 0x0,0x41, + 0x0,0x72,0x0,0x72,0x0,0x6f,0x0,0x77,0x0,0x5f,0x0,0x75,0x0,0x6e,0x0,0x64,0x0,0x65,0x0,0x72,0x0,0x5f,0x0,0x32,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + + // Arrow_under_3.png + 0x0,0x11, + 0xf,0xe0,0xa7,0x67, + 0x0,0x41, + 0x0,0x72,0x0,0x72,0x0,0x6f,0x0,0x77,0x0,0x5f,0x0,0x75,0x0,0x6e,0x0,0x64,0x0,0x65,0x0,0x72,0x0,0x5f,0x0,0x33,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + + // Arrow_top_2.png + 0x0,0xf, + 0x8,0xfe,0xa3,0xe7, + 0x0,0x41, + 0x0,0x72,0x0,0x72,0x0,0x6f,0x0,0x77,0x0,0x5f,0x0,0x74,0x0,0x6f,0x0,0x70,0x0,0x5f,0x0,0x32,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // Arrow_top_3.png + 0x0,0xf, + 0x9,0x1,0xa3,0xe7, + 0x0,0x41, + 0x0,0x72,0x0,0x72,0x0,0x6f,0x0,0x77,0x0,0x5f,0x0,0x74,0x0,0x6f,0x0,0x70,0x0,0x5f,0x0,0x33,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // scrollbar_vertical_bg.png + 0x0,0x19, + 0x9,0x8f,0xd1,0x67, + 0x0,0x73, + 0x0,0x63,0x0,0x72,0x0,0x6f,0x0,0x6c,0x0,0x6c,0x0,0x62,0x0,0x61,0x0,0x72,0x0,0x5f,0x0,0x76,0x0,0x65,0x0,0x72,0x0,0x74,0x0,0x69,0x0,0x63,0x0,0x61, + 0x0,0x6c,0x0,0x5f,0x0,0x62,0x0,0x67,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // 2 + 0x0,0x1, + 0x0,0x0,0x0,0x32, + 0x0,0x32, + + // cancel_arrow.png + 0x0,0x10, + 0xa,0xf8,0x87,0x47, + 0x0,0x63, + 0x0,0x61,0x0,0x6e,0x0,0x63,0x0,0x65,0x0,0x6c,0x0,0x5f,0x0,0x61,0x0,0x72,0x0,0x72,0x0,0x6f,0x0,0x77,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // scrollbar_down.png + 0x0,0x12, + 0xd,0xdb,0x84,0xc7, + 0x0,0x73, + 0x0,0x63,0x0,0x72,0x0,0x6f,0x0,0x6c,0x0,0x6c,0x0,0x62,0x0,0x61,0x0,0x72,0x0,0x5f,0x0,0x64,0x0,0x6f,0x0,0x77,0x0,0x6e,0x0,0x2e,0x0,0x70,0x0,0x6e, + 0x0,0x67, + // select_indicator.png + 0x0,0x14, + 0xb,0x5e,0x1,0xe7, + 0x0,0x73, + 0x0,0x65,0x0,0x6c,0x0,0x65,0x0,0x63,0x0,0x74,0x0,0x5f,0x0,0x69,0x0,0x6e,0x0,0x64,0x0,0x69,0x0,0x63,0x0,0x61,0x0,0x74,0x0,0x6f,0x0,0x72,0x0,0x2e, + 0x0,0x70,0x0,0x6e,0x0,0x67, + // Scroll_bar_1.png + 0x0,0x10, + 0xc,0x5a,0x8c,0x7, + 0x0,0x53, + 0x0,0x63,0x0,0x72,0x0,0x6f,0x0,0x6c,0x0,0x6c,0x0,0x5f,0x0,0x62,0x0,0x61,0x0,0x72,0x0,0x5f,0x0,0x31,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // scrollbar_right.png + 0x0,0x13, + 0xa,0x5a,0x9,0xc7, + 0x0,0x73, + 0x0,0x63,0x0,0x72,0x0,0x6f,0x0,0x6c,0x0,0x6c,0x0,0x62,0x0,0x61,0x0,0x72,0x0,0x5f,0x0,0x72,0x0,0x69,0x0,0x67,0x0,0x68,0x0,0x74,0x0,0x2e,0x0,0x70, + 0x0,0x6e,0x0,0x67, + // scrollbar_left.png + 0x0,0x12, + 0x0,0xad,0x83,0xe7, + 0x0,0x73, + 0x0,0x63,0x0,0x72,0x0,0x6f,0x0,0x6c,0x0,0x6c,0x0,0x62,0x0,0x61,0x0,0x72,0x0,0x5f,0x0,0x6c,0x0,0x65,0x0,0x66,0x0,0x74,0x0,0x2e,0x0,0x70,0x0,0x6e, + 0x0,0x67, + // month_next.png + 0x0,0xe, + 0x0,0x42,0x8e,0xc7, + 0x0,0x6d, + 0x0,0x6f,0x0,0x6e,0x0,0x74,0x0,0x68,0x0,0x5f,0x0,0x6e,0x0,0x65,0x0,0x78,0x0,0x74,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // scrollbar_horizontal_bg.png + 0x0,0x1b, + 0xc,0xa2,0x6c,0x67, + 0x0,0x73, + 0x0,0x63,0x0,0x72,0x0,0x6f,0x0,0x6c,0x0,0x6c,0x0,0x62,0x0,0x61,0x0,0x72,0x0,0x5f,0x0,0x68,0x0,0x6f,0x0,0x72,0x0,0x69,0x0,0x7a,0x0,0x6f,0x0,0x6e, + 0x0,0x74,0x0,0x61,0x0,0x6c,0x0,0x5f,0x0,0x62,0x0,0x67,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // scrollbar_up.png + 0x0,0x10, + 0xa,0xb8,0x2d,0x87, + 0x0,0x73, + 0x0,0x63,0x0,0x72,0x0,0x6f,0x0,0x6c,0x0,0x6c,0x0,0x62,0x0,0x61,0x0,0x72,0x0,0x5f,0x0,0x75,0x0,0x70,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // month_prev.png + 0x0,0xe, + 0x4,0x7c,0x86,0xa7, + 0x0,0x6d, + 0x0,0x6f,0x0,0x6e,0x0,0x74,0x0,0x68,0x0,0x5f,0x0,0x70,0x0,0x72,0x0,0x65,0x0,0x76,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // ScrollBar_Horizontal_Icon.png + 0x0,0x1d, + 0x5,0x9a,0x63,0xe7, + 0x0,0x53, + 0x0,0x63,0x0,0x72,0x0,0x6f,0x0,0x6c,0x0,0x6c,0x0,0x42,0x0,0x61,0x0,0x72,0x0,0x5f,0x0,0x48,0x0,0x6f,0x0,0x72,0x0,0x69,0x0,0x7a,0x0,0x6f,0x0,0x6e, + 0x0,0x74,0x0,0x61,0x0,0x6c,0x0,0x5f,0x0,0x49,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // ScrollBar_Vertical_Icon.png + 0x0,0x1b, + 0xf,0x66,0x68,0xa7, + 0x0,0x53, + 0x0,0x63,0x0,0x72,0x0,0x6f,0x0,0x6c,0x0,0x6c,0x0,0x42,0x0,0x61,0x0,0x72,0x0,0x5f,0x0,0x56,0x0,0x65,0x0,0x72,0x0,0x74,0x0,0x69,0x0,0x63,0x0,0x61, + 0x0,0x6c,0x0,0x5f,0x0,0x49,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // capture_next_button_icon.png + 0x0,0x1c, + 0x4,0xa0,0xe,0x47, + 0x0,0x63, + 0x0,0x61,0x0,0x70,0x0,0x74,0x0,0x75,0x0,0x72,0x0,0x65,0x0,0x5f,0x0,0x6e,0x0,0x65,0x0,0x78,0x0,0x74,0x0,0x5f,0x0,0x62,0x0,0x75,0x0,0x74,0x0,0x74, + 0x0,0x6f,0x0,0x6e,0x0,0x5f,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // capture_delete_button_icon.png + 0x0,0x1e, + 0x3,0xd5,0x46,0xa7, + 0x0,0x63, + 0x0,0x61,0x0,0x70,0x0,0x74,0x0,0x75,0x0,0x72,0x0,0x65,0x0,0x5f,0x0,0x64,0x0,0x65,0x0,0x6c,0x0,0x65,0x0,0x74,0x0,0x65,0x0,0x5f,0x0,0x62,0x0,0x75, + 0x0,0x74,0x0,0x74,0x0,0x6f,0x0,0x6e,0x0,0x5f,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // preview-icon.png + 0x0,0x10, + 0x3,0xc4,0x73,0x87, + 0x0,0x70, + 0x0,0x72,0x0,0x65,0x0,0x76,0x0,0x69,0x0,0x65,0x0,0x77,0x0,0x2d,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // capture_check box.png + 0x0,0x15, + 0x4,0x4d,0xc,0xc7, + 0x0,0x63, + 0x0,0x61,0x0,0x70,0x0,0x74,0x0,0x75,0x0,0x72,0x0,0x65,0x0,0x5f,0x0,0x63,0x0,0x68,0x0,0x65,0x0,0x63,0x0,0x6b,0x0,0x20,0x0,0x62,0x0,0x6f,0x0,0x78, + 0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // next-icon_clicked.png + 0x0,0x15, + 0xc,0x37,0x46,0x67, + 0x0,0x6e, + 0x0,0x65,0x0,0x78,0x0,0x74,0x0,0x2d,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x5f,0x0,0x63,0x0,0x6c,0x0,0x69,0x0,0x63,0x0,0x6b,0x0,0x65,0x0,0x64, + 0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // capture_close all_clicked_button_icon.png + 0x0,0x29, + 0xb,0x40,0x2c,0x67, + 0x0,0x63, + 0x0,0x61,0x0,0x70,0x0,0x74,0x0,0x75,0x0,0x72,0x0,0x65,0x0,0x5f,0x0,0x63,0x0,0x6c,0x0,0x6f,0x0,0x73,0x0,0x65,0x0,0x20,0x0,0x61,0x0,0x6c,0x0,0x6c, + 0x0,0x5f,0x0,0x63,0x0,0x6c,0x0,0x69,0x0,0x63,0x0,0x6b,0x0,0x65,0x0,0x64,0x0,0x5f,0x0,0x62,0x0,0x75,0x0,0x74,0x0,0x74,0x0,0x6f,0x0,0x6e,0x0,0x5f, + 0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // capture_send_icon_check box_button.png + 0x0,0x26, + 0x7,0xa3,0x4d,0xa7, + 0x0,0x63, + 0x0,0x61,0x0,0x70,0x0,0x74,0x0,0x75,0x0,0x72,0x0,0x65,0x0,0x5f,0x0,0x73,0x0,0x65,0x0,0x6e,0x0,0x64,0x0,0x5f,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e, + 0x0,0x5f,0x0,0x63,0x0,0x68,0x0,0x65,0x0,0x63,0x0,0x6b,0x0,0x20,0x0,0x62,0x0,0x6f,0x0,0x78,0x0,0x5f,0x0,0x62,0x0,0x75,0x0,0x74,0x0,0x74,0x0,0x6f, + 0x0,0x6e,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // capture_delete_clicked_button_icon.png + 0x0,0x26, + 0x8,0xbf,0x3c,0x87, + 0x0,0x63, + 0x0,0x61,0x0,0x70,0x0,0x74,0x0,0x75,0x0,0x72,0x0,0x65,0x0,0x5f,0x0,0x64,0x0,0x65,0x0,0x6c,0x0,0x65,0x0,0x74,0x0,0x65,0x0,0x5f,0x0,0x63,0x0,0x6c, + 0x0,0x69,0x0,0x63,0x0,0x6b,0x0,0x65,0x0,0x64,0x0,0x5f,0x0,0x62,0x0,0x75,0x0,0x74,0x0,0x74,0x0,0x6f,0x0,0x6e,0x0,0x5f,0x0,0x69,0x0,0x63,0x0,0x6f, + 0x0,0x6e,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // capture_delete all_button_icon.png + 0x0,0x22, + 0x3,0x51,0xd5,0x47, + 0x0,0x63, + 0x0,0x61,0x0,0x70,0x0,0x74,0x0,0x75,0x0,0x72,0x0,0x65,0x0,0x5f,0x0,0x64,0x0,0x65,0x0,0x6c,0x0,0x65,0x0,0x74,0x0,0x65,0x0,0x20,0x0,0x61,0x0,0x6c, + 0x0,0x6c,0x0,0x5f,0x0,0x62,0x0,0x75,0x0,0x74,0x0,0x74,0x0,0x6f,0x0,0x6e,0x0,0x5f,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x2e,0x0,0x70,0x0,0x6e, + 0x0,0x67, + // capture_send_icon_clicked_button.png + 0x0,0x24, + 0x1,0x3a,0x78,0x27, + 0x0,0x63, + 0x0,0x61,0x0,0x70,0x0,0x74,0x0,0x75,0x0,0x72,0x0,0x65,0x0,0x5f,0x0,0x73,0x0,0x65,0x0,0x6e,0x0,0x64,0x0,0x5f,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e, + 0x0,0x5f,0x0,0x63,0x0,0x6c,0x0,0x69,0x0,0x63,0x0,0x6b,0x0,0x65,0x0,0x64,0x0,0x5f,0x0,0x62,0x0,0x75,0x0,0x74,0x0,0x74,0x0,0x6f,0x0,0x6e,0x0,0x2e, + 0x0,0x70,0x0,0x6e,0x0,0x67, + // capture_send all_button_clicked.png + 0x0,0x23, + 0x9,0xcf,0x9e,0xe7, + 0x0,0x63, + 0x0,0x61,0x0,0x70,0x0,0x74,0x0,0x75,0x0,0x72,0x0,0x65,0x0,0x5f,0x0,0x73,0x0,0x65,0x0,0x6e,0x0,0x64,0x0,0x20,0x0,0x61,0x0,0x6c,0x0,0x6c,0x0,0x5f, + 0x0,0x62,0x0,0x75,0x0,0x74,0x0,0x74,0x0,0x6f,0x0,0x6e,0x0,0x5f,0x0,0x63,0x0,0x6c,0x0,0x69,0x0,0x63,0x0,0x6b,0x0,0x65,0x0,0x64,0x0,0x2e,0x0,0x70, + 0x0,0x6e,0x0,0x67, + // capture_close all_button_icon.png + 0x0,0x21, + 0x7,0xb5,0x5,0x27, + 0x0,0x63, + 0x0,0x61,0x0,0x70,0x0,0x74,0x0,0x75,0x0,0x72,0x0,0x65,0x0,0x5f,0x0,0x63,0x0,0x6c,0x0,0x6f,0x0,0x73,0x0,0x65,0x0,0x20,0x0,0x61,0x0,0x6c,0x0,0x6c, + 0x0,0x5f,0x0,0x62,0x0,0x75,0x0,0x74,0x0,0x74,0x0,0x6f,0x0,0x6e,0x0,0x5f,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + + // capture_send all_clicked_button.png + 0x0,0x23, + 0xd,0x57,0xce,0xa7, + 0x0,0x63, + 0x0,0x61,0x0,0x70,0x0,0x74,0x0,0x75,0x0,0x72,0x0,0x65,0x0,0x5f,0x0,0x73,0x0,0x65,0x0,0x6e,0x0,0x64,0x0,0x20,0x0,0x61,0x0,0x6c,0x0,0x6c,0x0,0x5f, + 0x0,0x63,0x0,0x6c,0x0,0x69,0x0,0x63,0x0,0x6b,0x0,0x65,0x0,0x64,0x0,0x5f,0x0,0x62,0x0,0x75,0x0,0x74,0x0,0x74,0x0,0x6f,0x0,0x6e,0x0,0x2e,0x0,0x70, + 0x0,0x6e,0x0,0x67, + // capture_prev_button_icon.png + 0x0,0x1c, + 0x4,0x48,0xf,0xe7, + 0x0,0x63, + 0x0,0x61,0x0,0x70,0x0,0x74,0x0,0x75,0x0,0x72,0x0,0x65,0x0,0x5f,0x0,0x70,0x0,0x72,0x0,0x65,0x0,0x76,0x0,0x5f,0x0,0x62,0x0,0x75,0x0,0x74,0x0,0x74, + 0x0,0x6f,0x0,0x6e,0x0,0x5f,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // capture_close_clicked_button_icon.png + 0x0,0x25, + 0x8,0xc9,0xa4,0x27, + 0x0,0x63, + 0x0,0x61,0x0,0x70,0x0,0x74,0x0,0x75,0x0,0x72,0x0,0x65,0x0,0x5f,0x0,0x63,0x0,0x6c,0x0,0x6f,0x0,0x73,0x0,0x65,0x0,0x5f,0x0,0x63,0x0,0x6c,0x0,0x69, + 0x0,0x63,0x0,0x6b,0x0,0x65,0x0,0x64,0x0,0x5f,0x0,0x62,0x0,0x75,0x0,0x74,0x0,0x74,0x0,0x6f,0x0,0x6e,0x0,0x5f,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e, + 0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // capture_delete all_clicked_button_icon.png + 0x0,0x2a, + 0x3,0xa3,0x7e,0x87, + 0x0,0x63, + 0x0,0x61,0x0,0x70,0x0,0x74,0x0,0x75,0x0,0x72,0x0,0x65,0x0,0x5f,0x0,0x64,0x0,0x65,0x0,0x6c,0x0,0x65,0x0,0x74,0x0,0x65,0x0,0x20,0x0,0x61,0x0,0x6c, + 0x0,0x6c,0x0,0x5f,0x0,0x63,0x0,0x6c,0x0,0x69,0x0,0x63,0x0,0x6b,0x0,0x65,0x0,0x64,0x0,0x5f,0x0,0x62,0x0,0x75,0x0,0x74,0x0,0x74,0x0,0x6f,0x0,0x6e, + 0x0,0x5f,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // next-icon.png + 0x0,0xd, + 0x3,0xff,0xb1,0x67, + 0x0,0x6e, + 0x0,0x65,0x0,0x78,0x0,0x74,0x0,0x2d,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // capture_send_icon_button.png + 0x0,0x1c, + 0x0,0xff,0x23,0xc7, + 0x0,0x63, + 0x0,0x61,0x0,0x70,0x0,0x74,0x0,0x75,0x0,0x72,0x0,0x65,0x0,0x5f,0x0,0x73,0x0,0x65,0x0,0x6e,0x0,0x64,0x0,0x5f,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e, + 0x0,0x5f,0x0,0x62,0x0,0x75,0x0,0x74,0x0,0x74,0x0,0x6f,0x0,0x6e,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // preview-icon_clicked.png + 0x0,0x18, + 0x3,0x4a,0x87,0x27, + 0x0,0x70, + 0x0,0x72,0x0,0x65,0x0,0x76,0x0,0x69,0x0,0x65,0x0,0x77,0x0,0x2d,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x5f,0x0,0x63,0x0,0x6c,0x0,0x69,0x0,0x63, + 0x0,0x6b,0x0,0x65,0x0,0x64,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // capture_close_button_icon.png + 0x0,0x1d, + 0x9,0xad,0x71,0xe7, + 0x0,0x63, + 0x0,0x61,0x0,0x70,0x0,0x74,0x0,0x75,0x0,0x72,0x0,0x65,0x0,0x5f,0x0,0x63,0x0,0x6c,0x0,0x6f,0x0,0x73,0x0,0x65,0x0,0x5f,0x0,0x62,0x0,0x75,0x0,0x74, + 0x0,0x74,0x0,0x6f,0x0,0x6e,0x0,0x5f,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + +}; + +static const unsigned char qt_resource_struct[] = { + // : + 0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + // :/image + 0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x12,0x0,0x0,0x0,0x2, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + // :/image/2 + 0x0,0x0,0x0,0xe0,0x0,0x2,0x0,0x0,0x0,0x14,0x0,0x0,0x0,0x14, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + // :/image/month_next.png + 0x0,0x0,0x1,0xe2,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xe,0x78, +0x0,0x0,0x1,0x90,0xc,0x72,0xc8,0xbe, + // :/image/scrollbar_left.png + 0x0,0x0,0x1,0xb8,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xd,0x6e, +0x0,0x0,0x1,0x90,0xc,0x72,0xc3,0xca, + // :/image/month_prev.png + 0x0,0x0,0x2,0x66,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x11,0xa8, +0x0,0x0,0x1,0x90,0xc,0x72,0xc9,0xee, + // :/image/ScrollBar_Horizontal_Icon.png + 0x0,0x0,0x2,0x88,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x12,0x67, +0x0,0x0,0x1,0x90,0xc,0x72,0xc3,0xd2, + // :/image/Arrow_top_2.png + 0x0,0x0,0x0,0x60,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x2,0xd6, +0x0,0x0,0x1,0x90,0xc,0x72,0xc9,0xe6, + // :/image/Arrow_top_3.png + 0x0,0x0,0x0,0x84,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x4,0x58, +0x0,0x0,0x1,0x90,0xc,0x72,0xc9,0xf6, + // :/image/scrollbar_vertical_bg.png + 0x0,0x0,0x0,0xa8,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x6,0x9, +0x0,0x0,0x1,0x90,0xc,0x72,0xc9,0xca, + // :/image/scrollbar_right.png + 0x0,0x0,0x1,0x8c,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xc,0x5f, +0x0,0x0,0x1,0x90,0xc,0x72,0xc3,0xba, + // :/image/scrollbar_up.png + 0x0,0x0,0x2,0x40,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x10,0x9c, +0x0,0x0,0x1,0x90,0xc,0x72,0xc3,0xc2, + // :/image/cancel_arrow.png + 0x0,0x0,0x0,0xe8,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x7,0x3a, +0x0,0x0,0x1,0x90,0xc,0x72,0xc9,0xd6, + // :/image/select_indicator.png + 0x0,0x0,0x1,0x38,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x9,0xf1, +0x0,0x0,0x1,0x90,0xc,0x72,0xc8,0xc6, + // :/image/Scroll_bar_1.png + 0x0,0x0,0x1,0x66,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x0,0xb,0x5d, +0x0,0x0,0x1,0x90,0xc,0x72,0xca,0x2, + // :/image/scrollbar_horizontal_bg.png + 0x0,0x0,0x2,0x4,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xf,0x42, +0x0,0x0,0x1,0x90,0xc,0x72,0xc9,0xde, + // :/image/scrollbar_down.png + 0x0,0x0,0x1,0xe,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x8,0xc6, +0x0,0x0,0x1,0x90,0xc,0x72,0xc3,0xda, + // :/image/ScrollBar_Vertical_Icon.png + 0x0,0x0,0x2,0xc8,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x13,0x7f, +0x0,0x0,0x1,0x90,0xc,0x72,0xc3,0xc6, + // :/image/Arrow_under_2.png + 0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0, +0x0,0x0,0x1,0x90,0xc,0x72,0xc9,0xfe, + // :/image/Arrow_under_3.png + 0x0,0x0,0x0,0x38,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x1,0x68, +0x0,0x0,0x1,0x90,0xc,0x72,0xc8,0xc2, + // :/image/2/capture_send_icon_button.png + 0x0,0x0,0x7,0x86,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x63,0x4b, +0x0,0x0,0x1,0x90,0xc,0x72,0xc8,0xf2, + // :/image/2/capture_send_icon_clicked_button.png + 0x0,0x0,0x5,0x50,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x3a,0xc2, +0x0,0x0,0x1,0x90,0xc,0x72,0xc9,0x62, + // :/image/2/preview-icon_clicked.png + 0x0,0x0,0x7,0xc4,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x6a,0x66, +0x0,0x0,0x1,0x90,0xc,0x72,0xc9,0x52, + // :/image/2/capture_delete all_button_icon.png + 0x0,0x0,0x5,0x6,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x36,0x4b, +0x0,0x0,0x1,0x90,0xc,0x72,0xc9,0x5e, + // :/image/2/capture_delete all_clicked_button_icon.png + 0x0,0x0,0x7,0xc,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x5a,0x12, +0x0,0x0,0x1,0x90,0xc,0x72,0xc9,0xa6, + // :/image/2/preview-icon.png + 0x0,0x0,0x3,0x84,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x1b,0x9, +0x0,0x0,0x1,0x90,0xc,0x72,0xc9,0x9e, + // :/image/2/capture_delete_button_icon.png + 0x0,0x0,0x3,0x42,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x17,0x80, +0x0,0x0,0x1,0x90,0xc,0x72,0xc9,0xa, + // :/image/2/next-icon.png + 0x0,0x0,0x7,0x66,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x5e,0xc3, +0x0,0x0,0x1,0x90,0xc,0x72,0xc9,0x76, + // :/image/2/capture_prev_button_icon.png + 0x0,0x0,0x6,0x7e,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x53,0x8a, +0x0,0x0,0x1,0x90,0xc,0x72,0xc9,0xb6, + // :/image/2/capture_check box.png + 0x0,0x0,0x3,0xaa,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x1f,0xa8, +0x0,0x0,0x1,0x90,0xc,0x72,0xc8,0xda, + // :/image/2/capture_next_button_icon.png + 0x0,0x0,0x3,0x4,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x14,0x96, +0x0,0x0,0x1,0x90,0xc,0x72,0xc9,0xe, + // :/image/2/capture_send_icon_check box_button.png + 0x0,0x0,0x4,0x62,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x2a,0xd6, +0x0,0x0,0x1,0x90,0xc,0x72,0xc9,0xae, + // :/image/2/capture_close all_button_icon.png + 0x0,0x0,0x5,0xea,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x49,0xcf, +0x0,0x0,0x1,0x90,0xc,0x72,0xc9,0x7e, + // :/image/2/capture_delete_clicked_button_icon.png + 0x0,0x0,0x4,0xb4,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x32,0xd1, +0x0,0x0,0x1,0x90,0xc,0x72,0xc9,0xb2, + // :/image/2/capture_close_clicked_button_icon.png + 0x0,0x0,0x6,0xbc,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x56,0x6b, +0x0,0x0,0x1,0x90,0xc,0x72,0xc8,0xd2, + // :/image/2/capture_close_button_icon.png + 0x0,0x0,0x7,0xfa,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x6e,0xf4, +0x0,0x0,0x1,0x90,0xc,0x72,0xc8,0xee, + // :/image/2/capture_send all_button_clicked.png + 0x0,0x0,0x5,0x9e,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x41,0xe6, +0x0,0x0,0x1,0x90,0xc,0x72,0xc9,0x56, + // :/image/2/capture_close all_clicked_button_icon.png + 0x0,0x0,0x4,0xa,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x25,0xea, +0x0,0x0,0x1,0x90,0xc,0x72,0xc9,0xc2, + // :/image/2/next-icon_clicked.png + 0x0,0x0,0x3,0xda,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x21,0x6b, +0x0,0x0,0x1,0x90,0xc,0x72,0xc8,0xfa, + // :/image/2/capture_send all_clicked_button.png + 0x0,0x0,0x6,0x32,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x4e,0x76, +0x0,0x0,0x1,0x90,0xc,0x72,0xc8,0xe6, + +}; + +#ifdef QT_NAMESPACE +# define QT_RCC_PREPEND_NAMESPACE(name) ::QT_NAMESPACE::name +# define QT_RCC_MANGLE_NAMESPACE0(x) x +# define QT_RCC_MANGLE_NAMESPACE1(a, b) a##_##b +# define QT_RCC_MANGLE_NAMESPACE2(a, b) QT_RCC_MANGLE_NAMESPACE1(a,b) +# define QT_RCC_MANGLE_NAMESPACE(name) QT_RCC_MANGLE_NAMESPACE2( \ + QT_RCC_MANGLE_NAMESPACE0(name), QT_RCC_MANGLE_NAMESPACE0(QT_NAMESPACE)) +#else +# define QT_RCC_PREPEND_NAMESPACE(name) name +# define QT_RCC_MANGLE_NAMESPACE(name) name +#endif + +#ifdef QT_NAMESPACE +namespace QT_NAMESPACE { +#endif + +bool qRegisterResourceData(int, const unsigned char *, const unsigned char *, const unsigned char *); + +bool qUnregisterResourceData(int, const unsigned char *, const unsigned char *, const unsigned char *); + +#ifdef QT_NAMESPACE +} +#endif + +int QT_RCC_MANGLE_NAMESPACE(qInitResources_assets)(); +int QT_RCC_MANGLE_NAMESPACE(qInitResources_assets)() +{ + QT_RCC_PREPEND_NAMESPACE(qRegisterResourceData) + (0x2, qt_resource_struct, qt_resource_name, qt_resource_data); + return 1; +} + +int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_assets)(); +int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_assets)() +{ + QT_RCC_PREPEND_NAMESPACE(qUnregisterResourceData) + (0x2, qt_resource_struct, qt_resource_name, qt_resource_data); + return 1; +} + +namespace { + struct initializer { + initializer() { QT_RCC_MANGLE_NAMESPACE(qInitResources_assets)(); } + ~initializer() { QT_RCC_MANGLE_NAMESPACE(qCleanupResources_assets)(); } + } dummy; +} diff --git a/qrtspthread.cpp b/qrtspthread.cpp new file mode 100644 index 0000000..887216c --- /dev/null +++ b/qrtspthread.cpp @@ -0,0 +1,686 @@ +#include "qrtspthread.h" + + + +#include +#include "qgstreamerplayer.h" +//#include "qgstreamerplayer2.h" + +#include "mainwindow.h" + +#include "common.h" + +QRTSPThread::QRTSPThread() +{ + + m_bStartRTSP = false; + + m_stop = false; + + m_nCurrentState = -1; + + m_pVideoWidget = NULL; + + m_bTerminate = false; + + m_pPlayer = NULL; + + m_nCaptureIndex = 0; + + SetCameraMode(true); +} + +QRTSPThread::~QRTSPThread() +{ + //SAFE_DELETE(m_pPlayer); +} + +void QRTSPThread::SetVideoWidget(QVideoWidget* pWidget) +{ + m_pVideoWidget = pWidget; + //m_pPlayer->SetVideoWidget(pWidget); +} + +void QRTSPThread::SaveFile(QString strFilename) +{ + if(m_pPlayer!=NULL) + { + m_pPlayer->SetCaptureMode(1); + } + + //Pause(); + + m_strVideoFilename = strFilename; + + m_pPlayer->SaveFile(strFilename); + + //Resume(); + + return; +} + +void QRTSPThread::SaveEnd() +{ + int nCaptureMode = GetCaptureMode(); + + if(nCaptureMode==1) + { + m_pPlayer->SaveEnd(); + + SetCaptureMode(0); + } + + CommonData* pCommonData = MainWindow::GetCommonData(); + pCommonData->SetEncodingVideo(false); + + /* + m_pPlayer->StopRTSP(); + while(m_pPlayer->IsWorkingRTSP()==true) + { + usleep(10*1000); + } + */ + + usleep(100*1000); + + //m_nCurrentState = 0; + + + + + + + //m_nCurrentState = 0; +} + +void QRTSPThread::SetCameraMode(bool bMode) +{ + m_bCameraMode = bMode; +} + +void QRTSPThread::SetOpenFilename(QString strFilename) +{ + m_strFilename = strFilename; +} + + +void QRTSPThread::stop() +{ + qDebug()<<"Thread::stop called from main thread: "<=0) + { + m_nCurrentState = 11; + } + else + { + //Error + if(m_nCurrentState==0) + { + m_nCurrentState = 0; + } + + } + */ + } + else if(m_nCurrentState==6) + { + //int nRet = InitRTSP_VideoCapture(); + int nRet = InitRTSP(); + + if(nRet>=0) + { + m_nCurrentState = 11; + } + else + { + //Error + if(m_nCurrentState==6) + { + m_nCurrentState = 0; + } + } + } + else if(m_nCurrentState==1) + { + m_nCurrentState = 11; + StopRTSP(); + + } + else if(m_nCurrentState==2) + { + + } + else if(m_nCurrentState==3) + { + if(m_pPlayer!=NULL) + { + delete m_pPlayer; + m_pPlayer = NULL; + } + m_nCurrentState = 2; + } + else if(m_nCurrentState==5) + { + m_pPlayer->SetCaptureMode(1); + qDebug() << m_strParameterMPEG; + + //usleep(1000*1000); + m_pPlayer->OpenCamera4(m_strParameterMPEG); + m_pVideoWidget->show(); + + m_nCurrentState = 11; + } + else if(m_nCurrentState==1000) + { + break; + } + else + { + usleep(100*1000); + } + + + + } + + SAFE_DELETE(m_pPlayer); + + qDebug()<<"Stop worker thread: "<SetEncodingVideo(false); + VideoButtonChange(false); + } + + if(nRet>=0) + { + m_nCurrentState = 11; + //m_nCurrentState = 0; + } + else + { + //Error + //m_nCurrentState = 0; + m_nCurrentState = 11; + } + } + else if(m_nCurrentState==6) + { + int nRet = InitRTSP_VideoCapture(); + + if(nRet>=0) + { + m_nCurrentState = 11; + } + else + { + //Error + m_nCurrentState = 6; + } + } + else if(m_nCurrentState==1) + { + m_nCurrentState = 11; + StopRTSP(); + + } + else if(m_nCurrentState==2) + { + + } + else if(m_nCurrentState==3) + { + if(m_pPlayer!=NULL) + { + delete m_pPlayer; + m_pPlayer = NULL; + } + m_nCurrentState = 2; + } + else if(m_nCurrentState==5) + { + m_pPlayer->SetCaptureMode(1); + qDebug() << m_strParameterMPEG; + + + //m_pPlayer->OpenCamera(m_strParameterMPEG); + m_pVideoWidget->show(); + + m_nCurrentState = 11; + } + else if(m_nCurrentState==7) + { + //Stream Pause + Pause(); + } + else if(m_nCurrentState==8) + { + //Stream Resume + Resume(); + } + else if(m_nCurrentState==1000) + { + break; + } + else + { + usleep(100*1000); + } + + + + } + + SAFE_DELETE(m_pPlayer); + + qDebug()<<"Stop worker thread: "<StartRTSP(); + m_bStartRTSP = true; + + + return; + +} + + +void QRTSPThread::StopRTSP() +{ + if(m_pPlayer!=NULL) + { + //if(IsVideoLink()==true && IsWorkingRTSP()==true) + if(IsWorkingRTSP()==true) + { + //usleep(1000*100); + m_pPlayer->StopRTSP(); + //m_pPlayer->exitRTSP(); + //usleep(1000*10); + } + + m_bStartRTSP = false; + } + + //m_nCurrentState = -1; + + return; +} + +int QRTSPThread::GetCaptureIndex() +{ + return m_nCaptureIndex; +} + +void QRTSPThread::Restart() +{ + //m_pPlayer->Pause(); + m_pPlayer->StopRTSP(); + while(m_pPlayer->IsWorkingRTSP()==true) + { + usleep(1*1000); + } + m_nCurrentState = 11; + +} + +int QRTSPThread::InitRTSP_VideoCapture() +{ + int nRet = 0; + QString strParameter; + + //m_bStartRTSP = false; + + + + if(m_pPlayer!=NULL) + { + //delete m_pPlayer; + + m_pPlayer->SetCaptureMode(1); + + //nRet = m_pPlayer->OpenCamera2(m_strParameterMPEG); + if(nRet>=0) + { + m_nCurrentState = 11; + } + + + + return nRet; + } + + + m_pPlayer = new QGstreamerPlayer; + //m_pPlayer = new QGstreamerPlayer2; + QObject::connect(m_pPlayer, SIGNAL(SendFinished()), this, SLOT(ReceivedFinish())); + m_pPlayer->SetThread(this); + m_pPlayer->SetVideoWidget(m_pVideoWidget); + //m_pPlayer->OpenMovieFile("1.mp4"); + //m_pPlayer->OpenMovieFile("/home/birdhead/1.mp4"); + + if(m_bCameraMode==true) + { + m_pPlayer->SetCaptureMode(1); + //nRet = m_pPlayer->OpenCamera(m_strParameterMPEG); + } + else + { + //m_pPlayer->OpenMovieFile(m_strFilename); + } + + return nRet; +} + + +int QRTSPThread::InitRTSP() +{ + int nRet = 0; + QString strParameter; + + //m_bStartRTSP = false; + + m_nCaptureIndex++; + + CommonData* pCommonData = MainWindow::GetCommonData(); + int nVideoWidth = pCommonData->GetVideoWidth(); + int nVideoHeight = pCommonData->GetVideoHeight(); + +#ifdef __x86_64 + //return 0; + //strParameter = QString("videotestsrc name=test_src%1 ! video/x-raw,format=(string)UYVY,width=%2,height=%3,framerate=(fraction)60/1 ! timeoverlay xpad=500 ! queue name=queue_src ! videoconvert ! video/x-raw,format=(string)UYVY,width=%2,height=%3,framerate=(fraction)60/1 ! videobalance hue=0.0 name=test_VideoBalance ! queue name=queue_sink ! appsink name=test_sink").arg(QString::number(m_nCaptureIndex)).arg(QString::number(nVideoWidth)).arg(QString::number(nVideoHeight)); + strParameter = QString("v4l2src name=test_src%1 ! video/x-raw,format=(string)YUY2,width=1280,height=720,framerate=(fraction)10/1 ! queue ! videobalance hue=0.0 name=test_VideoBalance ! queue name=queue_src ! videorate ! video/x-raw,framerate=(fraction)60/1 ! queue ! videoscale ! video/x-raw,width=%2,height=%3 ! queue ! videoconvert ! video/x-raw,format=(string)UYVY ! queue name=queue_sink ! appsink name=test_sink").arg(QString::number(m_nCaptureIndex)).arg(QString::number(nVideoWidth)).arg(QString::number(nVideoHeight)); + //strParameter = QString("v4l2src name=test_src%1 ! video/x-raw,format=(string)YUY2,width=1920,height=1080,framerate=(fraction)60/1 ! queue name=queue_src ! videoconvert ! video/x-raw,format=(string)UYVY ! videobalance hue=0.0 name=test_VideoBalance ! queue name=queue_sink ! appsink name=test_sink").arg(QString::number(m_nCaptureIndex)); + +#else +// strParameter = QString("nvv4l2camerasrc name=test_src%1 ! video/x-raw(memory:NVMM),format=(string)UYVY,width=1920,height=1080,framerate=(fraction)60/1 ! nvvidconv ! video/x-raw,format=(string)UYVY ! appsink name=test_sink sync=false").arg(QString::number(m_nCaptureIndex)); + + + //strParameter = QString("nvv4l2camerasrc name=test_src%1 ! video/x-raw(memory:NVMM),format=(string)UYVY,width=1920,height=1080,framerate=(fraction)60/1 ! nvvidconv ! video/x-raw,format=(string)RGBA ! appsink name=test_sink sync=false").arg(QString::number(m_nCaptureIndex)); + + //strParameter = QString("nvv4l2camerasrc name=test_src%1 ! video/x-raw(memory:NVMM),format=(string)UYVY,width=1920,height=1080,framerate=(fraction)60/1 ! queue name=queue_src ! nvvidconv ! video/x-raw, format=(string)UYVY ! videobalance hue=0.0 name=test_VideoBalance ! queue name=queue_sink ! appsink name=test_sink sync=false").arg(QString::number(m_nCaptureIndex)); + + //strParameter = QString("nvv4l2camerasrc name=test_src%1 ! video/x-raw(memory:NVMM),format=(string)UYVY,width=1920,height=1080,framerate=(fraction)60/1 ! queue name=queue_src ! nvvidconv ! video/x-raw, format=(string)UYVY ! videobalance hue=0.0 name=test_VideoBalance ! queue name=queue_sink ! appsink name=test_sink sync=false").arg(QString::number(m_nCaptureIndex)); + + //Working!! + strParameter = QString("nvv4l2camerasrc name=test_src%1 cap-buffers=10 ! video/x-raw(memory:NVMM),format=(string)UYVY,width=%2,height=%3,framerate=(fraction)60/1 ! queue name=queue_src ! nvvidconv ! video/x-raw, format=(string)UYVY ! videobalance hue=0.0 name=test_VideoBalance ! queue name=queue_sink ! appsink name=test_sink sync=false").arg(QString::number(m_nCaptureIndex)).arg(QString::number(nVideoWidth)).arg(QString::number(nVideoHeight)); + + + //strParameter = QString("v4l2src name=test_src%1 ! video/x-raw,format=(string)UYVY,width=1920,height=1080,framerate=(fraction)60/1 ! queue name=queue_src ! nvvidconv ! video/x-raw, format=(string)UYVY ! queue name=queue_sink ! appsink name=test_sink sync=false").arg(QString::number(m_nCaptureIndex)); + +#endif + + if(m_pPlayer!=NULL) + { + //delete m_pPlayer; + + m_pPlayer->SetCaptureMode(0); + + nRet = m_pPlayer->OpenCamera4(strParameter); + if(nRet>=0) + { + //m_nCurrentState = 11; + } + + + + return nRet; + } + + + m_pPlayer = new QGstreamerPlayer; + //m_pPlayer = new QGstreamerPlayer2; + QObject::connect(m_pPlayer, SIGNAL(SendFinished()), this, SLOT(ReceivedFinish())); + m_pPlayer->SetThread(this); + m_pPlayer->SetVideoWidget(m_pVideoWidget); + //m_pPlayer->OpenMovieFile("1.mp4"); + //m_pPlayer->OpenMovieFile("/home/birdhead/1.mp4"); + + if(m_bCameraMode==true) + { + m_pPlayer->SetCaptureMode(0); + nRet = m_pPlayer->OpenCamera4(strParameter); + } + else + { + //m_pPlayer->OpenMovieFile(m_strFilename); + } + + //QObject::disconnect(m_pPlayer, SIGNAL(SendFinished()), this, SLOT(ReceivedFinish())); + //SAFE_DELETE(m_pPlayer); + + return nRet; +} + +void QRTSPThread::ChangeState(int nState) +{ + if(m_nCurrentState!=nState) + { + if(nState==0 && m_pPlayer!=NULL) + { + + //m_pPlayer->Resume(); + } + + if(nState==3) + { + + } + } + m_nCurrentState = nState; + + +} + + +int QRTSPThread::GetState() +{ + return m_nCurrentState; +} + +void QRTSPThread::ReceivedFinish() +{ + m_nCurrentState = 2; + SendFinish(); +} + +void QRTSPThread::Seek(gint64 nPos) +{ + if(m_pPlayer==NULL) + { + return; + } + m_pPlayer->Seek(nPos); +} + +void QRTSPThread::Pause() +{ + m_pPlayer->Pause(); +} + +void QRTSPThread::Resume() +{ + m_pPlayer->Resume(); +} + +gint64 QRTSPThread::GetSeekPos() +{ + if(m_pPlayer==NULL) + { + return 0; + } + return m_pPlayer->GetSeekPos(); +} + +void QRTSPThread::exitRTSP() +{ + m_nCurrentState = 1000; + + if(m_pPlayer!=NULL) + { + m_pPlayer->exitRTSP(); + m_bStartRTSP = false; + } + +} + +bool QRTSPThread::IsWorkingRTSP() +{ + if(m_pPlayer==NULL) + { + return false; + } + return m_pPlayer->IsWorkingRTSP(); +} + +bool QRTSPThread::IsVideoLink() +{ + if(m_pPlayer==NULL) + { + return false; + } + return m_pPlayer->IsVideoLink(); +} + +void QRTSPThread::CaptureImage() +{ + if(m_pPlayer!=NULL) + { + m_pPlayer->CaptureImage(); + } + +} + +QGstreamerPlayer* QRTSPThread::GetGstreamerPlayer() +{ + return m_pPlayer; +} + + +void QRTSPThread::SetCaptureMode(int nMode) +{ + //0: Display + //1: Video Encoding + + if(m_pPlayer!=NULL) + { + m_pPlayer->SetCaptureMode(nMode); + } + +} + +gint64 QRTSPThread::GetVideoLinkTime() +{ + if(m_pPlayer==NULL) + { + return 0; + } + return m_pPlayer->GetVideoLinkTime(); +} + +int QRTSPThread::GetCaptureMode() +{ + if(m_pPlayer==NULL) + { + return 2; + } + return m_pPlayer->GetCaptuerMode(); +} + +void QRTSPThread::ExitThread() +{ + if(m_nCurrentState==0) + { + StopRTSP(); + } + m_stop = true; + while(m_nCurrentState!=-1 && m_nCurrentState!=1000) + { + usleep(1000*10); + } + SAFE_DELETE(m_pPlayer); +} + + +void QRTSPThread::SetVideoFilename(QString strFilename) +{ + m_strVideoFilename = strFilename; +} + +QString QRTSPThread::GetVideoFilename() +{ + return m_strVideoFilename; +} + +bool QRTSPThread::IsError() +{ + if(m_pPlayer==NULL) + { + return true; + } + return m_pPlayer->IsError(); +} diff --git a/qrtspthread.h b/qrtspthread.h new file mode 100644 index 0000000..fd8cfbe --- /dev/null +++ b/qrtspthread.h @@ -0,0 +1,110 @@ +#ifndef QRTSPTHREAD_H +#define QRTSPTHREAD_H + +#include +#include +#include +#include + +#include +#include + +#include +#include + +class QGstreamerPlayer; + +class QRTSPThread : public QThread +{ + Q_OBJECT + +public: + QRTSPThread(); + virtual ~QRTSPThread(); + + void SetVideoWidget(QVideoWidget* pWidget); + + void SaveFile(QString strFilename); + void SaveEnd(); + + void SetCameraMode(bool bMode); + + void SetOpenFilename(QString strFilename); + + bool IsWorkingRTSP(); + + bool IsVideoLink(); + + bool IsStartRTSP(); + + bool IsError(); + + void CaptureImage(); + + QGstreamerPlayer* GetGstreamerPlayer(); + + virtual int InitRTSP(); + + virtual int InitRTSP_VideoCapture(); + + int GetCaptureIndex(); + + void Restart(); + + void ExitThread(); + +public slots: + void stop(); + void StartRTSP(); + void StopRTSP(); + + void ChangeState(int nState); + int GetState(); + + void exitRTSP(); + + void ReceivedFinish(); + + + + void Seek(gint64 nPos); + + void Pause(); + void Resume(); + + gint64 GetSeekPos(); + + gint64 GetVideoLinkTime(); + + void SetCaptureMode(int nMode); + int GetCaptureMode(); + + void SetVideoFilename(QString strFilename); + QString GetVideoFilename(); + +signals: + void SendFinish(); + void VideoButtonChange(bool bEncodingVideo); + + +private: + bool m_bStartRTSP; + int m_nCaptureIndex; + QString m_strFilename; + QString m_strParameterMPEG; + QString m_strVideoFilename; + bool m_bCameraMode; + volatile int m_nCurrentState; + QMutex m_mutex; + bool m_stop; + + volatile bool m_bTerminate; + + QVideoWidget* m_pVideoWidget; + + QGstreamerPlayer* m_pPlayer; + + void run(); +}; + +#endif // QRTSPTHREAD_H diff --git a/qsthread.cpp b/qsthread.cpp new file mode 100644 index 0000000..7b8b57c --- /dev/null +++ b/qsthread.cpp @@ -0,0 +1,82 @@ +#include "qsthread.h" + +QSThread::QSThread():QThread() +{ + m_bStop = false; + m_bRunning = false; + + m_nDefaultMicroSleep = 1000; + m_nCurrentState = 0; +} + +QSThread::~QSThread() +{ + m_bStop = true; + while(m_bRunning==true) + { + usleep(1000*30); + } + + +} + +void QSThread::ExitThread() +{ + m_bStop = true; + while(m_bRunning==true) + { + usleep(1000*30); + } +} + +void QSThread::TerminateThread() +{ + terminate(); + m_bRunning = false; +} + +void QSThread::ChangeState(int nState) +{ + m_nCurrentState = nState; +} + +int QSThread::GetCurrentState() +{ + return m_nCurrentState; +} + +void QSThread::IdleFuction() +{ + //1ms sleep + usleep(m_nDefaultMicroSleep); +} + +void QSThread::run() +{ + m_bRunning = true; + + Init(); + qDebug()<<"From worker thread: "< +#include +#include +#include + +class QSThread : public QThread +{ + + Q_OBJECT +public: + QSThread(); + virtual ~QSThread(); + + void ChangeState(int nState); + int GetCurrentState(); + + virtual void IdleFuction(); + + virtual void ExitThread(); + + virtual void TerminateThread(); + + +public slots: +signals: + //void captureImage(QString strFilename); + + +protected: + int m_nDefaultMicroSleep; + void run(); + virtual void InnerRun(); + + virtual void Init(); + + bool m_bStop; + bool m_bRunning; + int m_nCurrentState; +}; + +#endif // QSTHREAD_H diff --git a/qvideoshader.cpp b/qvideoshader.cpp new file mode 100644 index 0000000..ffc9500 --- /dev/null +++ b/qvideoshader.cpp @@ -0,0 +1,49 @@ +#include "qvideoshader.h" +using namespace SOPENGL; + +#include "common.h" + +QVideoShader::QVideoShader() +{ + +} + +QVideoShader::~QVideoShader() +{ + SAFE_DELETE(m_pVideoTexture); +} + +void QVideoShader::CreateShader(const char *pSrcVShader, const char *pSrcFShader) +{ + QGLSLShader::CreateShader(pSrcVShader, pSrcFShader); + + m_ImageWidth = m_pProgram->uniformLocation("nImageWidth"); + m_ImageHeight = m_pProgram->uniformLocation("nImageHeight"); + m_nDisplayType = m_pProgram->uniformLocation("nDisplayType"); +} + +void QVideoShader::CreateTexture(int nWidth, int nHeight, QOpenGLTexture::Target target, QOpenGLTexture::TextureFormat format) +{ + m_nTextureWidth = nWidth; + m_nTextureHeight = nHeight; + m_pVideoTexture = new QOpenGLTexture(target); + //m_pVideoTexture->setMinificationFilter(QOpenGLTexture::LinearMipMapLinear); + //m_pVideoTexture->setMagnificationFilter(QOpenGLTexture::Linear); + m_pVideoTexture->create(); + m_pVideoTexture->setFormat(format); + m_pVideoTexture->setSize(nWidth, nHeight); + m_pVideoTexture->allocateStorage(); + +} + +void QVideoShader::SetUniformValue() +{ + QGLSLShader::SetUniformValue(); + + m_pProgram->setUniformValue(m_ImageWidth, m_nTextureWidth); + m_pProgram->setUniformValue(m_ImageHeight, m_nTextureHeight); + m_pProgram->setUniformValue(m_nDisplayType, 0); + + m_pVideoTexture->setMinMagFilters(QOpenGLTexture::LinearMipMapLinear, QOpenGLTexture::LinearMipMapLinear); +} + diff --git a/qvideoshader.h b/qvideoshader.h new file mode 100644 index 0000000..3887e47 --- /dev/null +++ b/qvideoshader.h @@ -0,0 +1,27 @@ +#ifndef QVIDEOSHADER_H +#define QVIDEOSHADER_H + +#include "qglslshader.h" + +namespace SOPENGL +{ + class QVideoShader : public QGLSLShader + { + public: + QVideoShader(); + virtual ~QVideoShader(); + virtual void CreateShader(const char* pSrcVShader, const char* pSrcFShader); + virtual void CreateTexture(int nWidth, int nHeight, QOpenGLTexture::Target target, QOpenGLTexture::TextureFormat format); + virtual void SetUniformValue(); + + protected: + int m_ImageWidth; + int m_ImageHeight; + int m_nDisplayType; + + + }; +} + + +#endif // QVIDEOSHADER_H diff --git a/qvideowidget.cpp b/qvideowidget.cpp new file mode 100644 index 0000000..84ffb4d --- /dev/null +++ b/qvideowidget.cpp @@ -0,0 +1,1219 @@ +/**************************************************************************** + ** + ** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). + ** Contact: http://www.qt-project.org/legal + ** + ** This file is part of the examples of the Qt Toolkit. + ** + ** $QT_BEGIN_LICENSE:BSD$ + ** You may use this file under the terms of the BSD license as follows: + ** + ** "Redistribution and use in source and binary forms, with or without + ** modification, are permitted provided that the following conditions are + ** met: + ** * Redistributions of source code must retain the above copyright + ** notice, this list of conditions and the following disclaimer. + ** * Redistributions in binary form must reproduce the above copyright + ** notice, this list of conditions and the following disclaimer in + ** the documentation and/or other materials provided with the + ** distribution. + ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names + ** of its contributors may be used to endorse or promote products derived + ** from this software without specific prior written permission. + ** + ** + ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + ** + ** $QT_END_LICENSE$ + ** + ****************************************************************************/ + +#include "qvideowidget.h" +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "mainwindow.h" + + +#include "qvideoshader.h" + +#include "qgstreamerplayer.h" + + +QVideoWidget::QVideoWidget(QWidget* parent, Qt::WindowFlags f):QOpenGLWidget(parent, f), + m_bCheckFrameUpdateCount(true), + m_nUpdateFrameCount(0), + m_transparent(false), + m_btn(0), + m_hasButton(NULL), + m_background(QColor(0, 0, 0)) +{ + setMinimumSize(320, 180); + +// m_listRectObject.push_back(QRect(100, 100, 200, 200)); + + m_nCountQueue = 5; + + CommonData* pCommonData = MainWindow::GetCommonData(); + int nVideoWidth = pCommonData->GetVideoWidth(); + int nVideoHeight = pCommonData->GetVideoHeight(); + + int i=0; + for(i=0 ; istart(); + //QObject::connect(m_pThreadThumbnail, SIGNAL(CreatedThumbnail(QString)), this, SLOT(CreatedThumbnail(QString))); + +} + +QVideoWidget::~QVideoWidget() +{ + // And now release all OpenGL resources. + makeCurrent(); + + if(m_pVideoShader!=NULL) + { + delete m_pVideoShader; + m_pVideoShader = NULL; + } + + ResetThumbnailTexture(); + + + m_VBOVideo.destroy(); + doneCurrent(); + + SAFE_ARRAY_DELETE(m_pData); + + int i=0; + for(i=0 ; iAddThumbnail(strFilenameThumbnail); + + m_bCapturing = false; + m_pMenu->SetCapture(m_bCapturing); + */ +} + +void QVideoWidget::ReceivedSaveBitmap() +{ + SendSaveBitmap(); +} + +void QVideoWidget::ReceivedRecord(bool bRecord) +{ + SendRecord(bRecord); +} + +void QVideoWidget::ReceivedViewThumbnail(bool bView) +{ + /* + if(bView==true && m_bViewThumbnail==false) + { + m_StartTime = QTime::currentTime(); + m_StartTime.start(); + + m_pThumbnail->StartAnimation(); + } + else if(bView==false && m_bViewThumbnail==true) + { + m_StartTime = QTime::currentTime(); + m_StartTime.start(); + } + + m_bViewThumbnail = bView; + */ +} + +void QVideoWidget::paintTexturedCube() +{ + + if(m_pData!=NULL) + { + bool bInit = m_bInitDisplay; + UpdateTexture(); + if(bInit==false) + { + return; + } + } + + m_pVideoShader->EnableAttributeArray(); + + m_VBOVideo.bind(); + // In the buffer we first have 36 vertices (3 floats for each), then 36 texture + // coordinates (2 floats for each), then 36 normals (3 floats for each). + m_pVideoShader->SetAttributeBuffer(); + + + + + m_pVideoShader->BindTexture(); + + glDrawArrays(GL_TRIANGLES, 0, 6); + + + m_pVideoShader->ReleaseTexture(); + + m_VBOVideo.release(); + + + m_pVideoShader->DisableAttributeArray(); + +} + +void QVideoWidget::initializeGL() +{ + int i=0; + QOpenGLContext * pCurrent = QOpenGLContext::currentContext(); + + if(pCurrent!=NULL) + { + if(pCurrent->isOpenGLES()) + { + + } + } + + initializeOpenGLFunctions(); + + setUpdateBehavior(QOpenGLWidget::NoPartialUpdate); + + GLuint nFrameBufferObject = defaultFramebufferObject(); + + for(i=0 ; i<18 ; i++) + { + m_fNormalRect[i] = -1; + } + + GLfloat afTexCoord[] = { + 0.0f,1.0f, 1.0f,1.0f, 0.0f,0.0f, + 1.0f,0.0f, 0.0f,0.0f, 1.0f,1.0f + }; + + memcpy(m_fNormalRectTexture, afTexCoord, sizeof(GLfloat)*2*6); + + m_nTmpDisplayType = 0; + + QSize nSize = size(); + m_nTextureWidth = nSize.width(); + m_nTextureHeight = nSize.height(); + + int nWidth = m_nTextureWidth; + int nHeight = m_nTextureHeight; + + + + m_pVideoShader = new QVideoShader; + //m_pVideoShader->CreateTexture(nWidth, nHeight, QOpenGLTexture::Target2D, QOpenGLTexture::RGB8_UNorm); + //m_pVideoShader->CreateTexture(nWidth, nHeight, QOpenGLTexture::Target2D, QOpenGLTexture::RG8_UNorm); + m_pVideoShader->CreateTexture(nWidth*2, nHeight, QOpenGLTexture::Target2D, QOpenGLTexture::R8_UNorm); + + + + + + + + + //m_pThumbnailTexture = new QOpenGLTexture(image); + + + char *pSrcVertex = + "#version 300 es\n" + "attribute highp vec4 vertex;\n" + "attribute highp vec4 texCoord;\n" + "uniform mediump mat4 matrix;\n" + "varying highp vec4 texc;\n" + "void main(void)\n" + "{\n" + " gl_Position = matrix * vertex;\n" + " texc = texCoord;\n" + "}\n"; + + + char *pSrcFragmentCaptureEnvent = + "#version 300 es\n" + "in highp vec4 texc;\n" + "uniform sampler2D tex;\n" + "out lowp vec4 FragColor;\n" + "uniform lowp int nImageWidth;\n" + "uniform lowp int nImageHeight;\n" + "void main(void)\n" + "{\n" + " int nX=0;\n" + " int nY=0;\n" + " int nIndex=0;\n" + " highp float fX = 0.0;\n" + " highp float fY = 0.0;\n" + " int nInternalIndex = 0;\n" + " highp float fImageWidth = float(nImageWidth);\n" + " highp float fImageHeight = float(nImageHeight);\n" + " fX = floor(texc.s*(fImageWidth));\n" + " fY = floor(texc.t*fImageHeight);\n" + " nX = int(fX);\n" + " nY = int(fY);\n" + " int nStartX = int((int(nX/4)) * 4);\n" + " int nIndexY = nStartX + 1 + int(mod(float(nX/2), 2.0)) * 2;\n" + " int nIndexU = nStartX+0;\n" + " int nIndexV = nStartX+2;\n" + //" if(nX<4) { FragColor = vec4(0.0, 0.0, 0.0, 1.0); return; }\n" + " fX = float((nX/2)*2+1)/(fImageWidth);\n" + " fY = float(nY)/(fImageHeight);\n" + " highp vec4 colorY = texture2D(tex, vec2(float(nIndexY)/(fImageWidth)+0.5/fImageWidth,fY+0.5/fImageHeight));\n" + " highp vec4 colorU = texture2D(tex, vec2(float(nIndexU)/(fImageWidth)+0.5/fImageWidth,fY+0.5/fImageHeight));\n" + " highp vec4 colorV = texture2D(tex, vec2(float(nIndexV)/(fImageWidth)+0.5/fImageWidth,fY+0.5/fImageHeight));\n" + " highp float fColorY = colorY.r;\n" + " highp float fColorU = colorU.r;\n" + " highp float fColorV = colorV.r;\n" + //" FragColor = vec4(fColorY, fColorU, fColorV, 1.0); return;\n" + + + " highp float fR = fColorY;\n" + " highp float fG = fColorY;\n" + " highp float fB = fColorY;\n" + + " fColorY=1.1643*(fColorY-0.0625);" + " fColorU=fColorU-0.5;" + " fColorV=fColorV-0.5;" + + " fR=clamp(fColorY+1.5958*fColorV, 0.0, 1.0);" + " fG=clamp(fColorY-0.39173*fColorU-0.81290*fColorV, 0.0, 1.0);" + " fB=clamp(fColorY+2.017*fColorU, 0.0, 1.0);" + + " FragColor = vec4(fR, fG, fB, 1.0);\n" + " highp float fTmpColor = colorU\.r;\n" + //" FragColor = vec4(fTmpColor, fTmpColor, fTmpColor, 1.0);\n" + + "}\n"; + + m_pVideoShader->CreateShader((const char*)pSrcVertex, (const char*)pSrcFragmentCaptureEnvent); + m_pVideoShader->CreateGeometry(); + + if (!m_VBOVideo.isCreated()) { + //float fRatioWidth = 1572.0f/1920.0f; + float fRatioWidth = 1.0; + GLfloat afVertices[] = { + -1, -fRatioWidth, -1, + 1,-fRatioWidth,-1, + + -1,fRatioWidth,-1, + 1, fRatioWidth,-1, + + -1,fRatioWidth,-1, + 1,-fRatioWidth,-1 + }; + + GLfloat afTexCoord[] = { + 0.0f,1.0f, 1.0f,1.0f, 0.0f,0.0f, + 1.0f,0.0f, 0.0f,0.0f, 1.0f,1.0f + }; + + m_VBOVideo.create(); + m_VBOVideo.bind(); + + m_VBOVideo.allocate(6 * 5 * sizeof(GLfloat)); + m_VBOVideo.write(0, afVertices, 6*3*sizeof(GLfloat)); + m_VBOVideo.write(6*3*sizeof(GLfloat), afTexCoord, 6*2*sizeof(GLfloat)); + + m_VBOVideo.release(); + } + + /* + GLfloat afVertices[] = { + -1,1, -1, -0.767,1,-1, -1,-1,-1, + -0.767, -1,-1, -1,-1,-1, -0.767,1,-1 + }; + + + + QImage image("desk_blue.jpg"); + //QImage image("desk_blue.png"); + int nImageWidth = image.width(); + int nImageHeight = image.height(); + + QImage image2 = image.convertToFormat(QImage::Format_RGB888); + + int nBytes = image2.byteCount(); + uint8_t* pImageData = (uint8_t*)image2.bits(); + + memcpy(m_pData, pImageData, nBytes); + m_bChange = true; + */ + UpdateTexture(); +} + +void QVideoWidget::leaveEvent(QEvent *pEvent) +{ + + + InitState(); +} + +void QVideoWidget::mouseDoubleClickEvent(QMouseEvent *) +{ + return; + m_bFullScreen = !m_bFullScreen; + + + QSize sizeParent = ((QFrame*)parent())->size(); + + + + if(m_bFullScreen==true) + { + m_rectSmallDisplay = QRect(39, 155, 1103, 621); + //setGeometry(0, 0, sizeParent.height()*1280.0/1024.0, sizeParent.height()); + setGeometry(0, 0, sizeParent.width(), sizeParent.height()); + } + else + { + setGeometry(m_rectSmallDisplay); + } + + +} + +void QVideoWidget::mouseMoveEvent(QMouseEvent *pEvent) +{ + int nX = pEvent->x(); + int nY = pEvent->y(); + + /* + if(m_bFullScreen==false) + { + m_pThumbnail->CheckRegionSmall(nX, nY); + } + else + { + m_pThumbnail->CheckRegion(nX, nY); + } + + */ + + +} + +void QVideoWidget::mousePressEvent(QMouseEvent *pEvent) +{ + int nX = pEvent->x(); + int nY = pEvent->y(); + + if(m_bFullScreen==false) + { + //m_pMenu->CheckRegionSmall(nX, nY); + } + else + { + //m_pMenu->CheckRegion(nX, nY); + } + + + +} + +void QVideoWidget::paintGL() +{ + + bool bChangeTexture = false; + + m_Lock.lock(); + bChangeTexture = m_bChange; + m_Lock.unlock(); + + CommonData* pCommonData = MainWindow::GetCommonData(); + int nVideoWidth = pCommonData->GetVideoWidth(); + int nVideoHeight = pCommonData->GetVideoHeight(); + + if(bChangeTexture==false) + { + //update(); + //usleep(5*1000); + return; + //m_pThumbnail->PaintBuffer(); + } + + //m_MutexPaint.lock(); + + QSize nScreenSize = size(); + + makeCurrent(); + { + + glViewport(0, 0, nScreenSize.width(), nScreenSize.height()+1); + QPainter painter; + // + painter.begin(this); + + painter.beginNativePainting(); + + m_transparent = false; + + glClearColor(m_background.redF(), m_background.greenF(), m_background.blueF(), m_transparent ? 0.0f : 1.0f); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + glDisable(GL_CULL_FACE); + glDisable(GL_DEPTH_TEST); + + glEnable(GL_BLEND); + + glEnable(GL_TEXTURE_2D); + + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + + + + m_pVideoShader->Bind(); + m_pVideoShader->SetUniformValue(); + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + + paintTexturedCube(); + m_pVideoShader->Release(); + + glDisable(GL_CULL_FACE); + glDisable(GL_BLEND); + glDisable(GL_TEXTURE_2D); + + glFlush(); + painter.endNativePainting(); + + painter.setRenderHint( QPainter::Antialiasing ); + + QTime dt = QTime::currentTime(); + int nHour = dt.hour(); + int nMinute = dt.minute(); + int nSec = dt.second(); + + + QString strTime = QString("%1:%2:%3").arg(QString::number(nHour, 10).rightJustified(2, '0')) + .arg(QString::number(nMinute, 10).rightJustified(2, '0')) + .arg(QString::number(nSec, 10).rightJustified(2, '0')); + + //painter.setFont(QFont("Roboto", 32, QFont::Bold)); + //painter.setBrush(QBrush(QColor(255, 255, 255, 255))); + //painter.drawText(nScreenSize.width()-200, 10, 180, 70, (Qt::AlignVCenter | Qt::AlignLeft), strTime); + + + QPainterPath path; + + CommonData* pCommonData = MainWindow::GetCommonData(); + + if(pCommonData->GetCropMode()==false) + { + path.addText(nScreenSize.width()-250, 50, QFont("Roboto", 36), strTime); + } + else + { + path.addText(nScreenSize.width()-250, 50, QFont("Roboto", 36), strTime); + } + + painter.strokePath(path, QPen(Qt::black, 4)); + painter.setPen( Qt::NoPen ); + painter.setBrush( QBrush(QColor(255, 255, 255)) ); + painter.drawPath( path ); + + + /* + QPainterPath path; + QPainterPath rawPath; + rawPath.addEllipse(QRect(0, 0, 200, 200)); + + double const step = 1.0 / double(strTime.length()); + double percent = 0.0; + for(QChar const& c: strTime) + { + double angle = rawPath.angleAtPercent(percent); + QPointF point = rawPath.pointAtPercent(percent); + + QTransform mat; + mat.rotate(-angle); + QPainterPath p2; + p2.addText(0, 0, font(), c); + p2 = mat.map(p2); + path.addPath(p2.translated(point)); + percent += step; + } + painter.drawPath(path.translated(100, 100)); + */ + + + if(m_listRectObject.size()>0) + { + int i=0; + for(i=0 ; iupdate(); +} + +void QVideoWidget::resizeGL(int w, int h) +{ + QOpenGLWidget::resizeGL(w, h); + + glViewport(0, 0, w, h); +} + + + +void QVideoWidget::UpdateTexture() +{ + + + if(m_bChange==false) + { + return; + } + + if(m_Lock.tryLock(500)==false) + { + return; + } + + m_bInitDisplay = true; + + QOpenGLPixelTransferOptions uploadOptions; + uploadOptions.setAlignment(1); + if(m_pData!=NULL) + { + QOpenGLTexture* pTexture = m_pVideoShader->GetTexture(); + pTexture->bind(); + if(m_nIndexCurrent>=0) + { + if(m_nIndexCurrent>m_nIndexDisplay) + { + m_nIndexDisplay++; + + pTexture->setData(0, QOpenGLTexture::Red, QOpenGLTexture::UInt8, (void*)m_QueueData[m_nIndexDisplay%m_nCountQueue], &uploadOptions); + + pTexture->generateMipMaps(); + pTexture->setMinMagFilters(QOpenGLTexture::LinearMipMapLinear, QOpenGLTexture::LinearMipMapLinear); + + if(m_nIndexCurrent-2>m_nIndexDisplay) + { + m_nIndexDisplay = m_nIndexCurrent-1; + } + } + + } + + + { + m_bChange = false; + } + pTexture->release(); + + if(m_bCheckFrameUpdateCount==true) + { + m_nUpdateFrameCount++; + if(m_TimerFPS.elapsed()>1000) + { + //qDebug() << "FPS: " << m_nUpdateFrameCount; + m_nUpdateFrameCount = 0; + m_TimerFPS.restart(); + } + + } + } + + m_Lock.unlock(); +} + + +QMutex* QVideoWidget::GetMutex() +{ + return &m_Lock; +} + + +void QVideoWidget::SetTextureData(uint8_t* pData, int nSize) +{ + m_Lock.lock(); + + m_StartTime.restart(); + + + int nQueue = (m_nIndexCurrent+1)%m_nCountQueue; + + uint8_t* pDataQueue = m_QueueData[nQueue]; + memcpy(pDataQueue, pData, nSize); + m_nIndexCurrent++; + + + //YOLOv5 Dataset copy + CommonData* pCommonData = MainWindow::GetCommonData(); + int nVideoWidth = pCommonData->GetVideoWidth(); + int nVideoHeight = pCommonData->GetVideoHeight(); + + if(pCommonData->IsActiveDetect()==true) + { + pCommonData->GetThreadCaptureImage()->SetImageDetect(pDataQueue, nVideoWidth, nVideoHeight); + } + + + + + m_bChange = true; + + + + m_Lock.unlock(); + + + +} + + +uint8_t* QVideoWidget::GetDataPtr() +{ + return m_pData; +} + +int QVideoWidget::GetTextureWidth() +{ + return m_nTextureWidth; +} + +int QVideoWidget::GetTextureHeight() +{ + return m_nTextureHeight; +} + +void QVideoWidget::SetTextureSize(int nWidth, int nHeight) +{ + return; + /* + if(m_nTextureWidth!=nWidth || m_nTextureHeight!=nHeight) + { + m_nTextureWidth = nWidth; + m_nTextureHeight = nHeight; + + if(m_pVideoTexture->isStorageAllocated()==true) + { + delete m_pVideoTexture; + //m_pVideoTexture->destroy(); + } + + m_pVideoTexture->create(); + m_pVideoTexture->setFormat(QOpenGLTexture::R8_UNorm); + m_pVideoTexture->setSize(nWidth, nHeight*1.5); + m_pVideoTexture->allocateStorage(); + } + */ +} + +void QVideoWidget::SetSmallDisplay(int nX, int nY, int nWidth, int nHeight) +{ + m_rectSmallDisplay = QRect(nX, nY, nWidth, nHeight); +} + +void QVideoWidget::ResetThumbnailTexture() +{ + //m_pThumbnail->ResetThumbnailTexture(); +} + +void QVideoWidget::SaveBitmap(QString strFilename) +{ + //m_bCapturing = true; + //m_pMenu->SetCapture(m_bCapturing); + + //m_pThreadThumbnail->AddThumbnail(m_pData, 1920, 1080, strFilename); +} + +float QVideoWidget::MakeNormalize(int nPos, int nRange) +{ + float fData = 0.0f; + + //fData = (float)(nPos-nRange/2.0)/(float)(nRange/2.0); + + fData = (float)nPos/(float)(nRange/2) - 1.0f; + return fData; +} + +void QVideoWidget::MakeRectNormal(const QRect& rect, QSize rectSize) +{ + float fLeft = MakeNormalize(rect.left(), rectSize.width()); + float fTop = MakeNormalize(rect.top(), rectSize.height()) * -1.0f; + float fRight = MakeNormalize(rect.right(), rectSize.width()); + float fBottom = MakeNormalize(rect.bottom(), rectSize.height()) * -1.0f; + //lefttop + m_fNormalRect[0] = fLeft; + m_fNormalRect[1] = fBottom; + + //righttop + m_fNormalRect[3] = fRight; + m_fNormalRect[4] = fBottom; + + //leftbottom + m_fNormalRect[6] = fLeft; + m_fNormalRect[7] = fTop; + + //rightbottom + m_fNormalRect[9] = fRight; + m_fNormalRect[10] = fTop; + + //leftbottom + m_fNormalRect[12] = fLeft; + m_fNormalRect[13] = fTop; + + //righttop + m_fNormalRect[15] = fRight; + m_fNormalRect[16] = fBottom; +} + +void QVideoWidget::InitState() +{ + //m_pThumbnail->InitState(); +} + +void QVideoWidget::DrawRecord() +{ + /* + QOpenGLTexture* pTexture = NULL; + m_pShaderThumbnail->Bind(); + m_pShaderThumbnail->SetUniformValue(); + m_pShaderThumbnail->EnableAttributeArray(); + + + m_VBORecord.bind(); + m_pShaderThumbnail->SetAttributeBuffer(); + m_VBORecord.release(); + + if(m_bRecording==false) + { + pTexture = m_pButtonRecord->GetTextureNormal(); + } + else + { + pTexture = m_pButtonRecord->GetTextureClicked(); + } + + pTexture->bind(); + glDrawArrays(GL_TRIANGLES, 0, 6); + pTexture->release(); + + m_pShaderThumbnail->DisableAttributeArray(); + + m_pShaderThumbnail->Release(); + */ +} + +void QVideoWidget::DrawCapture() +{ + /* + QOpenGLTexture* pTexture = NULL; + m_pShaderThumbnail->Bind(); + m_pShaderThumbnail->SetUniformValue(); + m_pShaderThumbnail->EnableAttributeArray(); + + + m_VBOCapture.bind(); + m_pShaderThumbnail->SetAttributeBuffer(); + m_VBOCapture.release(); + + if(m_bCapturing==false) + { + pTexture = m_pButtonCapture->GetTextureNormal(); + } + else + { + pTexture = m_pButtonCapture->GetTextureClicked(); + } + + pTexture->bind(); + glDrawArrays(GL_TRIANGLES, 0, 6); + pTexture->release(); + + m_pShaderThumbnail->DisableAttributeArray(); + + m_pShaderThumbnail->Release(); + */ + + +} + +void QVideoWidget::SetCapturing() +{ + m_bCapturing = true; +} + +uint8_t* QVideoWidget::GetCaptureImage() +{ + uint8_t* pData = m_QueueData[m_nIndexCurrent%m_nCountQueue]; + return pData; +} + +void QVideoWidget::Reset() +{ + m_nIndexCurrent = 0; + m_nIndexDisplay = 0; + + m_bRecording = false; + m_bCapturing = false; + + m_bFullScreen = false; +} + +void QVideoWidget::SetChangeTexture(bool bUpdate) +{ + m_bChange = bUpdate; + m_nIndexCurrent = 0; + m_nIndexDisplay = 0; +} + +void QVideoWidget::Init() +{ + ClearQueueData(); + + CommonData* pCommonData = MainWindow::GetCommonData(); + int nVideoWidth = pCommonData->GetVideoWidth(); + int nVideoHeight = pCommonData->GetVideoHeight(); + + m_nIndexCurrent = 0; + m_nIndexDisplay = 0; + + m_bRecording = false; + m_bCapturing = false; + + m_bFullScreen = false; + + memset(m_pData, 0, sizeof(uint8_t)*nVideoWidth*nVideoHeight*4); + //m_bChange = true; + + m_bInitDisplay = false; + + connect(&m_Timer, SIGNAL(timeout()), this, SLOT(Update())); + + m_StartTime.restart(); + + m_Timer.start(8); + + m_TimerFPS.restart(); + m_nUpdateFrameCount = 0; + + +} + +void QVideoWidget::Exit() +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + int nVideoWidth = pCommonData->GetVideoWidth(); + int nVideoHeight = pCommonData->GetVideoHeight(); + + ClearQueueData(); + + m_nIndexCurrent = 0; + m_nIndexDisplay = 0; + + m_bRecording = false; + m_bCapturing = false; + + m_bFullScreen = false; + + memset(m_pData, 0, sizeof(uint8_t)*nVideoWidth*nVideoHeight*4); + m_bChange = true; + + m_bInitDisplay = false; + + disconnect(&m_Timer, SIGNAL(timeout()), this, SLOT(Update())); + m_Timer.stop(); +} + +void QVideoWidget::Update() +{ + update(); + + QGstreamerPlayer* pPlayer = NULL; + + CommonData* pCommonData = MainWindow::GetCommonData(); + + + bool bIsStart = false; + if(bIsStart==false) + { + + pPlayer = pCommonData->GetThreadRTSP()->GetGstreamerPlayer(); + + if(pPlayer==NULL) + { + return; + } + + if(pPlayer->IsPipeStart()==true) + { + int nUpdateTextureTime = m_StartTime.elapsed(); + + + if(nUpdateTextureTime>2100) + { + int a=0; + //pPlayer->Alram(); + //pCommonData->GetThreadRTSP()->Restart(); + } + } + else + { + m_StartTime.restart(); + } + } + + +} + + +void QVideoWidget::UpdateObjectDisplay(vector& listRectDisplay) +{ + m_listRectObject = listRectDisplay; +} + + + +bool QVideoWidget::Lock() +{ + //m_Lock.lock(); + bool bLock = m_Lock.tryLock(100); + + if(bLock==false) + { + int a=0; + } + + + return bLock; +} + +void QVideoWidget::Unlock() +{ + m_Lock.unlock(); +} + + +void QVideoWidget::ClearQueueData() +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + int nVideoWidth = pCommonData->GetVideoWidth(); + int nVideoHeight = pCommonData->GetVideoHeight(); + + int i=0; + for(i=0 ; i +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include +#include + +#include + +#include +using namespace std; + +#include "qglslshader.h" + +#include +#include + +//#include "qthreadthumbnail.h" + +#include "qopengltexturebutton.h" + +#include + +#include "qopenglbufferthumbnail.h" +//#include "qglslshadercaptureevent.h" +#include "qopenglbuffermenu.h" +using namespace SOPENGL; + +class QVideoWidget : public QOpenGLWidget, protected QOpenGLFunctions +{ + Q_OBJECT +public: + explicit QVideoWidget(QWidget* parent = 0, Qt::WindowFlags f = 0); + ~QVideoWidget(); + + virtual void Init(); + virtual void Exit(); + + void ClearQueueData(); + + void UpdateTexture(); + + void SetTextureData(uint8_t* pData, int nSize); + QMutex* GetMutex(); + + uint8_t* GetDataPtr(); + + int GetTextureWidth(); + int GetTextureHeight(); + + void SetTextureSize(int nWidth, int nHeight); + + void SetSmallDisplay(int nX, int nY, int nWidth, int nHeight); + + void ResetThumbnailTexture(); + + void SaveBitmap(QString strFilename); + + //QOpenGLTexture* m_pThumbnailTexture; + + + float MakeNormalize(int nPos, int nRange); + + void MakeRectNormal(const QRect& rect, QSize rectSize); + + + virtual void InitState(); + + void DrawRecord(); + void DrawCapture(); + + void SetCapturing(); + + uint8_t* GetCaptureImage(); + + void UpdateObjectDisplay(vector& listRectDisplay); + + bool Lock(); + void Unlock(); + + void Reset(); + + void SetChangeTexture(bool bUpdate); + + + +public slots: + void setTransparent(bool transparent); + + void SetButton(QPushButton* pButton); + + void CreatedThumbnail(QString strFilenameThumbnail); + + void ReceivedSaveBitmap(); + void ReceivedRecord(bool bRecord); + void ReceivedViewThumbnail(bool bView); + + void Update(); + +signals: + void SendSaveBitmap(); + void SendRecord(bool bRecord); + + + +protected: + void resizeGL(int w, int h) Q_DECL_OVERRIDE; + void paintGL() Q_DECL_OVERRIDE; + virtual void initializeGL() Q_DECL_OVERRIDE; + virtual void leaveEvent(QEvent * pEvent); + + virtual void mouseDoubleClickEvent(QMouseEvent *); + virtual void mouseMoveEvent(QMouseEvent * pEvent); + virtual void mousePressEvent(QMouseEvent * pEvent); + +protected: + + bool m_bCheckFrameUpdateCount; + + int m_nCountQueue; + vector m_listRectObject; + + //bool m_bViewThumbnail; + //QOpenGLBufferThumbnail* m_pThumbnail; + //QOpenGLBufferMenu* m_pMenu; + QMutex m_MutexPaint; + bool m_bRecording; + bool m_bCapturing; + GLfloat m_fNormalRect[18]; + GLfloat m_fNormalRectTexture[12]; + + void paintTexturedCube(); + //void createGeometry(); + //void quad(qreal x1, qreal y1, qreal x2, qreal y2, qreal x3, qreal y3, qreal x4, qreal y4); + //void extrude(qreal x1, qreal y1, qreal x2, qreal y2); + + QTime m_StartTime; + + int m_nCaptureEventTime; + + QRect m_rectSmallDisplay; + bool m_bFullScreen; + int m_nUpdateFrameCount; + //QTime m_time; + QElapsedTimer m_TimerFPS; + + QGLSLShader* m_pVideoShader; + + QTimer m_Timer; + + + bool m_bInitDisplay; + + QOpenGLBuffer m_VBOVideo; + + + bool m_transparent; + QPushButton *m_btn; + bool m_hasButton; + QColor m_background; + + + + int m_nTmpDisplayType; + + pid_t m_pidChild; + + bool m_bTestSaveMode; + + int m_nTextureWidth; + int m_nTextureHeight; + + QMutex m_Lock; + + uint8_t* m_pData; + + vector m_QueueData; + int m_nIndexCurrent; + int m_nIndexDisplay; + + bool m_bChange; + + //QThreadThumbnail* m_pThreadThumbnail; + +}; + +#endif // QVIDEOWIDGET_H diff --git a/qvideowidget_720_yuy2.cpp b/qvideowidget_720_yuy2.cpp new file mode 100644 index 0000000..0fbbef5 --- /dev/null +++ b/qvideowidget_720_yuy2.cpp @@ -0,0 +1,236 @@ +#include "qvideowidget_720_yuy2.h" + +#include "qvideoshader.h" + +QVideoWidget_720_YUY2::QVideoWidget_720_YUY2(QWidget* parent, Qt::WindowFlags f):QVideoWidget(parent, f) +{ + m_nTextureWidth = 1280; + m_nTextureHeight = 720; +} + +QVideoWidget_720_YUY2::~QVideoWidget_720_YUY2() +{ + +} + +void QVideoWidget_720_YUY2::initializeGL() +{ + QOpenGLContext * pCurrent = QOpenGLContext::currentContext(); + + if(pCurrent!=NULL) + { + if(pCurrent->isOpenGLES()) + { + + } + } + + initializeOpenGLFunctions(); + + + + setUpdateBehavior(QOpenGLWidget::NoPartialUpdate); + + + GLuint nFrameBufferObject = defaultFramebufferObject(); + + + + int i=0; + + for(i=0 ; i<18 ; i++) + { + m_fNormalRect[i] = -1; + } + + GLfloat afTexCoord[] = { + 0.0f,1.0f, 1.0f,1.0f, 0.0f,0.0f, + 1.0f,0.0f, 0.0f,0.0f, 1.0f,1.0f + }; + + memcpy(m_fNormalRectTexture, afTexCoord, sizeof(GLfloat)*2*6); + + m_nTmpDisplayType = 0; + + int nWidth = m_nTextureWidth; + int nHeight = m_nTextureHeight; + + + + m_pVideoShader = new QVideoShader; + m_pVideoShader->CreateTexture(nWidth*2, nHeight, QOpenGLTexture::Target2D, QOpenGLTexture::R8_UNorm); + + + + + + + + + //m_pThumbnailTexture = new QOpenGLTexture(image); + + + char *pSrcVertex = + "#version 300 es\n" + "attribute highp vec4 vertex;\n" + "attribute highp vec4 texCoord;\n" + "uniform mediump mat4 matrix;\n" + "varying highp vec4 texc;\n" + "void main(void)\n" + "{\n" + " gl_Position = matrix * vertex;\n" + " texc = texCoord;\n" + "}\n"; + + + char *pSrcFragmentCaptureEnvent = + "#version 300 es\n" + "in highp vec4 texc;\n" + "uniform sampler2D tex;\n" + "out lowp vec4 FragColor;\n" + "uniform lowp int nImageWidth;\n" + "uniform lowp int nImageHeight;\n" + "void main(void)\n" + "{\n" + " int nX=0;\n" + " int nY=0;\n" + " int nIndex=0;\n" + " highp float fX = 0.0;\n" + " highp float fY = 0.0;\n" + " int nInternalIndex = 0;\n" + " highp float fImageWidth = float(nImageWidth);\n" + " highp float fImageHeight = float(nImageHeight);\n" + " fX = floor(texc.s*(fImageWidth));\n" + " fY = floor(texc.t*fImageHeight);\n" + " nX = int(fX);\n" + " nY = int(fY);\n" + " int nStartX = int((int(nX/4)) * 4);\n" + " int nIndexY = nStartX + 0 + int(mod(float(nX/2), 2.0)) * 2;\n" + " int nIndexU = nStartX+1;\n" + " int nIndexV = nStartX+3;\n" + //" if(nX<4) { FragColor = vec4(0.0, 0.0, 0.0, 1.0); return; }\n" + " fX = float((nX/2)*2+1)/(fImageWidth);\n" + " fY = float(nY)/(fImageHeight);\n" + " highp vec4 colorY = texture2D(tex, vec2(float(nIndexY)/(fImageWidth)+0.5/fImageWidth,fY+0.5/fImageHeight));\n" + " highp vec4 colorU = texture2D(tex, vec2(float(nIndexU)/(fImageWidth)+0.5/fImageWidth,fY+0.5/fImageHeight));\n" + " highp vec4 colorV = texture2D(tex, vec2(float(nIndexV)/(fImageWidth)+0.5/fImageWidth,fY+0.5/fImageHeight));\n" + " highp float fColorY = colorY.r;\n" + " highp float fColorU = colorU.r;\n" + " highp float fColorV = colorV.r;\n" + //" FragColor = vec4(fColorY, fColorU, fColorV, 1.0); return;\n" + + + " highp float fR = fColorY;\n" + " highp float fG = fColorY;\n" + " highp float fB = fColorY;\n" + + " fColorY=1.1643*(fColorY-0.0625);" + " fColorU=fColorU-0.5;" + " fColorV=fColorV-0.5;" + + " fR=clamp(fColorY+1.5958*fColorV, 0.0, 1.0);" + " fG=clamp(fColorY-0.39173*fColorU-0.81290*fColorV, 0.0, 1.0);" + " fB=clamp(fColorY+2.017*fColorU, 0.0, 1.0);" + + " FragColor = vec4(fR, fG, fB, 1.0);\n" + " highp float fTmpColor = colorU\.r;\n" + //" FragColor = vec4(fTmpColor, fTmpColor, fTmpColor, 1.0);\n" + + "}\n"; + + /* + char *pSrcFragmentCaptureEnvent = + "#version 300 es\n" + "in highp vec4 texc;\n" + "uniform sampler2D tex;\n" + "out lowp vec4 FragColor;\n" + "uniform lowp int nImageWidth;\n" + "uniform lowp int nImageHeight;\n" + "void main(void)\n" + "{\n" + " int nX=0;\n" + " int nY=0;\n" + " int nIndex=0;\n" + " highp float fX = 0.0;\n" + " highp float fY = 0.0;\n" + " int nInternalIndex = 0;\n" + " highp float fImageWidth = float(nImageWidth);\n" + " highp float fImageHeight = float(nImageHeight);\n" + " fX = floor(texc.s*(fImageWidth));\n" + " fY = floor(texc.t*fImageHeight);\n" + " nX = int(fX);\n" + " nY = int(fY);\n" + " if(nX<4) { FragColor = vec4(0.0, 0.0, 0.0, 1.0); return; }\n" + " fX = float((nX/2)*2+1)/(fImageWidth-1.0);\n" + " highp vec4 colorY = texture2D(tex, vec2(fX,texc.t));\n" + " highp float fColorY = colorY.r;\n" + " highp float fR = fColorY;\n" + " highp float fG = fColorY;\n" + " highp float fB = fColorY;\n" + " FragColor = vec4(fR, fG, fB, 1.0);\n" + + "}\n"; + */ + + + m_pVideoShader->CreateShader((const char*)pSrcVertex, (const char*)pSrcFragmentCaptureEnvent); + m_pVideoShader->CreateGeometry(); + + + + if (!m_VBOVideo.isCreated()) { + //float fRatioWidth = 1572.0f/1920.0f; + float fRatioWidth = 1.0; + GLfloat afVertices[] = { + -1, -fRatioWidth, -1, + 1,-fRatioWidth,-1, + + -1,fRatioWidth,-1, + 1, fRatioWidth,-1, + + -1,fRatioWidth,-1, + 1,-fRatioWidth,-1 + }; + + GLfloat afTexCoord[] = { + 0.0f,1.0f, 1.0f,1.0f, 0.0f,0.0f, + 1.0f,0.0f, 0.0f,0.0f, 1.0f,1.0f + }; + + GLfloat afNormals[] = { + + 0,0,1, 0,0,1, 0,0,1, + 0,0,1, 0,0,1, 0,0,1 + }; + + m_VBOVideo.create(); + m_VBOVideo.bind(); + + m_VBOVideo.allocate(6 * 5 * sizeof(GLfloat)); + m_VBOVideo.write(0, afVertices, 6*3*sizeof(GLfloat)); + m_VBOVideo.write(6*3*sizeof(GLfloat), afTexCoord, 6*2*sizeof(GLfloat)); + //m_VBOVideo.write(6*5*sizeof(GLfloat), afNormals, 6*3*sizeof(GLfloat)); + + m_VBOVideo.release(); + } + + GLfloat afVertices[] = { + -1,1, -1, -0.767,1,-1, -1,-1,-1, + -0.767, -1,-1, -1,-1,-1, -0.767,1,-1 + }; + + + QImage image("desk_blue.jpg"); + //QImage image("desk_blue.png"); + int nImageWidth = image.width(); + int nImageHeight = image.height(); + + QImage image2 = image.convertToFormat(QImage::Format_RGB888); + + int nBytes = image2.byteCount(); + uint8_t* pImageData = (uint8_t*)image2.bits(); + + memcpy(m_pData, pImageData, nBytes); + m_bChange = true; + UpdateTexture(); +} diff --git a/qvideowidget_720_yuy2.h b/qvideowidget_720_yuy2.h new file mode 100644 index 0000000..b33f7ba --- /dev/null +++ b/qvideowidget_720_yuy2.h @@ -0,0 +1,15 @@ +#ifndef QVIDEOWIDGET_720_YUY2_H +#define QVIDEOWIDGET_720_YUY2_H + +#include "qvideowidget.h" + +class QVideoWidget_720_YUY2 : public QVideoWidget +{ +public: + explicit QVideoWidget_720_YUY2(QWidget* parent = 0, Qt::WindowFlags f = 0); + ~QVideoWidget_720_YUY2(); + + virtual void initializeGL() Q_DECL_OVERRIDE; +}; + +#endif // QVIDEOWIDGET_720_YUY2_H diff --git a/qvideowidget_rgb.cpp b/qvideowidget_rgb.cpp new file mode 100644 index 0000000..dda02ce --- /dev/null +++ b/qvideowidget_rgb.cpp @@ -0,0 +1,162 @@ +#include "qvideowidget_rgb.h" +#include "qvideoshader.h" + +QVideoWidget_RGB::QVideoWidget_RGB(QWidget* parent, Qt::WindowFlags f):QVideoWidget(parent, f) +{ + m_nTextureWidth = 1920; + m_nTextureHeight = 1080; +} + +QVideoWidget_RGB::~QVideoWidget_RGB() +{ + +} + +void QVideoWidget_RGB::initializeGL() +{ + QOpenGLContext * pCurrent = QOpenGLContext::currentContext(); + + initializeOpenGLFunctions(); + + setUpdateBehavior(QOpenGLWidget::NoPartialUpdate); + //setUpdateBehavior(QOpenGLWidget::PartialUpdate); + + GLuint nFrameBufferObject = defaultFramebufferObject(); + + int i=0; + + for(i=0 ; i<18 ; i++) + { + m_fNormalRect[i] = -1; + } + + GLfloat afTexCoord[] = { + 0.0f,1.0f, 1.0f,1.0f, 0.0f,0.0f, + 1.0f,0.0f, 0.0f,0.0f, 1.0f,1.0f + }; + + memcpy(m_fNormalRectTexture, afTexCoord, sizeof(GLfloat)*2*6); + + m_nTmpDisplayType = 0; + + QSize nSize = size(); + + int nWidth = nSize.width(); + int nHeight = nSize.height(); + + nWidth = m_nTextureWidth; + nHeight = m_nTextureHeight; + + + + m_pVideoShader = new QVideoShader; + m_pVideoShader->CreateTexture(nWidth, nHeight, QOpenGLTexture::Target2D, QOpenGLTexture::RGBA8_UNorm); + + char *pSrcVertex = + "#version 300 es\n" + "in highp vec4 vertex;\n" + "in highp vec4 texCoord;\n" + "uniform mediump mat4 matrix;\n" + "out highp vec4 texc;\n" + "void main(void)\n" + "{\n" + " gl_Position = matrix * vertex;\n" + " texc = texCoord;\n" + "}\n"; + + + char *pSrcFragmentCaptureEnvent = + "#version 300 es\n" + "in highp vec4 texc;\n" + "uniform sampler2D tex;\n" + "out lowp vec4 FragColor;\n" + "uniform lowp int nImageWidth;\n" + "uniform lowp int nImageHeight;\n" + "void main(void)\n" + "{\n" + " int nX=0;\n" + " int nY=0;\n" + " int nIndex=0;\n" + " highp float fX = 0.0;\n" + " highp float fY = 0.0;\n" + " int nInternalIndex = 0;\n" + " highp float fImageWidth = float(nImageWidth-1);\n" + " highp float fImageHeight = float(nImageHeight-1);\n" + " fX = floor(texc.s*(fImageWidth));\n" + " fY = floor(texc.t*(fImageHeight));\n" + " nX = int(fX);\n" + " nY = int(fY);\n" + //" highp vec4 colorY = texture2D(tex, vec2(float(nX)/fImageWidth + 0.5/fImageWidth, float(nY)/fImageHeight) + 0.5/fImageHeight);\n" + " highp vec4 colorY = texture2D(tex, vec2(texc.s, texc.t));\n" + " FragColor = colorY;\n" + + "}\n"; + + + m_pVideoShader->CreateShader((const char*)pSrcVertex, (const char*)pSrcFragmentCaptureEnvent); + m_pVideoShader->CreateGeometry(); + + + + if (!m_VBOVideo.isCreated()) { + //float fRatioWidth = 1572.0f/1920.0f; + float fRatioWidth = 1.0; + GLfloat afVertices[] = { + -1, -fRatioWidth, -1, + 1,-fRatioWidth,-1, + + -1,fRatioWidth,-1, + 1, fRatioWidth,-1, + + -1,fRatioWidth,-1, + 1,-fRatioWidth,-1 + }; + + GLfloat afTexCoord[] = { + 0.0f,1.0f, 1.0f,1.0f, 0.0f,0.0f, + 1.0f,0.0f, 0.0f,0.0f, 1.0f,1.0f + }; + + GLfloat afNormals[] = { + + 0,0,1, 0,0,1, 0,0,1, + 0,0,1, 0,0,1, 0,0,1 + }; + + m_VBOVideo.create(); + m_VBOVideo.bind(); + + m_VBOVideo.allocate(6 * 5 * sizeof(GLfloat)); + m_VBOVideo.write(0, afVertices, 6*3*sizeof(GLfloat)); + m_VBOVideo.write(6*3*sizeof(GLfloat), afTexCoord, 6*2*sizeof(GLfloat)); + //m_VBOVideo.write(6*5*sizeof(GLfloat), afNormals, 6*3*sizeof(GLfloat)); + + m_VBOVideo.release(); + } + + GLfloat afVertices[] = { + -1,1, -1, -0.767,1,-1, -1,-1,-1, + -0.767, -1,-1, -1,-1,-1, -0.767,1,-1 + }; + + + QImage image("test1.jpg"); + int nBytes = image.byteCount(); + + if(nBytes>0) + { + image = image.convertToFormat(QImage::Format_RGB888); + nBytes = image.byteCount(); + //QImage image("desk_blue.png"); + + + uint8_t* pImageData = (uint8_t*)image.bits(); + + memcpy(m_QueueData[0], pImageData, nBytes); + + m_bChange = true; + m_nIndexDisplay = -1; + UpdateTexture(); + m_bChange = true; + } +} diff --git a/qvideowidget_rgb.h b/qvideowidget_rgb.h new file mode 100644 index 0000000..2fb3a32 --- /dev/null +++ b/qvideowidget_rgb.h @@ -0,0 +1,15 @@ +#ifndef QVIDEOWIDGET_RGB_H +#define QVIDEOWIDGET_RGB_H + +#include "qvideowidget.h" + +class QVideoWidget_RGB : public QVideoWidget +{ +public: + explicit QVideoWidget_RGB(QWidget* parent = 0, Qt::WindowFlags f = 0); + ~QVideoWidget_RGB(); + + virtual void initializeGL() Q_DECL_OVERRIDE; +}; + +#endif // QVIDEOWIDGET_RGB_H diff --git a/qvideowidget_uyvy.cpp b/qvideowidget_uyvy.cpp new file mode 100644 index 0000000..d9c3913 --- /dev/null +++ b/qvideowidget_uyvy.cpp @@ -0,0 +1,415 @@ +#include "qvideowidget_uyvy.h" +#include "qvideoshader.h" +#include "mainwindow.h" + +#include + +QVideoWidget_UYVY::QVideoWidget_UYVY(QWidget* parent, Qt::WindowFlags f):QVideoWidget(parent, f) +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + int nVideoWidth = pCommonData->GetVideoWidth(); + int nVideoHeight = pCommonData->GetVideoHeight(); + + m_nTextureWidth = nVideoWidth; + m_nTextureHeight = nVideoHeight; +} + +QVideoWidget_UYVY::~QVideoWidget_UYVY() +{ + +} + +void QVideoWidget_UYVY::initializeGL() +{ + QOpenGLContext * pCurrent = QOpenGLContext::currentContext(); + + + QSurfaceFormat format; + format.setVersion(3, 0); + format.setDepthBufferSize(24); + + QSurfaceFormat::setDefaultFormat(format); + + + initializeOpenGLFunctions(); + + + QString strGLSLVersion = reinterpret_cast(glGetString(GL_SHADING_LANGUAGE_VERSION)); + qDebug("glslVer: %s\n",strGLSLVersion); + + int nGLSLVersion = 30; + if(strGLSLVersion.contains("3.1")==true) + { + nGLSLVersion = 31; + } + else if(strGLSLVersion.contains("3.2")==true) + { + nGLSLVersion = 32; + } + + setUpdateBehavior(QOpenGLWidget::NoPartialUpdate); + //setUpdateBehavior(QOpenGLWidget::PartialUpdate); + + GLuint nFrameBufferObject = defaultFramebufferObject(); + + int i=0; + + for(i=0 ; i<18 ; i++) + { + m_fNormalRect[i] = -1; + } + + GLfloat afTexCoord[] = { + 0.0f,1.0f, 1.0f,1.0f, 0.0f,0.0f, + 1.0f,0.0f, 0.0f,0.0f, 1.0f,1.0f + }; + + memcpy(m_fNormalRectTexture, afTexCoord, sizeof(GLfloat)*2*6); + + m_nTmpDisplayType = 0; + + + CommonData* pCommonData = MainWindow::GetCommonData(); + + + int nWidth = pCommonData->GetVideoWidth(); + int nHeight = pCommonData->GetVideoHeight(); + + + + //nWidth = m_nTextureWidth; + //nHeight = m_nTextureHeight; + + + + m_pVideoShader = new QVideoShader; + m_pVideoShader->CreateTexture(nWidth*2, nHeight, QOpenGLTexture::Target2D, QOpenGLTexture::R8_UNorm); + + char *pSrcVertex = NULL; + + if(nGLSLVersion==30) + { + pSrcVertex = + "#version 300 es\n" + "attribute highp vec4 vertex;\n" + "attribute highp vec4 texCoord;\n" + "uniform mediump mat4 matrix;\n" + "varying highp vec4 texc;\n" + "void main(void)\n" + "{\n" + " gl_Position = matrix * vertex;\n" + " texc = texCoord;\n" + "}\n"; + } + else + { + pSrcVertex = + "#version 300 es\n" + "in highp vec4 vertex;\n" + "in highp vec4 texCoord;\n" + "uniform mediump mat4 matrix;\n" + "out highp vec4 texc;\n" + "void main(void)\n" + "{\n" + " gl_Position = matrix * vertex;\n" + " texc = texCoord;\n" + "}\n"; + } + + + /* + char *pSrcFragmentCaptureEnvent = + "#version 300 es\n" + "in highp vec4 texc;\n" + "uniform sampler2D tex;\n" + "out lowp vec4 FragColor;\n" + "uniform lowp int nImageWidth;\n" + "uniform lowp int nImageHeight;\n" + "void main(void)\n" + "{\n" + " int nX=0;\n" + " int nY=0;\n" + " highp float fX = 0.0;\n" + " highp float fY = 0.0;\n" + " int nInternalIndex = 0;\n" + " highp float fImageWidth = float(nImageWidth);\n" + " highp float fImageHeight = float(nImageHeight);\n" + " fX = texc.s*fImageWidth;\n" + " fY = texc.t*fImageHeight;\n" + " nX = int(fX);\n" + " nY = int(fY);\n" + " int nStartX = int((int(nX/4)) * 4);\n" + " if(nStartX%2==1) return;\n" + " int nIndexY = nStartX + 1 + int(mod(float(nX/2), 2.0)) * 2;\n" + " int nIndexU = nStartX;\n" + " int nIndexV = nStartX+2;\n" + //" if(nX<4) { FragColor = vec4(0.0, 0.0, 0.0, 1.0); return; }\n" + " fX = float((nX/2)*2+1)/(fImageWidth);\n" + " fY = float(nY)/(fImageHeight);\n" + " highp vec4 colorY = texture2D(tex, vec2(float(nIndexY)/(fImageWidth)+0.5/fImageWidth,fY+0.5/fImageHeight));\n" + " highp vec4 colorU = texture2D(tex, vec2(float(nIndexU)/(fImageWidth)+0.5/fImageWidth,fY+0.5/fImageHeight));\n" + " highp vec4 colorV = texture2D(tex, vec2(float(nIndexV)/(fImageWidth)+0.5/fImageWidth,fY+0.5/fImageHeight));\n" + " highp float fColorY = colorY.r;\n" + " highp float fColorU = colorU.r;\n" + " highp float fColorV = colorV.r;\n" + //" FragColor = vec4(fColorY, fColorU, fColorV, 1.0); return;\n" + + + " highp float fR = fColorY;\n" + " highp float fG = fColorY;\n" + " highp float fB = fColorY;\n" + + " fColorY=1.1643*(fColorY-0.0625);" + " fColorU=fColorU-0.5;" + " fColorV=fColorV-0.5;" + + " fR=clamp(fColorY+1.5958*fColorV, 0.0, 1.0);" + " fG=clamp(fColorY-0.39173*fColorU-0.81290*fColorV, 0.0, 1.0);" + " fB=clamp(fColorY+2.017*fColorU, 0.0, 1.0);" + + " FragColor = vec4(fR, fG, fB, 1.0);\n" + "}\n"; +*/ + + char *pSrcFragmentCaptureEnvent = + "#version 300 es\n" + "in highp vec4 texc;\n" + "uniform sampler2D tex;\n" + "out lowp vec4 FragColor;\n" + "uniform lowp int nImageWidth;\n" + "uniform lowp int nImageHeight;\n" + "void main(void)\n" + "{\n" + " int nX=0;\n" + " int nY=0;\n" + " highp float fX = 0.0;\n" + " highp float fY = 0.0;\n" + //" highp float fTextureWidth = 1920.0;\n" + //" highp float fTextureHeight = 1080.0;\n" + " highp float fImageWidth = float(nImageWidth);\n" + " highp float fImageHeight = float(nImageHeight);\n" + " highp float fX1 = texc.s * 1280.0;\n" + " highp float fY1 = texc.t * 720.0;\n" + + " fX = texc.s*fImageWidth;\n" + " fY = texc.t*fImageHeight;\n" + " nX = int(fX);\n" + " nY = int(fY);\n" + + //" int nX1 = int(fX1);\n" + //" int nY1 = int(fY1);\n" + //" highp float fNewX = float(nX1) * 1.5;\n" + //" highp float fNewY = float(nY1) * 1.5;\n" + //" highp float fGabX = fNewX - float(int(fNewX));\n" + //" highp float fGabY = fNewY - float(int(fNewY));\n" + //" if(fGabY==0.5)\n" + //" {\n" + //" FragColor = vec4(0, 0, 0, 1.0);\n" + //" return;\n" + //" }\n" + //" else\n" + //" {\n" + //" FragColor = vec4(1.0, 1.0, 1.0, 1.0);\n" + //" return;\n" + //" }\n" + " int nStartX = 0;\n" + " int nIndexY = 0;\n" + " int nIndexU = 0;\n" + " int nIndexV = 0;\n" + " highp vec4 colorY = vec4(0.0, 0.0, 0.0, 0.0);\n" + " highp vec4 colorU = vec4(0.0, 0.0, 0.0, 0.0);\n" + " highp vec4 colorV = vec4(0.0, 0.0, 0.0, 0.0);\n" + " highp float fColorY = 0.0;\n" + " highp float fColorU = 0.0;\n" + " highp float fColorV = 0.0;\n" + " highp float fR1 = 0.0;\n" + " highp float fG1 = 0.0;\n" + " highp float fB1 = 0.0;\n" + " highp float fR2 = 0.0;\n" + " highp float fG2 = 0.0;\n" + " highp float fB2 = 0.0;\n" + " highp float fR3 = 0.0;\n" + " highp float fG3 = 0.0;\n" + " highp float fB3 = 0.0;\n" + " highp float fR4 = 0.0;\n" + " highp float fG4 = 0.0;\n" + " highp float fB4 = 0.0;\n" + + " nStartX = int((int(nX/4)) * 4);\n" + " nIndexY = nStartX + 1 + int(mod(float(nX/2), 2.0)) * 2;\n" + " nIndexU = nStartX;\n" + " nIndexV = nStartX+2;\n" + " fX = float((nX/2)*2+1)/(fImageWidth);\n" + " fY = float(nY)/(fImageHeight);\n" + " colorY = texture2D(tex, vec2(float(nIndexY)/(fImageWidth)+0.5/fImageWidth,fY));\n" + " colorU = texture2D(tex, vec2(float(nIndexU)/(fImageWidth)+0.5/fImageWidth,fY));\n" + " colorV = texture2D(tex, vec2(float(nIndexV)/(fImageWidth)+0.5/fImageWidth,fY));\n" + " fColorY = colorY.r;\n" + " fColorU = colorU.r;\n" + " fColorV = colorV.r;\n" + " fColorY=1.1643*(fColorY-0.0625);" + " fColorU=fColorU-0.5;" + " fColorV=fColorV-0.5;" + " fR1=clamp(fColorY+1.5958*fColorV, 0.0, 1.0);" + " fG1=clamp(fColorY-0.39173*fColorU-0.81290*fColorV, 0.0, 1.0);" + " fB1=clamp(fColorY+2.017*fColorU, 0.0, 1.0);" + + + " nStartX = int((int((nX+1)/4)) * 4);\n" + " nIndexY = nStartX + 1 + int(mod(float((nX+1)/2), 2.0)) * 2;\n" + " nIndexU = nStartX;\n" + " nIndexV = nStartX+2;\n" + " fX = float((nX/2)*2+1)/(fImageWidth);\n" + " fY = float(nY)/(fImageHeight);\n" + " colorY = texture2D(tex, vec2(float(nIndexY)/(fImageWidth)+0.5/fImageWidth,fY+0.5/fImageHeight));\n" + " colorU = texture2D(tex, vec2(float(nIndexU)/(fImageWidth)+0.5/fImageWidth,fY+0.5/fImageHeight));\n" + " colorV = texture2D(tex, vec2(float(nIndexV)/(fImageWidth)+0.5/fImageWidth,fY+0.5/fImageHeight));\n" + " fColorY = colorY.r;\n" + " fColorU = colorU.r;\n" + " fColorV = colorV.r;\n" + " fColorY = colorY.r;\n" + " fColorU = colorU.r;\n" + " fColorV = colorV.r;\n" + " fColorY=1.1643*(fColorY-0.0625);" + " fColorU=fColorU-0.5;" + " fColorV=fColorV-0.5;" + " fR2=clamp(fColorY+1.5958*fColorV, 0.0, 1.0);" + " fG2=clamp(fColorY-0.39173*fColorU-0.81290*fColorV, 0.0, 1.0);" + " fB2=clamp(fColorY+2.017*fColorU, 0.0, 1.0);" + + + " nStartX = int((int(nX/4)) * 4);\n" + " nIndexY = nStartX + 1 + int(mod(float(nX/2), 2.0)) * 2;\n" + " nIndexU = nStartX;\n" + " nIndexV = nStartX+2;\n" + " fX = float((nX/2)*2+1)/(fImageWidth);\n" + " fY = float(nY+1)/(fImageHeight);\n" + " colorY = texture2D(tex, vec2(float(nIndexY)/(fImageWidth)+0.5/fImageWidth,fY));\n" + " colorU = texture2D(tex, vec2(float(nIndexU)/(fImageWidth)+0.5/fImageWidth,fY));\n" + " colorV = texture2D(tex, vec2(float(nIndexV)/(fImageWidth)+0.5/fImageWidth,fY));\n" + " fColorY = colorY.r;\n" + " fColorU = colorU.r;\n" + " fColorV = colorV.r;\n" + " fColorY=1.1643*(fColorY-0.0625);" + " fColorU=fColorU-0.5;" + " fColorV=fColorV-0.5;" + " fR3=clamp(fColorY+1.5958*fColorV, 0.0, 1.0);" + " fG3=clamp(fColorY-0.39173*fColorU-0.81290*fColorV, 0.0, 1.0);" + " fB3=clamp(fColorY+2.017*fColorU, 0.0, 1.0);" + + " nStartX = int((int((nX+1)/4)) * 4);\n" + " nIndexY = nStartX + 1 + int(mod(float((nX+1)/2), 2.0)) * 2;\n" + " nIndexU = nStartX;\n" + " nIndexV = nStartX+2;\n" + " fX = float((nX/2)*2+1)/(fImageWidth);\n" + " fY = float(nY+1)/(fImageHeight);\n" + " colorY = texture2D(tex, vec2(float(nIndexY)/(fImageWidth)+0.5/fImageWidth,fY));\n" + " colorU = texture2D(tex, vec2(float(nIndexU)/(fImageWidth)+0.5/fImageWidth,fY));\n" + " colorV = texture2D(tex, vec2(float(nIndexV)/(fImageWidth)+0.5/fImageWidth,fY));\n" + " fColorY = colorY.r;\n" + " fColorU = colorU.r;\n" + " fColorV = colorV.r;\n" + " fColorY=1.1643*(fColorY-0.0625);" + " fColorU=fColorU-0.5;" + " fColorV=fColorV-0.5;" + " fR4=clamp(fColorY+1.5958*fColorV, 0.0, 1.0);" + " fG4=clamp(fColorY-0.39173*fColorU-0.81290*fColorV, 0.0, 1.0);" + " fB4=clamp(fColorY+2.017*fColorU, 0.0, 1.0);" + + + //" highp float fR = fR1;\n" + //" highp float fG = fG1;\n" + //" highp float fB = fB1;\n" + //" fR = fR1*(1.0-fGabX)*(1.0-fGabY)+fR2*(fGabX)*(1.0-fGabY)+fR3*(1.0-fGabX)*(fGabY)+fR4*(fGabX)*(fGabY);\n" + //" fG = fG1*(1.0-fGabX)*(1.0-fGabY)+fG2*(fGabX)*(1.0-fGabY)+fG3*(1.0-fGabX)*(fGabY)+fG4*(fGabX)*(fGabY);\n" + //" fB = fB1*(1.0-fGabX)*(1.0-fGabY)+fB2*(fGabX)*(1.0-fGabY)+fB3*(1.0-fGabX)*(fGabY)+fB4*(fGabX)*(fGabY);\n" + + " highp float fR = fR1*0.25+fR2*0.25+fR3*0.25+fR4*0.25;\n" + " highp float fG = fG1*0.25+fG2*0.25+fG3*0.25+fG4*0.25;\n" + " highp float fB = fB1*0.25+fB2*0.25+fB3*0.25+fB4*0.25;\n" + + //" if(fGabY==0.0 && fGabX==0.0)\n" + //" {\n" + //" fR = fR1*0.25+fR2*0.25+fR3*0.25+fR4*0.25;\n" + //" fG = fG1*0.25+fG2*0.25+fG3*0.25+fG4*0.25;\n" + //" fB = fB1*0.25+fB2*0.25+fB3*0.25+fB4*0.25;\n" + //" }\n" + + + + " FragColor = vec4(fR, fG, fB, 1.0);\n" + "}\n"; + + + + m_pVideoShader->CreateShader((const char*)pSrcVertex, (const char*)pSrcFragmentCaptureEnvent); + m_pVideoShader->CreateGeometry(); + + + + + + if (!m_VBOVideo.isCreated()) { + //float fRatioWidth = 1572.0f/1920.0f; + float fRatioWidth = 1.0; + GLfloat afVertices[] = { + -1, -fRatioWidth, -1, + 1,-fRatioWidth,-1, + + -1,fRatioWidth,-1, + 1, fRatioWidth,-1, + + -1,fRatioWidth,-1, + 1,-fRatioWidth,-1 + }; + + GLfloat afTexCoord[] = { + 0.0f,1.0f, 1.0f,1.0f, 0.0f,0.0f, + 1.0f,0.0f, 0.0f,0.0f, 1.0f,1.0f + }; + + GLfloat afNormals[] = { + + 0,0,1, 0,0,1, 0,0,1, + 0,0,1, 0,0,1, 0,0,1 + }; + + m_VBOVideo.create(); + m_VBOVideo.bind(); + + m_VBOVideo.allocate(6 * 5 * sizeof(GLfloat)); + m_VBOVideo.write(0, afVertices, 6*3*sizeof(GLfloat)); + m_VBOVideo.write(6*3*sizeof(GLfloat), afTexCoord, 6*2*sizeof(GLfloat)); + //m_VBOVideo.write(6*5*sizeof(GLfloat), afNormals, 6*3*sizeof(GLfloat)); + + m_VBOVideo.release(); + } + + GLfloat afVertices[] = { + -1,1, -1, -0.767,1,-1, -1,-1,-1, + -0.767, -1,-1, -1,-1,-1, -0.767,1,-1 + }; + + QFile fileTest("test.data"); + if(fileTest.exists()==true) + { + if(fileTest.open(QFile::ReadOnly)==true) + { + int nBytes = fileTest.size(); + uint8_t* pDataTest = new uint8_t[nBytes]; + fileTest.read((char*)pDataTest, nBytes); + + if(nBytes>0) + { + memcpy(m_QueueData[0], pDataTest, nBytes); + + m_bChange = true; + m_nIndexDisplay = -1; + UpdateTexture(); + m_bChange = true; + } + + delete[] pDataTest; + } + } +} diff --git a/qvideowidget_uyvy.h b/qvideowidget_uyvy.h new file mode 100644 index 0000000..7744661 --- /dev/null +++ b/qvideowidget_uyvy.h @@ -0,0 +1,15 @@ +#ifndef QVIDEOWIDGET_UYVY_H +#define QVIDEOWIDGET_UYVY_H + +#include "qvideowidget.h" + +class QVideoWidget_UYVY : public QVideoWidget +{ +public: + explicit QVideoWidget_UYVY(QWidget* parent = 0, Qt::WindowFlags f = 0); + ~QVideoWidget_UYVY(); + + virtual void initializeGL() Q_DECL_OVERRIDE; +}; + +#endif // QVIDEOWIDGET_UYVY_H diff --git a/qvideowidget_yuy2.cpp b/qvideowidget_yuy2.cpp new file mode 100644 index 0000000..2b7e5c8 --- /dev/null +++ b/qvideowidget_yuy2.cpp @@ -0,0 +1,219 @@ +#include "qvideowidget_yuy2.h" +#include "qvideoshader.h" + + +QVideoWidget_YUY2::QVideoWidget_YUY2(QWidget* parent, Qt::WindowFlags f):QVideoWidget(parent, f) +{ + m_nTextureWidth = 1920; + m_nTextureHeight = 1080; +} + +QVideoWidget_YUY2::~QVideoWidget_YUY2() +{ + +} + +void QVideoWidget_YUY2::initializeGL() +{ + QOpenGLContext * pCurrent = QOpenGLContext::currentContext(); + + initializeOpenGLFunctions(); + + setUpdateBehavior(QOpenGLWidget::NoPartialUpdate); + //setUpdateBehavior(QOpenGLWidget::PartialUpdate); + + GLuint nFrameBufferObject = defaultFramebufferObject(); + + int i=0; + + for(i=0 ; i<18 ; i++) + { + m_fNormalRect[i] = -1; + } + + GLfloat afTexCoord[] = { + 0.0f,1.0f, 1.0f,1.0f, 0.0f,0.0f, + 1.0f,0.0f, 0.0f,0.0f, 1.0f,1.0f + }; + + memcpy(m_fNormalRectTexture, afTexCoord, sizeof(GLfloat)*2*6); + + m_nTmpDisplayType = 0; + + QSize nSize = size(); + + int nWidth = nSize.width(); + int nHeight = nSize.height(); + + nWidth = m_nTextureWidth; + nHeight = m_nTextureHeight; + + + + m_pVideoShader = new QVideoShader; + m_pVideoShader->CreateTexture(nWidth*2, nHeight, QOpenGLTexture::Target2D, QOpenGLTexture::R8_UNorm); + + char *pSrcVertex = + "#version 300 es\n" + "attribute highp vec4 vertex;\n" + "attribute highp vec4 texCoord;\n" + "uniform mediump mat4 matrix;\n" + "varying highp vec4 texc;\n" + "void main(void)\n" + "{\n" + " gl_Position = matrix * vertex;\n" + " texc = texCoord;\n" + "}\n"; + + + char *pSrcFragmentCaptureEnvent = + "#version 300 es\n" + "in highp vec4 texc;\n" + "uniform sampler2D tex;\n" + "out lowp vec4 FragColor;\n" + "uniform lowp int nImageWidth;\n" + "uniform lowp int nImageHeight;\n" + "void main(void)\n" + "{\n" + " int nX=0;\n" + " int nY=0;\n" + " int nIndex=0;\n" + " highp float fX = 0.0;\n" + " highp float fY = 0.0;\n" + " int nInternalIndex = 0;\n" + " highp float fImageWidth = float(nImageWidth);\n" + " highp float fImageHeight = float(nImageHeight);\n" + " fX = floor(texc.s*(fImageWidth));\n" + " fY = floor(texc.t*fImageHeight);\n" + " nX = int(fX);\n" + " nY = int(fY);\n" + " int nStartX = int((int(nX/4)) * 4);\n" + " int nIndexY = nStartX + 0 + int(mod(float(nX/2), 2.0)) * 2;\n" + " int nIndexU = nStartX+1;\n" + " int nIndexV = nStartX+3;\n" + //" if(nX<4) { FragColor = vec4(0.0, 0.0, 0.0, 1.0); return; }\n" + " fX = float((nX/2)*2+1)/(fImageWidth);\n" + " fY = float(nY)/(fImageHeight);\n" + " highp vec4 colorY = texture2D(tex, vec2(float(nIndexY)/(fImageWidth)+0.5/fImageWidth,fY+0.5/fImageHeight));\n" + " highp vec4 colorU = texture2D(tex, vec2(float(nIndexU)/(fImageWidth)+0.5/fImageWidth,fY+0.5/fImageHeight));\n" + " highp vec4 colorV = texture2D(tex, vec2(float(nIndexV)/(fImageWidth)+0.5/fImageWidth,fY+0.5/fImageHeight));\n" + " highp float fColorY = colorY.r;\n" + " highp float fColorU = colorU.r;\n" + " highp float fColorV = colorV.r;\n" + //" FragColor = vec4(fColorY, fColorU, fColorV, 1.0); return;\n" + + + " highp float fR = fColorY;\n" + " highp float fG = fColorY;\n" + " highp float fB = fColorY;\n" + + " fColorY=1.1643*(fColorY-0.0625);" + " fColorU=fColorU-0.5;" + " fColorV=fColorV-0.5;" + + " fR=clamp(fColorY+1.5958*fColorV, 0.0, 1.0);" + " fG=clamp(fColorY-0.39173*fColorU-0.81290*fColorV, 0.0, 1.0);" + " fB=clamp(fColorY+2.017*fColorU, 0.0, 1.0);" + + " FragColor = vec4(fR, fG, fB, 1.0);\n" + " highp float fTmpColor = colorU\.r;\n" + //" FragColor = vec4(fTmpColor, fTmpColor, fTmpColor, 1.0);\n" + + "}\n"; + + /* + char *pSrcFragmentCaptureEnvent = + "#version 300 es\n" + "in highp vec4 texc;\n" + "uniform sampler2D tex;\n" + "out lowp vec4 FragColor;\n" + "uniform lowp int nImageWidth;\n" + "uniform lowp int nImageHeight;\n" + "void main(void)\n" + "{\n" + " int nX=0;\n" + " int nY=0;\n" + " int nIndex=0;\n" + " highp float fX = 0.0;\n" + " highp float fY = 0.0;\n" + " int nInternalIndex = 0;\n" + " highp float fImageWidth = float(nImageWidth);\n" + " highp float fImageHeight = float(nImageHeight);\n" + " fX = floor(texc.s*(fImageWidth));\n" + " fY = floor(texc.t*fImageHeight);\n" + " nX = int(fX);\n" + " nY = int(fY);\n" + " if(nX<4) { FragColor = vec4(0.0, 0.0, 0.0, 1.0); return; }\n" + " fX = float((nX/2)*2+1)/(fImageWidth-1.0);\n" + " highp vec4 colorY = texture2D(tex, vec2(fX,texc.t));\n" + " highp float fColorY = colorY.r;\n" + " highp float fR = fColorY;\n" + " highp float fG = fColorY;\n" + " highp float fB = fColorY;\n" + " FragColor = vec4(fR, fG, fB, 1.0);\n" + + "}\n"; + */ + + + m_pVideoShader->CreateShader((const char*)pSrcVertex, (const char*)pSrcFragmentCaptureEnvent); + m_pVideoShader->CreateGeometry(); + + + + if (!m_VBOVideo.isCreated()) { + //float fRatioWidth = 1572.0f/1920.0f; + float fRatioWidth = 1.0; + GLfloat afVertices[] = { + -1, -fRatioWidth, -1, + 1,-fRatioWidth,-1, + + -1,fRatioWidth,-1, + 1, fRatioWidth,-1, + + -1,fRatioWidth,-1, + 1,-fRatioWidth,-1 + }; + + GLfloat afTexCoord[] = { + 0.0f,1.0f, 1.0f,1.0f, 0.0f,0.0f, + 1.0f,0.0f, 0.0f,0.0f, 1.0f,1.0f + }; + + GLfloat afNormals[] = { + + 0,0,1, 0,0,1, 0,0,1, + 0,0,1, 0,0,1, 0,0,1 + }; + + m_VBOVideo.create(); + m_VBOVideo.bind(); + + m_VBOVideo.allocate(6 * 5 * sizeof(GLfloat)); + m_VBOVideo.write(0, afVertices, 6*3*sizeof(GLfloat)); + m_VBOVideo.write(6*3*sizeof(GLfloat), afTexCoord, 6*2*sizeof(GLfloat)); + //m_VBOVideo.write(6*5*sizeof(GLfloat), afNormals, 6*3*sizeof(GLfloat)); + + m_VBOVideo.release(); + } + + GLfloat afVertices[] = { + -1,1, -1, -0.767,1,-1, -1,-1,-1, + -0.767, -1,-1, -1,-1,-1, -0.767,1,-1 + }; + + + QImage image("desk_blue.jpg"); + //QImage image("desk_blue.png"); + int nImageWidth = image.width(); + int nImageHeight = image.height(); + + QImage image2 = image.convertToFormat(QImage::Format_RGB888); + + int nBytes = image2.byteCount(); + uint8_t* pImageData = (uint8_t*)image2.bits(); + + memcpy(m_pData, pImageData, nBytes); + m_bChange = true; + UpdateTexture(); +} diff --git a/qvideowidget_yuy2.h b/qvideowidget_yuy2.h new file mode 100644 index 0000000..21c1c54 --- /dev/null +++ b/qvideowidget_yuy2.h @@ -0,0 +1,15 @@ +#ifndef QVIDEOWIDGET_YUY2_H +#define QVIDEOWIDGET_YUY2_H + +#include "qvideowidget.h" + +class QVideoWidget_YUY2 : public QVideoWidget +{ +public: + explicit QVideoWidget_YUY2(QWidget* parent = 0, Qt::WindowFlags f = 0); + ~QVideoWidget_YUY2(); + + virtual void initializeGL() Q_DECL_OVERRIDE; +}; + +#endif // QVIDEOWIDGET_YUY2_H diff --git a/sambaclient.cpp b/sambaclient.cpp new file mode 100644 index 0000000..39d9e18 --- /dev/null +++ b/sambaclient.cpp @@ -0,0 +1,332 @@ +#include "sambaclient.h" + +#include "mainwindow.h" + +#include + +SambaClient::SambaClient() +{ + + m_bError = 0; + + connect(&m_Process1, SIGNAL(finished(int)), this, SLOT(Process1Finish(int))); + connect(&m_Process1, SIGNAL(readyReadStandardOutput()), this, SLOT(Process1ReadyReadStandardOutput())); + connect(&m_Process1, SIGNAL(readyReadStandardError()), this, SLOT(Process1ReadyReadStandardError())); + + connect(&m_Process2, SIGNAL(finished(int)), this, SLOT(Process2Finish(int))); + connect(&m_Process2, SIGNAL(readyReadStandardOutput()), this, SLOT(Process2ReadyReadStandardOutput())); + connect(&m_Process2, SIGNAL(readyReadStandardError()), this, SLOT(Process2ReadyReadStandardError())); + + connect(&m_Process3, SIGNAL(finished(int)), this, SLOT(Process3Finish(int))); + connect(&m_Process3, SIGNAL(readyReadStandardOutput()), this, SLOT(Process3ReadyReadStandardOutput())); + connect(&m_Process3, SIGNAL(readyReadStandardError()), this, SLOT(Process3ReadyReadStandardError())); +} + + +SambaClient::~SambaClient() +{ + +} + + +void SambaClient::Process1Finish(int nRet) +{ + QByteArray buffer; + buffer.append(m_Process1.readAll()); + +} + +void SambaClient::Process1ReadyReadStandardOutput() +{ + QByteArray buffer; + buffer.append(m_Process1.readAllStandardOutput()); + + m_strInfo = buffer.toStdString().c_str(); +} + +void SambaClient::Process1ReadyReadStandardError() +{ + QByteArray buffer; + buffer.append(m_Process1.readAllStandardError()); + + m_strInfo = buffer.toStdString().c_str(); + + if(m_strInfo.contains("password for")==true) + { + m_bError = 0; + return; + } + + m_bError = 1; +} + +void SambaClient::Process2Finish(int nRet) +{ + QByteArray buffer; + buffer.append(m_Process2.readAll()); + +} + +void SambaClient::Process2ReadyReadStandardOutput() +{ + QByteArray buffer; + buffer.append(m_Process2.readAllStandardOutput()); + + m_strInfo = buffer.toStdString().c_str(); +} + +void SambaClient::Process2ReadyReadStandardError() +{ + QByteArray buffer; + buffer.append(m_Process2.readAllStandardError()); + + m_strInfo = buffer.toStdString().c_str(); + + if(m_strInfo.contains("not mounted")==false) + { + m_bError = 1; + } + else + { + + } + + +} + + + +void SambaClient::Process3Finish(int nRet) +{ + QByteArray buffer; + buffer.append(m_Process3.readAll()); + +} + +void SambaClient::Process3ReadyReadStandardOutput() +{ + QByteArray buffer; + buffer.append(m_Process3.readAllStandardOutput()); + + m_strInfo = buffer.toStdString().c_str(); +} + +void SambaClient::Process3ReadyReadStandardError() +{ + QByteArray buffer; + buffer.append(m_Process3.readAllStandardError()); + + m_strInfo = buffer.toStdString().c_str(); + + if(m_strInfo.contains("password for")==true) + { + m_bError = 0; + return; + } + + m_bError = 1; +} + + +void SambaClient::Mount() +{ + m_bError = false; + m_strInfo.clear(); + QProcess process1; + process1.setStandardOutputProcess(&m_Process1); + + process1.start("echo 1"); + + NetworkShareInfo* pNetworkShareInfo = MainWindow::GetCommonData()->GetNetworkShareInfo(); + + QString strUserID = pNetworkShareInfo->m_strID; + QString strUserPassword = pNetworkShareInfo->m_strPassword; + QString strIP = pNetworkShareInfo->m_strIP; + QString strFolder = pNetworkShareInfo->m_strShareFolder; + QString strSMBVersion = pNetworkShareInfo->m_strVersion; + + //QString strConnect = QString("username=%1,password=%2 //%3/%4 /home/birdhead/samba").arg(strUserID).arg(strUserPassword).arg(strIP).arg(strFolder); + //QString strCommand = QString("sudo -S mount -t cifs -o uid=1000,gid=1000,%1").arg(strConnect); + + QString strCommand = QString("sudo -S mount -t cifs //%1/%2 /home/birdhead/samba").arg(strIP).arg(strFolder); + QString strOption = QString(" -o username=%1,password=%2,uid=1000,gid=1000,echo_interval=5").arg(strUserID).arg(strUserPassword); + + if(strSMBVersion.size()>0) + { + strOption += QString(",vers=%1").arg(strSMBVersion); + } + + strCommand += strOption; + + qDebug() << strCommand; + + //m_Process.start("sudo -S mount -t cifs -o uid=1000,gid=1000,username=ftpadmin,password=ftpadmin? //192.168.1.19/test1 /home/birdhead/samba"); + m_Process1.start(strCommand.toStdString().c_str()); + m_Process1.setProcessChannelMode(QProcess::ForwardedChannels); + + if(!process1.waitForStarted()) + return; + + while(m_Process1.isOpen()==false || m_Process1.isReadable()==false) + { + QThread::usleep(100); + } + + + bool retval = false; + QByteArray buffer; + // To be fair: you only need to wait here for a bit with shutdown, + // but I will still leave the rest here for a generic solution + while ((retval = m_Process1.waitForFinished())) + { + buffer.append(m_Process1.readAll()); + } + + + m_Process1.close(); + if(m_Process1.isOpen()==true) + { + m_Process1.terminate(); + m_Process1.waitForFinished(100); + m_Process1.deleteLater(); + } + + process1.close(); + if(process1.isOpen()==true) + { + process1.terminate(); + process1.waitForFinished(100); + process1.deleteLater(); + } + buffer.clear(); + + QString strInfo; + + if(m_bError==false) + { + //SetExportEnable(true); + //strInfo = "Ready to Export 'Shared Network'"; + + //ui->pushButton_Export->click(); + } + else + { + //SetExportEnable(false); + //strInfo = m_strInfo; + //strInfo = "Check Your Network Server!!"; + } + //SetInfoString(strInfo); +} + +void SambaClient::Umount() +{ + if(m_bError==true) + { + return; + } + m_strInfo.clear(); + + QProcess process1; + + process1.setStandardOutputProcess(&m_Process2); + + process1.start("echo 1"); + m_Process2.start("sudo -S umount /home/birdhead/samba"); + m_Process2.setProcessChannelMode(QProcess::ForwardedChannels); + + // Wait for it to start + if(!process1.waitForStarted()) + return; + + bool retval = false; + QByteArray buffer; + // To be fair: you only need to wait here for a bit with shutdown, + // but I will still leave the rest here for a generic solution + while ((retval = m_Process2.waitForFinished())) + { + buffer.append(m_Process2.readAll()); + } + + + m_Process2.close(); + if(m_Process2.isOpen()==true) + { + m_Process2.terminate(); + m_Process2.waitForFinished(100); + m_Process2.deleteLater(); + } + + + + process1.close(); + if(process1.isOpen()==true) + { + process1.terminate(); + process1.waitForFinished(100); + process1.deleteLater(); + } + + + + buffer.clear(); + + if(m_bError==true) + { + //SetInfoString(m_strInfo); + } +} + + + +bool SambaClient::IsError() +{ + if(m_bError>0) + { + return true; + } + + return false; +} + + +bool SambaClient::IsMount() +{ + m_bError = false; + m_strInfo.clear(); + + QString strCommand = QString("mount"); + + m_Process3.start(strCommand.toStdString().c_str()); + + bool retval = false; + QByteArray buffer; + // To be fair: you only need to wait here for a bit with shutdown, + // but I will still leave the rest here for a generic solution + while ((retval = m_Process3.waitForFinished())) + { + buffer.append(m_Process3.readAll()); + } + + m_Process3.close(); + if(m_Process3.isOpen()==true) + { + m_Process3.terminate(); + } + + + buffer.clear(); + + + QStringList listLine = m_strInfo.split("\n"); + + int i=0; + for(i=0 ; i + +#include + +#include + +class SambaClient : public QObject +{ + Q_OBJECT +public: + SambaClient(); + virtual ~SambaClient(); + + bool IsError(); + + virtual void Mount(); + virtual void Umount(); + + virtual bool IsMount(); + +public slots: + virtual void Process1Finish(int nRet); + virtual void Process1ReadyReadStandardOutput(); + virtual void Process1ReadyReadStandardError(); + + virtual void Process2Finish(int nRet); + virtual void Process2ReadyReadStandardOutput(); + virtual void Process2ReadyReadStandardError(); + + virtual void Process3Finish(int nRet); + virtual void Process3ReadyReadStandardOutput(); + virtual void Process3ReadyReadStandardError(); + +protected: + QProcess m_Process1; + QProcess m_Process2; + QProcess m_Process3; + + QString m_strInfo; + int m_bError; +}; + +#endif // SAMBACLIENT_H diff --git a/sapplication.cpp b/sapplication.cpp new file mode 100644 index 0000000..0b0c6fd --- /dev/null +++ b/sapplication.cpp @@ -0,0 +1,32 @@ +#include "sapplication.h" + +SApplication::SApplication(int &argc, char **argv, int nFlags) + :QApplication(argc, argv, nFlags) +{ + +} + + +bool SApplication::notify(QObject* pObject, QEvent* pEvent) +{ + + try { + return QApplication::notify(pObject, pEvent); + } catch (std::exception &e) { + qFatal("Error %s sending pEvent %s to object %s (%s)", + e.what(), typeid(*pEvent).name(), qPrintable(pObject->objectName()), + typeid(*pObject).name()); + } catch (...) { + qFatal("Error sending pEvent %s to object %s (%s)", + typeid(*pEvent).name(), qPrintable(pObject->objectName()), + typeid(*pObject).name()); + } + + // qFatal aborts, so this isn't really necessary + // but you might continue if you use a different logging lib + //int a=0; + //return false; + + + return true; +} diff --git a/sapplication.h b/sapplication.h new file mode 100644 index 0000000..7a5cc25 --- /dev/null +++ b/sapplication.h @@ -0,0 +1,14 @@ +#ifndef SAPPLICATION_H +#define SAPPLICATION_H + +#include + +class SApplication : public QApplication +{ +public: + SApplication(int &argc, char **argv, int = ApplicationFlags); + + bool notify(QObject *, QEvent *) override; +}; + +#endif // SAPPLICATION_H diff --git a/scalendarmenuview.cpp b/scalendarmenuview.cpp new file mode 100644 index 0000000..2095741 --- /dev/null +++ b/scalendarmenuview.cpp @@ -0,0 +1,108 @@ +#include "scalendarmenuview.h" + +#include +#include +#include + + + +SCalendarMenuView::SCalendarMenuView(QWidget *parent) : QWidget(parent) +{ + m_strText = ""; + m_nID = 0; + m_nFontSize = 18; + Unselect(); +} + +SCalendarMenuView::~SCalendarMenuView() +{ + +} + +void SCalendarMenuView::paintEvent(QPaintEvent *event) +{ + QPainter painter(this); + QSize nSize = size(); + int nPaddingLeft = 0; + + QRect rectDisplay = QRect(nPaddingLeft, 0, nSize.width()-nPaddingLeft, nSize.height()); + + QColor colorBackground; + + if(m_bSelected==false) + { + colorBackground = Qt::white; + } + else + { + colorBackground = Qt::gray; + } + + painter.fillRect(rectDisplay, colorBackground); + + + nPaddingLeft = 20; + rectDisplay = QRect(nPaddingLeft, 0, nSize.width()-nPaddingLeft, nSize.height()); + + QFont font("Roboto"); + font.setPixelSize(m_nFontSize); + + painter.setFont(font); + + painter.setPen(Qt::black); + painter.drawText(rectDisplay, Qt::AlignLeft | Qt::AlignVCenter, m_strText); +} + +void SCalendarMenuView::mousePressEvent(QMouseEvent *event) +{ + +} + +void SCalendarMenuView::mouseReleaseEvent(QMouseEvent *event) +{ + Select(); + update(); + ExecuteMenu(m_nID); +} + +void SCalendarMenuView::SetText(QString strText) +{ + m_strText = strText; +} + +void SCalendarMenuView::SetID(int nID) +{ + m_nID = nID; +} + +void SCalendarMenuView::SetData(int nID, QString strText) +{ + SetText(strText); + SetID(nID); +} + +int SCalendarMenuView::GetID() +{ + return m_nID; +} + +void SCalendarMenuView::Select() +{ + m_bSelected = true; +} + +void SCalendarMenuView::Unselect() +{ + m_bSelected = false; +} + +bool SCalendarMenuView::IsSelected() +{ + return m_bSelected; +} + + +void SCalendarMenuView::SetFontSize(int nFontSize) +{ + m_nFontSize = nFontSize; +} diff --git a/scalendarmenuview.h b/scalendarmenuview.h new file mode 100644 index 0000000..8d627c5 --- /dev/null +++ b/scalendarmenuview.h @@ -0,0 +1,42 @@ +#ifndef SCALENDARMENUVIEW_H +#define SCALENDARMENUVIEW_H + +#include +#include + +class SCalendarMenuView : public QWidget +{ + Q_OBJECT +public: + explicit SCalendarMenuView(QWidget *parent = nullptr); + virtual ~SCalendarMenuView(); + + virtual void paintEvent(QPaintEvent *event); + virtual void mousePressEvent(QMouseEvent *event); + virtual void mouseReleaseEvent(QMouseEvent *event); + + void SetText(QString strText); + void SetID(int nID); + void SetData(int nID, QString strText); + + int GetID(); + + void Select(); + void Unselect(); + bool IsSelected(); + + void SetFontSize(int nFontSize); + +protected: + int m_nID; + QString m_strText; + bool m_bSelected; + + int m_nFontSize; + +signals: + void ExecuteMenu(int nID); + +}; + +#endif // SCALENDARMENUVIEW_H diff --git a/scurl.cpp b/scurl.cpp new file mode 100644 index 0000000..7816f5c --- /dev/null +++ b/scurl.cpp @@ -0,0 +1,435 @@ +#include "scurl.h" + +#include +#include +#include + +int SCURL::m_nUsage = 0; + +quint64 SCURL::m_nFileSize = 0; +quint64 SCURL::m_nCurrentRead = 0; + +int SCURL::m_nPrevCount = 0; +int SCURL::m_nErrorCount = 0; + + +#include +#include +#include +#include +#ifdef WIN32 +#include +#else +#include +#endif + +#include + +#include "mainwindow.h" + +/* + * Performs an FTP upload and renames the file just after a successful + * transfer. + * + */ + +SCURL* g_pThis = NULL; + + +typedef struct _GlobalInfo +{ + CURLM *multi; + int still_running; +} GlobalInfo; + +/* Information associated with a specific easy handle */ +typedef struct _ConnInfo +{ + CURL *easy; + char *url; + GlobalInfo *global; + char error[CURL_ERROR_SIZE]; +} ConnInfo; + + + +static curl_socket_t opensocket(void *clientp, + curlsocktype purpose, + struct curl_sockaddr *address) +{ + g_pThis->m_SocketFD = *(curl_socket_t *)clientp; + /* the actual externally set socket is passed in via the OPENSOCKETDATA + option */ + return g_pThis->m_SocketFD; +} + +static int sockopt_callback(void *clientp, curl_socket_t curlfd, + curlsocktype purpose) +{ + /* This return code was added in libcurl 7.21.5 */ + return CURL_SOCKOPT_ALREADY_CONNECTED; +} + + + + + +//static size_t read_callback(char *ptr, size_t size, size_t nmemb, void *stream) +size_t SCURL::read_callback(char *ptr, size_t size, size_t nmemb, void *stream) +{ + unsigned long nread; + /* in real-world cases, this would probably get this data differently + as this fread() stuff is exactly what the library already would do + by default internally */ + size_t retcode = fread(ptr, size, nmemb, (FILE*)stream); + + m_nCurrentRead += retcode; + + g_pThis->SetProgressExportPercent(m_nCurrentRead, m_nFileSize); + + usleep(10); + + if(retcode > 0) + { + nread = (unsigned long)retcode; + //fprintf(stderr, "*** We read %lu bytes from file\n", nread); + } + + return retcode; +} + +int SCURL::CurlProgress(void *clientp, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow) +{ + + if(g_pThis->m_bStop==true) + { + curl_socket_t sockfd; + auto res = curl_easy_getinfo(g_pThis->m_pCURL, CURLINFO_ACTIVESOCKET, &sockfd); + // ASSERT_EQ(res, CURLE_OK); - no point in doing anything if the socket is not there + close(sockfd); + curl_easy_reset( g_pThis->m_pCURL ); + return CURLE_UNRECOVERABLE_POLL; + } + + if( dltotal > 0 || dlnow > 0 || ultotal > 0 || ulnow > 0) + { + g_pThis->m_nFileSize = ultotal; + g_pThis->m_nCurrentRead = ulnow; + + if(g_pThis->m_nCurrentRead==g_pThis->m_nPrevCount) + { + g_pThis->m_nErrorCount++; + + if(g_pThis->m_nErrorCount>5) + { + curl_socket_t sockfd; + auto res = curl_easy_getinfo(g_pThis->m_pCURL, CURLINFO_ACTIVESOCKET, &sockfd); + // ASSERT_EQ(res, CURLE_OK); - no point in doing anything if the socket is not there + close(sockfd); + curl_easy_reset( g_pThis->m_pCURL ); + return CURLE_UNRECOVERABLE_POLL; + } + } + else + { + g_pThis->m_nErrorCount = 0; + } + + g_pThis->m_nPrevCount = ulnow; + + + //static int m_nPrevCount; + //static int m_nErrorCount; + //fprintf(stderr, "Up: %d/%d\n", ulnow, ultotal); + //CryLogAlways("UP: %" CURL_FORMAT_CURL_OFF_T " of %" CURL_FORMAT_CURL_OFF_T " DOWN: %" CURL_FORMAT_CURL_OFF_T " of %" CURL_FORMAT_CURL_OFF_T "\r\n", ulnow, ultotal, dlnow, dltotal); + } + return CURLE_OK; +} + +SCURL::SCURL() +{ + m_nUsage++; + g_pThis = this; + + m_bStop = false; + + connect(&m_Timer, SIGNAL(timeout()), this, SLOT(OnTimer())); +} + +SCURL::~SCURL() +{ + m_nUsage--; + + disconnect(&m_Timer, SIGNAL(timeout()), this, SLOT(OnTimer())); +} + +void SCURL::OnTimer() +{ + if(m_nPrevCount==m_nCurrentRead) + { + m_nErrorCount++; + + if(m_nErrorCount>2) + { + curl_easy_reset( m_pCURL ); + m_Timer.stop(); + } + } + else + { + m_nErrorCount = 0; + } + m_nPrevCount = m_nCurrentRead; +} + +void SCURL::Init() +{ + curl_global_init(CURL_GLOBAL_ALL); +} + +void SCURL::Release() +{ + curl_global_cleanup(); +} + +int SCURL::UploadFTP2(QString strFilename) +{ + return 0; +} + +int SCURL::UploadFTP(QString strFilename) +{ + if(IsConnectNetwork()==false) + { + return -11; + } + + CURLcode res; + FILE *hd_src; + struct stat file_info; + unsigned long fsize; + + struct curl_slist *headerlist = NULL; + //static const char buf_1 [] = "RNFR " UPLOAD_FILE_AS; + //static const char buf_2 [] = "RNTO " RENAME_FILE_TO; + + QFileInfo fi(strFilename); + QString strFile = fi.fileName(); + + QString strPath = fi.path(); + + strPath = strPath.replace("/data/video/", ""); + + int nRet = 0; + + CommonData* pCommonData = MainWindow::GetCommonData(); + NetworkShareInfo* pShareInfo = pCommonData->GetNetworkShareInfo(); + + QString strID; + QString strPassword; + int nPort = 21; + bool bUseSSL = false; + + strID = pShareInfo->m_strID; + strPassword = pShareInfo->m_strPassword; + nPort = pShareInfo->m_strIP.toInt(); + QString strTargetFolder = pShareInfo->m_strShareFolder; + + if(pShareInfo->m_strVersion.contains("SSL")==true) + { + bUseSSL = true; + } + + + //QString strUrl = QString("ftp://192.168.1.19/OK/%1/%2").arg(strPath).arg(strFile); + QString strUrl = QString("%1/%2/%3").arg(strTargetFolder).arg(strPath).arg(strFile); + + + + /* get the file size of the local file */ + if(stat(strFilename.toStdString().c_str(), &file_info)) { + printf("Couldn't open '%s': %s\n", strFilename.toStdString().c_str(), strerror(errno)); + return -1; + } + fsize = (unsigned long)file_info.st_size; + + m_nFileSize = fsize; + m_nCurrentRead = 0; + m_nErrorCount = 0; + m_nPrevCount = -1; + + SetProgressExportPercent(m_nCurrentRead, m_nFileSize); + + printf("Local file size: %lu bytes.\n", fsize); + + /* get a FILE * of the same file */ + hd_src = fopen(strFilename.toStdString().c_str(), "rb"); + + + /* get a curl handle */ + m_pCURL = curl_easy_init(); + + + if(m_pCURL) { + + /* build a list of commands to pass to libcurl */ + //headerlist = curl_slist_append(headerlist, strFileFrom.toStdString().c_str()); + //headerlist = curl_slist_append(headerlist, strFileTo.toStdString().c_str()); + + /* call this function to get a socket */ + //curl_easy_setopt(curl, CURLOPT_OPENSOCKETFUNCTION, opensocket); + //curl_easy_setopt(curl, CURLOPT_OPENSOCKETDATA, &m_SocketFD); + + /* call this function to set options for the socket */ + //curl_easy_setopt(curl, CURLOPT_SOCKOPTFUNCTION, sockopt_callback); + + curl_easy_setopt(m_pCURL, CURLOPT_CONNECTTIMEOUT_MS, 1000L); //1 Second + curl_easy_setopt(m_pCURL, CURLOPT_TIMEOUT_MS, 1000*60*10); //10 Minutes + + curl_easy_setopt(m_pCURL, CURLOPT_PROTOCOLS, CURLPROTO_FTP); + + /* we want to use our own read function */ + curl_easy_setopt(m_pCURL, CURLOPT_READFUNCTION, read_callback); + + /* enable uploading */ + curl_easy_setopt(m_pCURL, CURLOPT_UPLOAD, 1L); + + /* specify target */ + curl_easy_setopt(m_pCURL, CURLOPT_URL, strUrl.toStdString().c_str()); + + /* now specify which file to upload */ + curl_easy_setopt(m_pCURL, CURLOPT_READDATA, hd_src); + + /* Set the size of the file to upload (optional). If you give a *_LARGE + option you MUST make sure that the type of the passed-in argument is a + curl_off_t. If you use CURLOPT_INFILESIZE (without _LARGE) you must + make sure that to pass in a type 'long' argument. */ + curl_easy_setopt(m_pCURL, CURLOPT_INFILESIZE_LARGE, + (curl_off_t)fsize); + + + curl_easy_setopt(m_pCURL, CURLOPT_FTP_CREATE_MISSING_DIRS, + (long)CURLFTP_CREATE_DIR); + + //curl_easy_setopt(curl, CURLOPT_USERNAME, "birdhead"); + //curl_easy_setopt(curl, CURLOPT_PASSWORD, "1"); + curl_easy_setopt(m_pCURL, CURLOPT_USERNAME, strID.toStdString().c_str()); + curl_easy_setopt(m_pCURL, CURLOPT_PASSWORD, strPassword.toStdString().c_str()); + curl_easy_setopt(m_pCURL, CURLOPT_PORT, nPort); + //curl_easy_setopt(m_pCURL, CURLOPT_VERBOSE, 1L); + curl_easy_setopt(m_pCURL, CURLOPT_VERBOSE, 0L); + curl_easy_setopt(m_pCURL, CURLOPT_LOGIN_OPTIONS, "AUTH=LOGIN"); + + if(bUseSSL==true) + { + //curl_easy_setopt(m_pCURL, CURLOPT_FTP_USE_EPSV, 0L); + + /* require use of SSL for this, or fail */ + curl_easy_setopt(m_pCURL, CURLOPT_USE_SSL, (long)CURLUSESSL_ALL); + + //curl_easy_setopt(m_pCURL, CURLOPT_FTPPORT, nPort); + + curl_easy_setopt(m_pCURL, CURLOPT_SSL_VERIFYPEER, 0L); + curl_easy_setopt(m_pCURL, CURLOPT_SSL_VERIFYHOST, 0L); + + + //curl_easy_setopt(m_pCURL, CURLOPT_FTP_SSL, CURLFTPSSL_ALL); + curl_easy_setopt(m_pCURL, CURLOPT_FTP_SSL, CURLFTPSSL_TRY); + curl_easy_setopt(m_pCURL, CURLOPT_FTPSSLAUTH, CURLFTPAUTH_TLS); + curl_easy_setopt(m_pCURL, CURLOPT_NOPROGRESS, 0L); + + //curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); + //curl_setopt($ch, CURLOPT_FTP_SSL, true); + //curl_setopt($ch, CURLOPT_VERBOSE, true); + } + else + { + curl_easy_setopt(m_pCURL, CURLOPT_NOPROGRESS, 0L); + } + + //curl_easy_setopt(m_pCURL, CURLOPT_TIMEOUT, 1L); + + curl_easy_setopt(m_pCURL, CURLOPT_XFERINFOFUNCTION, CurlProgress); + + //m_Timer.setSingleShot(true); + //m_Timer.start(500); + /* Now run off and do what you have been told! */ + res = curl_easy_perform(m_pCURL); + //m_Timer.stop(); + /* Check for errors */ + if(res != CURLE_OK) + { + fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); + + nRet = -res; + } + + /* clean up the FTP commands list */ + curl_slist_free_all(headerlist); + + /* always cleanup */ + curl_easy_cleanup(m_pCURL); + } + fclose(hd_src); /* close the local file */ + + return nRet; +} + + +bool SCURL::IsConnectNetwork() +{ + bool bIsConnect = false; + + QList listNetworkInterface = QNetworkInterface::allInterfaces(); + + int nCount = listNetworkInterface.size(); + int i=0; + for(i=0 ; i listNetworkAddresssEntry = ni.addressEntries(); + + if(nType==QNetworkInterface::Ethernet) + { + if(strName.contains("eth")==true) + { + if(listNetworkAddresssEntry.size()==0) + { + bIsConnect = false; + } + else + { + bIsConnect = true; + /* + int j=0; + for(j=0 ; j +#include + +#include "curl/curl.h" + +class SCURL : public QObject +{ + Q_OBJECT +public: + SCURL(); + + virtual ~SCURL(); + + static void Init(); + static void Release(); + + static size_t read_callback(char *ptr, size_t size, size_t nmemb, void *stream); + + int UploadFTP(QString strFilename); + + int UploadFTP2(QString strFilename); + + void StopCURL(); + + curl_socket_t m_SocketFD; + + + static int CurlProgress(void *clientp, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow); + + static bool IsConnectNetwork(); + + +signals: + void SetProgressExportPercent(quint64 nCurrent, quint64 nTotal); + +public slots: + void OnTimer(); + +protected: + static int m_nUsage; + + static quint64 m_nFileSize; + static quint64 m_nCurrentRead; + + CURL* m_pCURL; + + QTimer m_Timer; + + static int m_nPrevCount; + static int m_nErrorCount; + + bool m_bStop; + +}; + +#endif // SCURL_H diff --git a/sdatabase.cpp b/sdatabase.cpp new file mode 100644 index 0000000..01fe252 --- /dev/null +++ b/sdatabase.cpp @@ -0,0 +1,2051 @@ +#include "sdatabase.h" + +#include + +#include +#include +#include +#include +#include +#include + +#include "mainwindow.h" + +uint64_t SDatabase::m_nUsage = 0; + +using namespace SUTIL; + +SDatabase::SDatabase(const QString& connectionName, QObject *parent) + : QObject(parent), m_connectionName(connectionName) +{ + m_nUsage++; +} + +SDatabase::~SDatabase() +{ + CloseDatabase(); + QSqlDatabase::removeDatabase(m_connectionName); +} + +QString SDatabase::connectionName() +{ + return m_connectionName; +} + +int SDatabase::OpenDatabase(QString strFilename) +{ + // 현재 스레드에 대한 데이터베이스 커넥션을 가져오거나 추가합니다. + QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE", m_connectionName); + db.setDatabaseName(strFilename); + + // SQLite가 busy 상태일 때 5초간 대기하도록 설정 (기존의 tryLock 로직 대체) + db.setConnectOptions("QSQLITE_BUSY_TIMEOUT=5000"); + + if (!db.open()) { + qCritical() << "Database connection error:" << db.lastError().text(); + return -1; // 실패 + } + + // 처음 DB 파일을 생성하는 경우 테이블 초기화 + if (db.tables().isEmpty()) { + qInfo() << "First time opening the database. Initializing tables..."; + MakeTableDataInfo(); + MakeAcquisitionTempTable(); + + // ExecuteNonQuery는 아래에 새로 정의된 함수입니다. + ExecuteNonQuery("insert into ConnectionInfo (WorklistPort) values (0);"); + ExecuteNonQuery("insert into AdvancedSetting (EnableNetworkShare) values ('Disabled');"); + ExecuteNonQuery("insert into LoginUser (LoginID, LoginPassword) values ('admin', 'smartquadra')"); + + MakeViewTable(); + } + + // PRAGMA 설정 (QSqlQuery 사용) + QSqlQuery query(db); + query.exec("PRAGMA synchronous = FULL;"); + query.exec("PRAGMA page_size = 4096;"); + query.exec("PRAGMA cache_size = 16384;"); + query.exec("PRAGMA temp_store = MEMORY;"); + query.exec("PRAGMA journal_mode = WAL;"); + query.exec("PRAGMA locking_mode = NORMAL;"); + + if(m_nUsage==1) + { + query.exec("VACUUM;"); + } + + // 나머지 초기화 로직 (Check...Table, MakeViewTable 등) + CheckAdavancedTable(); + CheckLoginTable(); + //MakeAcquisitionTempTable(); + //MakeViewTable(); + + return 0; // 성공 + +} + +void SDatabase::CloseDatabase() +{ + if (QSqlDatabase::contains(m_connectionName)) { + QSqlDatabase db = QSqlDatabase::database(m_connectionName, false); // false: 존재하지 않으면 경고 출력 안함 + if (db.isOpen()) { + db.close(); + } + } + +} + + + +// SELECT 쿼리 실행 +bool SDatabase::ExecuteQuery(const QString& strQuery, QList& resultList) +{ + // 이 함수는 SQL Injection에 취약하므로, 아래의 파라미터 바인딩 버전을 사용하는 것이 좋습니다. + return ExecuteQuery(strQuery, QVariantList(), resultList); +} + +// INSERT, UPDATE, DELETE 등 결과가 필요 없는 쿼리 실행 +bool SDatabase::ExecuteNonQuery(const QString& strQuery) +{ + // 이 함수는 SQL Injection에 취약하므로, 아래의 파라미터 바인딩 버전을 사용하는 것이 좋습니다. + return ExecuteNonQuery(strQuery, QVariantList()); +} + +// (추천) 파라미터 바인딩을 사용하는 SELECT 쿼리 실행 +bool SDatabase::ExecuteQuery(const QString& strQuery, const QVariantList& params, QList& resultList) +{ + m_bExecute = true; + SDatabase::DeleteListReponse(resultList); // 이전 결과 초기화 + + QSqlDatabase db = QSqlDatabase::database(m_connectionName); + if (!db.isOpen()) { + qWarning() << "Query executed on a closed database connection:" << m_connectionName; + m_bExecute = false; + return false; + } + + QSqlQuery query(db); + query.prepare(strQuery); + + // 파라미터 바인딩 + for (int i = 0; i < params.size(); ++i) { + query.bindValue(i, params.at(i)); + } + + if (!query.exec()) { + qWarning() << "Query failed:" << query.lastError().text() << "Query:" << strQuery; + m_bExecute = false; + return false; + } + + int columnCount = query.record().count(); + while (query.next()) { + QStringList* row = new QStringList(); + for (int i = 0; i < columnCount; ++i) { + row->append(query.value(i).toString()); + } + resultList.append(row); + } + + m_bExecute = false; + return true; +} + +// (추천) 파라미터 바인딩을 사용하는 INSERT, UPDATE, DELETE 쿼리 실행 +bool SDatabase::ExecuteNonQuery(const QString& strQuery, const QVariantList& params) +{ + m_bExecute = true; + QSqlDatabase db = QSqlDatabase::database(m_connectionName); + if (!db.isOpen()) { + qWarning() << "Query executed on a closed database connection:" << m_connectionName; + m_bExecute = false; + return false; + } + + QSqlQuery query(db); + query.prepare(strQuery); + + // 파라미터 바인딩 + for (int i = 0; i < params.size(); ++i) { + query.bindValue(i, params.at(i)); + } + + if (!query.exec()) { + qWarning() << "Non-query failed:" << query.lastError().text() << "Query:" << strQuery; + m_bExecute = false; + return false; + } + + m_bExecute = false; + return true; +} + +void SDatabase::MakeTableUser() +{ + ExecuteNonQuery("DROP TABLE IF EXISTS LoginUser; \ + CREATE TABLE LoginUser (\ + `ID` INTEGER Primary Key AutoIncrement UNIQUE,\ + `ModifyDateTime` DateTime DEFAULT (datetime('now','localtime')),\ + `LoginID` varchar(32) DEFAULT '',\ + `LoginPassword` varchar(32) DEFAULT '',\ + `ConnectionInfoIndex` int(10) DEFAULT '1',\ + `AdvancedSettingIndex` int(10) DEFAULT '1');"); +} + +void SDatabase::MakeAcquisitionTempTable() +{ + ExecuteNonQuery( /*"DROP TABLE IF EXISTS AcquisitionTemp; \*/ + "CREATE TABLE IF NOT EXISTS AcquisitionTemp (\ + `ID` INTEGER Primary Key AutoIncrement UNIQUE,\ + `CreateDateTime` DateTime DEFAULT (datetime('now','localtime')),\ + `StudyIndex` int DEFAULT 0,\ + `SeriesIndex` int DEFAULT 0,\ + `ImageNumber` int DEFAULT 0,\ + `ImageDelete` int DEFAULT 0,\ + `ImageStorage` int DEFAULT 0,\ + `ImageSend` int DEFAULT 0,\ + `FileType` int DEFAULT 0,\ + `ImageInstanceUID` varchar(256) DEFAULT '' UNIQUE,\ + `FileLocation` varchar(512) DEFAULT '', \ + `ImageType` varchar(10) DEFAULT '0', \ + `AcquisitionDate` varchar(10) DEFAULT '', \ + `AcquisitionTime` varchar(16) DEFAULT '', \ + `ContentDate` varchar(10) DEFAULT '', \ + `ContentTime` varchar(16) DEFAULT '', \ + `AcquisitionNumber` int DEFAULT 0, \ + `InstanceNumber` int DEFAULT 0, \ + `PatientOrientation` varchar(8) DEFAULT '', \ + `ImageLaterality` varchar(2) DEFAULT '', \ + `ImageComments` varchar(512) DEFAULT '');"); + +} + +void SDatabase::MakeTableAdvancedSetting() +{ + ExecuteNonQuery("DROP TABLE IF EXISTS AdvancedSetting; \ + CREATE TABLE AdvancedSetting (\ + `ID` INTEGER Primary Key AutoIncrement UNIQUE,\ + `ModifyDateTime` DateTime DEFAULT (datetime('now','localtime')),\ + `AutoCaptureSendDICOM` INTEGER DEFAULT '0',\ + `AutoCloseSendFinish` INTEGER DEFAULT '0',\ + `AutoExitCaptureSendDICOM` INTEGER DEFAULT '0',\ + `AutoLogin` INTEGER DEFAULT '1',\ + `DICOMCharacterSet` varchar(16) DEFAULT 'EUC-KR',\ + `AutoVideoCapture` INTEGER DEFAULT '0',\ + `DICOMCompress` INTEGER DEFAULT '0',\ + `VideoMode` INTEGER DEFAULT '0',\ + `CropMode` INTEGER DEFAULT '0',\ + `ScreenSaverTime` INTEGER DEFAULT '0',\ + `UseFixWidthLevel` INTEGER DEFAULT '0',\ + `UseLogLevel` INTEGER DEFAULT '0',\ + `EnableNetworkShare` varchar(10) DEFAULT 'Disabled',\ + `NetworkAutoSend` varchar(10) DEFAULT 'Disabled',\ + `NetworkShareIP` varchar(32) DEFAULT '127.0.0.1',\ + `NetworkShareFolder` varchar(256) DEFAULT 'Share Folder',\ + `NetworkSMBVersion` varchar(10) DEFAULT 'SMB Version',\ + `NetworkShareID` varchar(256) DEFAULT 'Share ID',\ + `NetworkSharePassword` varchar(256) DEFAULT 'Share Password',\ + `USBBackup` INTEGER DEFAULT '0');"); +} + +void SDatabase::MakeTableReserved() +{ + ExecuteNonQuery("DROP TABLE IF EXISTS SReserveTable; \ + CREATE TABLE SReserveTable (\ + `ID` INTEGER Primary Key AutoIncrement UNIQUE,\ + `Reserve1` varchar(10) DEFAULT '',\ + `Reserve2` varchar(10) DEFAULT '',\ + `Reserve3` varchar(10) DEFAULT '',\ + `Reserve4` varchar(10) DEFAULT '',\ + `Reserve5` varchar(10) DEFAULT '',\ + `Reserve6` varchar(10) DEFAULT '',\ + `Reserve7` varchar(10) DEFAULT '',\ + `Reserve8` varchar(10) DEFAULT '',\ + `Reserve9` varchar(10) DEFAULT '',\ + `Reserve10` varchar(10) DEFAULT '',\ + `Reserve11` varchar(10) DEFAULT '',\ + `Reserve12` varchar(10) DEFAULT '',\ + `Reserve13` varchar(10) DEFAULT '',\ + `Reserve14` varchar(10) DEFAULT '',\ + `Reserve15` varchar(10) DEFAULT '',\ + `Reserve16` varchar(10) DEFAULT '',\ + `Reserve17` varchar(10) DEFAULT '',\ + `Reserve18` varchar(10) DEFAULT '',\ + `Reserve19` varchar(10) DEFAULT '',\ + `Reserve20` varchar(10) DEFAULT '');"); +} + +void SDatabase::MakeTableDataInfo() +{ + ExecuteNonQuery("DROP TABLE IF EXISTS ConnectionInfo; \ + CREATE TABLE ConnectionInfo (\ + `ID` INTEGER Primary Key AutoIncrement UNIQUE,\ + `ModifyDateTime` DateTime DEFAULT (datetime('now','localtime')),\ + `WorklistServerIP` varchar(15) DEFAULT '',\ + `WorklistPort` int(10) DEFAULT '0',\ + `WorklistServerTitle` varchar(64) DEFAULT '',\ + `WorklistClientTitle` varchar(64) DEFAULT '',\ + `StorageServerIP` varchar(15) DEFAULT '',\ + `StoragePort` int(10) DEFAULT '0',\ + `StorageServerTitle` varchar(64) DEFAULT '',\ + `StorageClientTitle` varchar(64) DEFAULT '',\ + `Modality` varchar(10) DEFAULT 'ES',\ + `HospitalName` varchar(64) DEFAULT '',\ + `StationName` varchar(64) DEFAULT '',\ + `EnableLog` varchar(10) DEFAULT 'Disabled',\ + `LocalImageFolder` varchar(256) DEFAULT '/work/test/storage',\ + `LocalLogFolder` varchar(256) DEFAULT '/work/test',\ + `LocalHistoryFolder` varchar(256) DEFAULT '/work/test');"); + + ExecuteNonQuery("DROP TABLE IF EXISTS Patient; \ + CREATE TABLE Patient (\ + `ID` INTEGER Primary Key AutoIncrement UNIQUE,\ + `CreateDateTime` DateTime DEFAULT (datetime('now','localtime')),\ + `PatientName` varchar(32) DEFAULT '',\ + `PatientAge` varchar(16) DEFAULT '',\ + `PatientID` varchar(32) DEFAULT '', \ + `PatientSex` varchar(8) DEFAULT '', \ + `PatientBirthDate` varchar(10) DEFAULT '', \ + `PatientBirthTime` varchar(16) DEFAULT '', \ + `PatientWeight` varchar(8) DEFAULT '', \ + `PatientComments` varchar(16) DEFAULT '');"); + + + ExecuteNonQuery("DROP TABLE IF EXISTS Study; \ + CREATE TABLE Study (\ + `ID` INTEGER Primary Key AutoIncrement UNIQUE,\ + `CreateDateTime` DateTime DEFAULT (datetime('now','localtime')),\ + `StudyInstanceUID` varchar(256) DEFAULT '' UNIQUE,\ + `PatientIndex` int DEFAULT 0,\ + `PatientLocation` varchar(8) DEFAULT '', \ + `StudyDate` varchar(10) DEFAULT '', \ + `StudyTime` varchar(16) DEFAULT '', \ + `StudyCodeValue` varchar(64) DEFAULT '', \ + `AccessionNumber` varchar(64) DEFAULT '', \ + `StudyDescription` varchar(256) DEFAULT '', \ + `ReferringPhysiciansName` varchar(32) DEFAULT '');"); + + ExecuteNonQuery("DROP TABLE IF EXISTS Series; \ + CREATE TABLE Series (\ + `ID` INTEGER Primary Key AutoIncrement UNIQUE,\ + `CreateDateTime` DateTime DEFAULT (datetime('now','localtime')),\ + `StudyIndex` int DEFAULT 0,\ + `SeriesDate` varchar(10) DEFAULT '', \ + `SeriesTime` varchar(16) DEFAULT '', \ + `SeriesNumber` int DEFAULT 0,\ + `SeriesInstanceUID` varchar(256) DEFAULT '' UNIQUE,\ + `Modality` varchar(8) DEFAULT '', \ + `BodyPartExamined` varchar(32) DEFAULT '', \ + `SeriesDescription` varchar(256) DEFAULT '', \ + `OperatorsName` varchar(64) DEFAULT '');"); + + + ExecuteNonQuery("DROP TABLE IF EXISTS Image; \ + CREATE TABLE Image (\ + `ID` INTEGER Primary Key AutoIncrement UNIQUE,\ + `CreateDateTime` DateTime DEFAULT (datetime('now','localtime')),\ + `StudyIndex` int DEFAULT 0,\ + `SeriesIndex` int DEFAULT 0,\ + `ImageNumber` int DEFAULT 0,\ + `ImageDelete` int DEFAULT 0,\ + `ImageStorage` int DEFAULT 0,\ + `ImageSend` int DEFAULT 0,\ + `FileType` int DEFAULT 0,\ + `ImageInstanceUID` varchar(256) DEFAULT '' UNIQUE,\ + `FileLocation` varchar(512) DEFAULT '', \ + `ImageType` varchar(10) DEFAULT '0', \ + `AcquisitionDate` varchar(10) DEFAULT '', \ + `AcquisitionTime` varchar(16) DEFAULT '', \ + `ContentDate` varchar(10) DEFAULT '', \ + `ContentTime` varchar(16) DEFAULT '', \ + `AcquisitionNumber` int DEFAULT 0, \ + `InstanceNumber` int DEFAULT 0, \ + `PatientOrientation` varchar(8) DEFAULT '', \ + `ImageLaterality` varchar(2) DEFAULT '', \ + `ImageComments` varchar(512) DEFAULT '');"); + + ExecuteNonQuery("DROP TABLE IF EXISTS WorklistTableHeader; \ + CREATE TABLE WorklistTableHeader (\ + `ID` INTEGER Primary Key AutoIncrement UNIQUE,\ + `CreateDateTime` DateTime DEFAULT (datetime('now','localtime')),\ + `DefaultIndex` int DEFAULT 0,\ + `DisplayIndex` int DEFAULT 0,\ + `DisplayWidth` int DEFAULT 120,\ + `ValueString` varchar(64) DEFAULT '',\ + `Visible` int DEFAULT 0);"); + + ExecuteNonQuery("DROP TABLE IF EXISTS HistoryTableHeader; \ + CREATE TABLE HistoryTableHeader (\ + `ID` INTEGER Primary Key AutoIncrement UNIQUE,\ + `CreateDateTime` DateTime DEFAULT (datetime('now','localtime')),\ + `DefaultIndex` int DEFAULT 0,\ + `DisplayIndex` int DEFAULT 0,\ + `DisplayWidth` int DEFAULT 120,\ + `ValueString` int DEFAULT 0,\ + `Visible` int DEFAULT 0);"); + + ExecuteNonQuery("DROP VIEW IF EXISTS Storage;" + "CREATE VIEW Storage as select d2.SeriesNumber, d3.ID as ImageIndex, d1.ID as StudyIndex, d2.ID as SeriesIndex, d1.PatientIndex, d2.Modality, d1.StudyDate, d1.StudyTime, d3.FileLocation, d1.StudyInstanceUID, d2.SeriesInstanceUID, d3.ImageInstanceUID, d3.CreateDateTime, d3.ImageDelete, d3.ImageSend, d3.FileType, d3.AcquisitionDate, d3.AcquisitionTime, d3.AcquisitionNumber, d3.ImageStorage from Study as d1 join (Series as d2 join Image as d3 on d3.seriesIndex=d2.id) on d1.id=d2.studyindex;"); + + ExecuteNonQuery("DROP VIEW IF EXISTS StorageInfo;" + "CREATE VIEW StorageInfo as select d1.*, d3.PatientID, d3.PatientName, d3.PatientAge, d3.PatientSex, (select count(*) from Storage as d2 where d1.StudyInstanceUID=d2.StudyInstanceUID) as TotalImageCount from Storage as d1 join Patient as d3 on (d1.PatientIndex=d3.ID)"); + + //ExecuteNonQuery("DROP VIEW IF EXISTS HistoryStudy;" + //"CREATE VIEW HistoryStudy as select d4.ID, d4.PatientIndex, d5.PatientID, d5.PatientName, d5.PatientAge, d5.PatientSex, d5.PatientBirthDate, d5.PatientWeight, d4.CreateDateTime, d4.StudyDate, d4.StudyTime, d4.StudyCodeValue, d4.PatientLocation, d4.AccessionNumber, d4.ReferringPhysiciansName, d4.StudyInstanceUID, d4.SeriesInstanceUID, d4.StudyDescription, d4.SeriesDescription, d4.OperatorsName, d4.ImageCount, d4.ImageSend, d4.Modality, d4.SeriesDate, d4.SeriesTime, d4.SeriesNumber from (select *, (select count(*) from Image as d3 where d3.StudyIndex=d1.ID and d3.ImageDelete=0) as ImageCount, (select sum(ImageSend) from Image as d3 where d3.StudyIndex=d1.ID and d3.ImageDelete=0) as ImageSend from Study as d1 join Series as d2 on (d2.StudyIndex=d1.ID)) as d4 join Patient as d5 on (d4.PatientIndex=d5.ID)"); + + + /* + ExecuteNonQuery("DROP VIEW IF EXISTS HistoryStudy;" + "CREATE VIEW HistoryStudy as " + "select d4.StudyIndex, d4.PatientIndex, d5.PatientID, d5.PatientName, d5.PatientAge, d5.PatientSex, d5.PatientBirthDate, d5.PatientWeight, d4.CreateDateTime, d4.StudyDate, d4.StudyTime, d4.StudyCodeValue, d4.PatientLocation, d4.AccessionNumber, d4.ReferringPhysiciansName, d4.StudyInstanceUID, d4.SeriesInstanceUID, d4.StudyDescription, d4.SeriesDescription, d4.OperatorsName, d4.ImageCount, d4.ImageSend, d4.Modality, d4.SeriesDate, d4.SeriesTime, max(d4.SeriesNumber), d4.VideoCount " + "from (select *, (select count(*) from Image as d3 where d3.StudyIndex=d1.ID and d3.SeriesIndex=1 and d3.ImageDelete=0) as ImageCount, " + "(select count(*) from Image as d3 where d3.StudyIndex=d1.ID and d3.SeriesIndex=2 and d3.ImageDelete=0) as VideoCount, " + "(select sum(ImageSend) from Image as d3 where d3.StudyIndex=d1.ID) as ImageSend " + "from Study as d1 join Series as d2 on (d2.StudyIndex=d1.ID)) as d4 join Patient as d5 on (d4.PatientIndex=d5.ID)"); + + ExecuteNonQuery("DROP VIEW IF EXISTS HistoryStudyWithDelete;" + "CREATE VIEW HistoryStudyWithDelete as " + "select d4.StudyIndex, d4.PatientIndex, d5.PatientID, d5.PatientName, d5.PatientAge, d5.PatientSex, d5.PatientBirthDate, d5.PatientWeight, d4.CreateDateTime, d4.StudyDate, d4.StudyTime, d4.StudyCodeValue, d4.PatientLocation, d4.AccessionNumber, d4.ReferringPhysiciansName, d4.StudyInstanceUID, d4.SeriesInstanceUID, d4.StudyDescription, d4.SeriesDescription, d4.OperatorsName, d4.ImageCount, d4.ImageSend, d4.Modality, d4.SeriesDate, d4.SeriesTime, max(d4.SeriesNumber), d4.VideoCount " + "from (select *, (select count(*) from Image as d3 where d3.StudyIndex=d1.ID and d3.SeriesIndex=1) as ImageCount, " + "(select count(*) from Image as d3 where d3.StudyIndex=d1.ID and d3.SeriesIndex=2) as VideoCount, " + "(select sum(ImageSend) from Image as d3 where d3.StudyIndex=d1.ID) as ImageSend " + "from Study as d1 join Series as d2 on (d2.StudyIndex=d1.ID)) as d4 join Patient as d5 on (d4.PatientIndex=d5.ID)"); + */ + + ExecuteNonQuery("DROP VIEW IF EXISTS HistoryStudy;" + "CREATE VIEW HistoryStudy as " + "select StudyIndex, PatientIndex, PatientID, PatientName, PatientAge, PatientSex, PatientBirthDate, PatientWeight, CreateDateTime, StudyDate, StudyTime, StudyCodeValue, PatientLocation, AccessionNumber, ReferringPhysiciansName, StudyInstanceUID, SeriesInstanceUID, StudyDescription, SeriesDescription, OperatorsName, ImageCount, ImageSendCount, Modality, SeriesDate, SeriesTime, SeriesNumber, VideoCount from (select DISTINCT(d1.ID), d3.StudyIndex, d1.PatientIndex, d4.PatientID, d4.PatientName, d4.PatientAge, d4.PatientSex, d4.PatientBirthDate, d4.PatientWeight, d4.CreateDateTime, d1.StudyDate, d1.StudyTime, d1.StudyCodeValue, d1.PatientLocation, d1.AccessionNumber, d1.ReferringPhysiciansName, d1.StudyInstanceUID, d2.SeriesInstanceUID, d1.StudyDescription, d2.SeriesDescription, d2.OperatorsName, (select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=0 and Image.ImageDelete=0 and Image.ImageSend=1) as ImageSendCount, (select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=0 and Image.ImageDelete=0) as ImageCount, d2.Modality, d2.SeriesDate, d2.SeriesTime, d2.SeriesNumber, (select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=1 and Image.ImageDelete=0) as VideoCount from Study as d1 join Series as d2 on (d1.ID=d2.StudyIndex) join Image as d3 on(d2.ID=d3.SeriesIndex and d2.SeriesNumber=1) join Patient as d4 on (d4.ID=d1.PatientIndex))"); + + + ExecuteNonQuery("DROP VIEW IF EXISTS HistoryStudyWithDelete;" + "CREATE VIEW HistoryStudyWithDelete as " + "select StudyIndex, PatientIndex, PatientID, PatientName, PatientAge, PatientSex, PatientBirthDate, PatientWeight, CreateDateTime, StudyDate, StudyTime, StudyCodeValue, PatientLocation, AccessionNumber, ReferringPhysiciansName, StudyInstanceUID, SeriesInstanceUID, StudyDescription, SeriesDescription, OperatorsName, ImageCount, ImageSend, Modality, SeriesDate, SeriesTime, SeriesNumber, VideoCount from (select DISTINCT(d1.ID), d3.StudyIndex, d1.PatientIndex, d4.PatientID, d4.PatientName, d4.PatientAge, d4.PatientSex, d4.PatientBirthDate, d4.PatientWeight, d4.CreateDateTime, d1.StudyDate, d1.StudyTime, d1.StudyCodeValue, d1.PatientLocation, d1.AccessionNumber, d1.ReferringPhysiciansName, d1.StudyInstanceUID, d2.SeriesInstanceUID, d1.StudyDescription, d2.SeriesDescription, d2.OperatorsName, (select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=0 ) as ImageCount, d3.ImageSend, d2.Modality, d2.SeriesDate, d2.SeriesTime, d2.SeriesNumber, (select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=1) as VideoCount from Study as d1 join Series as d2 on (d1.ID=d2.StudyIndex) join Image as d3 on(d2.ID=d3.SeriesIndex and d2.SeriesNumber=1) join Patient as d4 on (d4.ID=d1.PatientIndex))"); + + + MakeTableAdvancedSetting(); + MakeTableUser(); + + MakeViewTable(); + + + int i=0; + QStringList strList; + strList << "ID" << "Name" << "Sex" << "Weight" << "BirthDate" << "Age" << "Patient Location" << "Study Instance UID" << "Study Description" << "Study Date" << "Study Time" << "Study Create Date" << "Refer Doctor" << "Series Instance UID" << "Operator" << "Modality" << "Bodypart" << "Series Description" << "Instance UID" << "Instance Create Date" << "Instance Create Time" << "Scheduled Date" << "Scheduled Time" << "Procedure Step ID" << "Procedure ID" << "Requested Comments" << "Index" << "Image Count" << "Send Count" << "Movie Count" << "Total Count" << "Accession Number" << "Performing Physician" << "CodeValue"; + + QString strQuery; + for(i=0 ; i SDatabase::QueryWorklistTableHeader() +{ + QList finalList; + QList tempResult; + + QString strQuery = "select DefaultIndex, DisplayIndex, ValueString, Visible, DisplayWidth from WorklistTableHeader order by DisplayIndex asc;"; + + if (ExecuteQuery(strQuery, QVariantList(), tempResult)) + { + for (const QStringList* rowPtr : tempResult) + { + if (rowPtr) { + finalList.append(*rowPtr); + } + } + } + else + { + qWarning() << "QueryWorklistTableHeader failed because ExecuteQuery returned false."; + } + + SDatabase::DeleteListReponse(tempResult); + return finalList; +} + + +QList SDatabase::QueryWorklistTableHeaderVisible() +{ + QList finalList; + QList tempResult; + + // 'Visible=1'을 'Visible=?'로 변경하여 파라미터 바인딩 사용 + QString strQuery = "select DefaultIndex, DisplayIndex, ValueString, DisplayWidth from WorklistTableHeader where Visible=? order by DisplayIndex asc;"; + + QVariantList params; + params << 1; // Visible = 1 + + if (ExecuteQuery(strQuery, params, tempResult)) + { + for (const QStringList* rowPtr : tempResult) { + if (rowPtr) finalList.append(*rowPtr); + } + } + + SDatabase::DeleteListReponse(tempResult); // 메모리 누수 방지 + return finalList; +} + +QList SDatabase::QueryWorklistTableHeaderInvisible() +{ + QList finalList; + QList tempResult; + + QString strQuery = "select DefaultIndex, DisplayIndex, ValueString, DisplayWidth from WorklistTableHeader where Visible=? order by DisplayIndex asc;"; + + QVariantList params; + params << 0; // Visible = 0 + + if (ExecuteQuery(strQuery, params, tempResult)) + { + for (const QStringList* rowPtr : tempResult) { + if (rowPtr) finalList.append(*rowPtr); + } + } + + SDatabase::DeleteListReponse(tempResult); + return finalList; +} + +QList SDatabase::QueryHistoryTableHeader() +{ + QList finalList; + QList tempResult; + + QString strQuery = "select DefaultIndex, DisplayIndex, ValueString, Visible, DisplayWidth from HistoryTableHeader order by DisplayIndex asc;"; + + // 이 쿼리는 파라미터가 없으므로 빈 QVariantList를 전달 + if (ExecuteQuery(strQuery, QVariantList(), tempResult)) + { + for (const QStringList* rowPtr : tempResult) { + if (rowPtr) finalList.append(*rowPtr); + } + } + + SDatabase::DeleteListReponse(tempResult); + return finalList; +} + +QList SDatabase::QueryHistoryTableHeaderVisible() +{ + QList finalList; + QList tempResult; + + QString strQuery = "select DefaultIndex, DisplayIndex, ValueString, DisplayWidth from HistoryTableHeader where Visible=? order by DisplayIndex asc;"; + + QVariantList params; + params << 1; // Visible = 1 + + if (ExecuteQuery(strQuery, params, tempResult)) + { + for (const QStringList* rowPtr : tempResult) { + if (rowPtr) finalList.append(*rowPtr); + } + } + + SDatabase::DeleteListReponse(tempResult); + return finalList; +} + +QList SDatabase::QueryHistoryTableHeaderInvisible() +{ + QList finalList; + QList tempResult; + + QString strQuery = "select DefaultIndex, DisplayIndex, ValueString, DisplayWidth from HistoryTableHeader where Visible=? order by DisplayIndex asc;"; + + QVariantList params; + params << 0; // Visible = 0 + + if (ExecuteQuery(strQuery, params, tempResult)) + { + for (const QStringList* rowPtr : tempResult) { + if (rowPtr) finalList.append(*rowPtr); + } + } + + SDatabase::DeleteListReponse(tempResult); + return finalList; +} + +/* +void SDatabase::Clear() +{ + QList::iterator it; + for(it=m_pResult->begin() ; it!=m_pResult->end() ; ++it) + { + QStringList* pDataList = *it; + if(pDataList!=NULL) + { + pDataList->clear(); + delete pDataList; + + } + } + + m_pResult->clear(); +} +*/ + +int SDatabase::InsertPatient(ACQUISITION_INFO *pAcquisitionInfo) +{ + int nPatientIndex = 0; + QString strPatientID = pAcquisitionInfo->GetPatientInfo()->strPatientID; + QString strPatientName = pAcquisitionInfo->GetPatientInfo()->strPatientName; + + // 1. 먼저 환자가 존재하는지 확인 + QString selectQuery = "select ID from Patient where PatientID=? and PatientName=?;"; + QVariantList selectParams; + selectParams << strPatientID << strPatientName; + + QList listResponse; + if (!ExecuteQuery(selectQuery, selectParams, listResponse)) { + return -1; // 쿼리 실패 + } + + if (listResponse.isEmpty()) { // 환자가 없으면 새로 추가 + SDatabase::DeleteListReponse(listResponse); + + QString insertQuery = "insert into Patient(`PatientID`, `PatientName`, `PatientAge`, `PatientSex`, `PatientBirthDate`, `PatientBirthTime`, `PatientWeight`, `PatientComments`) " + "values (?, ?, ?, ?, ?, ?, ?, ?);"; + QVariantList insertParams; + insertParams << strPatientID + << strPatientName + << pAcquisitionInfo->GetPatientInfo()->strPatientAge + << pAcquisitionInfo->GetPatientInfo()->strPatientSex + << pAcquisitionInfo->GetPatientInfo()->strPatientBirthDate + << pAcquisitionInfo->GetPatientInfo()->strPatientBirthTime + << pAcquisitionInfo->GetPatientInfo()->strPatientWeight + << pAcquisitionInfo->GetPatientInfo()->strPatientComments; + + if (!ExecuteNonQuery(insertQuery, insertParams)) { + return -1; // 삽입 실패 + } + + // 다시 조회해서 새로 생성된 ID를 가져옴 + ExecuteQuery(selectQuery, selectParams, listResponse); + } + + if(!listResponse.isEmpty()) { + nPatientIndex = listResponse.at(0)->at(0).toInt(); + pAcquisitionInfo->m_nIndexPatient = nPatientIndex; + pAcquisitionInfo->GetStudyInfo()->nPatientIndex = nPatientIndex; + } + + SDatabase::DeleteListReponse(listResponse); + return nPatientIndex; +} + +int SDatabase::InsertStudy(ACQUISITION_INFO *pAcquisitionInfo) +{ + int nIndexStudy = 0; + QString strDate; + QString strTime; + + // 1. StudyInstanceUID 준비 (기존 로직과 동일) + QString strStudyInstanceUID = pAcquisitionInfo->GetStudyInfo()->strStudyInstanceUID; + if (strStudyInstanceUID.isEmpty()) { + strStudyInstanceUID = QString("1111.2222.3333.%1").arg(QDateTime::currentDateTime().toString("yyyyMMddhhmmss")); + } + + // 2. 파라미터 바인딩을 사용하여 Study가 이미 존재하는지 안전하게 확인 + QList listResponse; + QString selectQuery = "SELECT ID, StudyDate, StudyTime FROM Study WHERE StudyInstanceUID = ?;"; + QVariantList selectParams; + selectParams << strStudyInstanceUID; + + if (!ExecuteQuery(selectQuery, selectParams, listResponse)) { + // 쿼리 실행 자체가 실패한 경우 + qWarning() << "Failed to execute study selection query."; + SDatabase::DeleteListReponse(listResponse); // 혹시 모를 부분적 할당에 대비해 정리 + return 0; // 혹은 -1과 같은 에러 코드 + } + + if (!listResponse.isEmpty()) + { + // 3. Study가 이미 존재하는 경우: DB에서 정보를 가져옴 + const QStringList* pDataList = listResponse.at(0); + nIndexStudy = pDataList->at(0).toInt(); + strDate = pDataList->at(1); + strTime = pDataList->at(2); + } + else + { + // 4. Study가 없는 경우: 새로 INSERT + QDateTime dt = QDateTime::currentDateTime(); + strDate = dt.toString("yyyyMMdd"); + strTime = dt.toString("hhmmss"); + + QString insertQuery = "INSERT INTO Study(`StudyInstanceUID`, `PatientIndex`, `StudyDate`, `StudyTime`, `StudyCodeValue`, " + "`AccessionNumber`, `PatientLocation`, `StudyDescription`, `ReferringPhysiciansName`) " + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?);"; + + QVariantList insertParams; + insertParams << strStudyInstanceUID + << pAcquisitionInfo->m_nIndexPatient + << strDate + << strTime + << pAcquisitionInfo->GetScheduledDataInfo()->strScheduledCodeValue + << pAcquisitionInfo->GetStudyInfo()->strAccessionNumber + << pAcquisitionInfo->GetPatientInfo()->strPatientLocation + << pAcquisitionInfo->GetStudyInfo()->strStudyDescription + << pAcquisitionInfo->GetStudyInfo()->strReferringPhysiciansName; + + // ExecuteNonQuery 대신 QSqlQuery를 직접 사용하여 lastInsertId()를 가져옵니다. + QSqlDatabase db = QSqlDatabase::database(m_connectionName); + QSqlQuery query(db); + query.prepare(insertQuery); + for (int i = 0; i < insertParams.size(); ++i) { + query.addBindValue(insertParams.at(i)); + } + + if (query.exec()) { + // 5. 효율적인 ID 조회: lastInsertId() 사용 + // 별도의 SELECT 없이 방금 삽입된 행의 ID를 즉시 가져옵니다. + nIndexStudy = query.lastInsertId().toInt(); + } else { + qWarning() << "Study insertion failed:" << query.lastError().text(); + SDatabase::DeleteListReponse(listResponse); + return 0; // 실패 + } + } + + // 6. 공통 로직: pAcquisitionInfo 객체에 최종 정보 업데이트 + if (nIndexStudy > 0) { + pAcquisitionInfo->GetStudyInfo()->strStudyInstanceUID = strStudyInstanceUID; + pAcquisitionInfo->m_nIndexStudy = nIndexStudy; + pAcquisitionInfo->GetStudyInfo()->strStudyDate = strDate.remove('/'); // 포맷팅 + pAcquisitionInfo->GetStudyInfo()->strStudyTime = strTime.remove(':'); // 포맷팅 + pAcquisitionInfo->GetSeriesInfo()->nStudyIndex = nIndexStudy; + } + + // 7. 사용한 메모리 정리 + SDatabase::DeleteListReponse(listResponse); + + return nIndexStudy; +} + +int SDatabase::getOrInsertSeries(ACQUISITION_INFO* pAcquisitionInfo, int seriesNumber) +{ + int nStudyIndex = pAcquisitionInfo->m_nIndexStudy; + int nSeriesIndex = 0; + QString strDate, strTime, strSeriesInstanceUID; + + // 1. 파라미터 바인딩으로 Series 존재 여부 확인 + QList listResponse; + QString selectQuery = "SELECT ID, SeriesInstanceUID, SeriesDate, SeriesTime FROM Series WHERE StudyIndex = ? AND SeriesNumber = ?;"; + + QVariantList selectParams; + selectParams << nStudyIndex << seriesNumber; + + if (!ExecuteQuery(selectQuery, selectParams, listResponse)) { + qWarning() << "Failed to query series for StudyIndex:" << nStudyIndex; + return 0; + } + + if (!listResponse.isEmpty()) { // Series가 이미 존재할 경우 + const QStringList* data = listResponse.at(0); + nSeriesIndex = data->at(0).toInt(); + strSeriesInstanceUID = data->at(1); + strDate = data->at(2); + strTime = data->at(3); + + // m_nAcquisitionImageMax 또는 m_nAcquisitionVideoMax 업데이트 + int maxAcqNum = GetImageMaxAcquisitionNumber(QString::number(nSeriesIndex)); // 이 함수도 리팩토링 필요 + if (seriesNumber == 1) { + pAcquisitionInfo->m_nAcquisitionImageMax = maxAcqNum; + } else { + pAcquisitionInfo->m_nAcquisitionVideoMax = maxAcqNum; + } + + } else { // Series가 없을 경우, 새로 INSERT + QDateTime dt = QDateTime::currentDateTime(); + strDate = dt.toString("yyyyMMdd"); + strTime = dt.toString("hhmmss"); + QString strStudyInstanceUID = pAcquisitionInfo->GetStudyInfo()->strStudyInstanceUID; + strSeriesInstanceUID = QString("%1.%2").arg(strStudyInstanceUID).arg(seriesNumber); + + QString insertQuery = "INSERT INTO Series(`StudyIndex`, `SeriesNumber`, `SeriesInstanceUID`, `Modality`, " + "`BodyPartExamined`, `SeriesDescription`, `OperatorsName`, `SeriesDate`, `SeriesTime`) " + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?);"; + + QVariantList insertParams; + insertParams << nStudyIndex << seriesNumber << strSeriesInstanceUID + << pAcquisitionInfo->GetSeriesInfo()->strModality + << pAcquisitionInfo->GetSeriesInfo()->strBodyPartExamined + << pAcquisitionInfo->GetSeriesInfo()->strSeriesDescription + << pAcquisitionInfo->GetSeriesInfo()->strOperatorsName + << strDate << strTime; + + // lastInsertId()를 위해 QSqlQuery 직접 사용 + QSqlDatabase db = QSqlDatabase::database(m_connectionName); + QSqlQuery query(db); + query.prepare(insertQuery); + for(int i=0; im_nAcquisitionImageMax = 0; + else pAcquisitionInfo->m_nAcquisitionVideoMax = 0; + } else { + qWarning() << "Series insertion failed:" << query.lastError().text(); + SDatabase::DeleteListReponse(listResponse); + return 0; + } + } + + // 공통 로직: ACQUISITION_INFO 객체 업데이트 + if (nSeriesIndex > 0) { + auto seriesInfo = pAcquisitionInfo->GetSeriesInfo(); + seriesInfo->strSeriesInstanceUID = strSeriesInstanceUID.toStdString().c_str(); + seriesInfo->nSeriesNumber = seriesNumber; + seriesInfo->nStudyIndex = nStudyIndex; + seriesInfo->strSeriesDate = strDate.remove('/').toStdString().c_str(); + seriesInfo->strSeriesTime = strTime.remove(':').toStdString().c_str(); + pAcquisitionInfo->GetImageInfo()->nSeriesIndex = nSeriesIndex; + + if (seriesNumber == 1) pAcquisitionInfo->m_nIndexSeries_Image = nSeriesIndex; + else pAcquisitionInfo->m_nIndexSeries_Video = nSeriesIndex; + } + + SDatabase::DeleteListReponse(listResponse); + return nSeriesIndex; +} + +int SDatabase::InsertSeriesImage(ACQUISITION_INFO *pAcquisitionInfo) +{ + return getOrInsertSeries(pAcquisitionInfo, 1); +} + +int SDatabase::InsertSeriesMovie(ACQUISITION_INFO *pAcquisitionInfo) +{ + return getOrInsertSeries(pAcquisitionInfo, 2); +} + +// sdatabase.cpp + +int SDatabase::InsertImage(ACQUISITION_INFO *pAcquisitionInfo) +{ + if (pAcquisitionInfo->m_nIndexSeries_Image == 0) { + return -1; + } + + // 1. 파라미터 바인딩을 위한 준비 + QDateTime dt = QDateTime::currentDateTime(); + QString strAcquisitionDate = dt.toString("yyyyMMdd"); + QString strAcquisitionTime = dt.toString("hhmmss"); + + int nAcquisitionNumber = pAcquisitionInfo->m_nAcquisitionImageMax; // 기존 로직 유지 + QString strStudyInstanceUID = pAcquisitionInfo->GetStudyInfo()->strStudyInstanceUID; + QString strSeriesInstanceUID = QString("%1.1").arg(strStudyInstanceUID); + QString strImageInstanceUID = QString("%1.%2").arg(strSeriesInstanceUID).arg(nAcquisitionNumber); + + QString insertQuery = "INSERT INTO AcquisitionTemp(`SeriesIndex`, `ImageNumber`, `ImageInstanceUID`, `FileLocation`, `StudyIndex`, " + "`AcquisitionDate`, `AcquisitionTime`, `ContentDate`, `ContentTime`, `AcquisitionNumber`, `InstanceNumber`, " + "`PatientOrientation`, `ImageLaterality`, `ImageComments`, `FileType`) " + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"; + + QVariantList params; + params << pAcquisitionInfo->m_nIndexSeries_Image << nAcquisitionNumber << strImageInstanceUID + << pAcquisitionInfo->m_strImageFilename << pAcquisitionInfo->m_nIndexStudy + << strAcquisitionDate << strAcquisitionTime << strAcquisitionDate << strAcquisitionTime + << nAcquisitionNumber << nAcquisitionNumber + << pAcquisitionInfo->GetImageInfo()->strPatientOrientation + << pAcquisitionInfo->GetImageInfo()->strImageLaterality + << pAcquisitionInfo->GetImageInfo()->strImageComments + << 0; // FileType for Image is 0 + + // 2. lastInsertId()를 위해 QSqlQuery 직접 사용 + QSqlDatabase db = QSqlDatabase::database(m_connectionName); + QSqlQuery query(db); + query.prepare(insertQuery); + for(int i=0; iGetImageInfo(); + imageInfo->nAcquisitionNumber = nAcquisitionNumber; + imageInfo->nImageNumber = nAcquisitionNumber; + imageInfo->nInstanceNumber = nAcquisitionNumber; + imageInfo->strAcquisitionDate = strAcquisitionDate.toStdString().c_str(); + imageInfo->strAcquisitionTime = strAcquisitionTime.toStdString().c_str(); + imageInfo->strContentDate = strAcquisitionDate.toStdString().c_str(); + imageInfo->strContentTime = strAcquisitionTime.toStdString().c_str(); + + // 4. 불필요한 SELECT 없이 바로 ID 반환 + return query.lastInsertId().toInt(); + } else { + qWarning() << "Image insertion into AcquisitionTemp failed:" << query.lastError().text(); + return -1; + } + + return query.lastInsertId().toInt(); +} + + +// sdatabase.cpp에 새로운 헬퍼 함수 구현 +int SDatabase::upsertImages(const QString& tableName, ACQUISITION_INFO* pAcquisitionInfo, const vector& listCaptureImage) +{ + // 테이블 이름 유효성 검사 + if (tableName != "AcquisitionTemp" && tableName != "Image") { + qWarning() << "Invalid table name provided to upsertImages:" << tableName; + return -1; + } + + // --- 1. 트랜잭션 시작 --- + if (!BeginTransaction()) { + qWarning() << "upsertImages: Failed to begin transaction."; + return -1; + } + + bool bOverallSuccess = true; + int successCount = 0; + QSqlDatabase qdb = QSqlDatabase::database(m_connectionName); + + // --- 2. 루프 밖에서 UPDATE와 INSERT 쿼리를 미리 준비 (성능 최적화) --- + QSqlQuery updateQuery(qdb); + updateQuery.prepare(QString("UPDATE %1 SET ImageDelete = ?, ImageSend = ? WHERE ImageInstanceUID = ?;").arg(tableName)); + + QSqlQuery insertQuery(qdb); + insertQuery.prepare(QString("INSERT INTO %1 (SeriesIndex, ImageNumber, ImageInstanceUID, FileLocation, StudyIndex, AcquisitionDate, AcquisitionTime, " + "ContentDate, ContentTime, AcquisitionNumber, InstanceNumber, PatientOrientation, ImageLaterality, ImageComments, " + "FileType, ImageDelete, ImageSend) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);").arg(tableName)); + + // --- 3. 이미지 목록을 순회하며 DB 작업 수행 --- + for (const CAPTURE_IMAGE* pCaptureImage : listCaptureImage) + { + // 필요한 변수들 준비 (기존과 동일) + QDateTime dt = QDateTime::currentDateTime(); + QString strAcquisitionDate = dt.toString("yyyyMMdd"); + QString strAcquisitionTime = dt.toString("hhmmss"); + QString strStudyInstanceUID = pAcquisitionInfo->GetStudyInfo()->strStudyInstanceUID; + int nStudyIndex = pAcquisitionInfo->m_nIndexStudy; + int seriesIndex = (pCaptureImage->m_nType == DISPLAY_IMAGE) ? pAcquisitionInfo->m_nIndexSeries_Image : pAcquisitionInfo->m_nIndexSeries_Video; + int seriesNumberForUID = (pCaptureImage->m_nType == DISPLAY_IMAGE) ? 1 : 2; + QString fileLocation = (pCaptureImage->m_nType == DISPLAY_IMAGE) ? pCaptureImage->m_strImageFilename : pCaptureImage->m_strVideoFilename; + QString seriesInstanceUID = QString("%1.%2").arg(strStudyInstanceUID).arg(seriesNumberForUID); + QString imageInstanceUID = QString("%1.%2").arg(seriesInstanceUID).arg(pCaptureImage->m_nAcquisitionNumber); + + // --- 4. 먼저 UPDATE 시도 --- + updateQuery.addBindValue(pCaptureImage->m_bDelete); + updateQuery.addBindValue(pCaptureImage->m_bSend); + updateQuery.addBindValue(imageInstanceUID); + + if (!updateQuery.exec()) { + qWarning() << "upsertImages UPDATE part failed:" << updateQuery.lastError().text(); + bOverallSuccess = false; + break; // 실패 시 즉시 루프 중단 + } + + // --- 5. UPDATE된 행이 없다면, INSERT 실행 --- + if (updateQuery.numRowsAffected() == 0) + { + insertQuery.addBindValue(seriesIndex); + insertQuery.addBindValue(pCaptureImage->m_nAcquisitionNumber); + insertQuery.addBindValue(imageInstanceUID); + insertQuery.addBindValue(fileLocation); + insertQuery.addBindValue(nStudyIndex); + insertQuery.addBindValue(strAcquisitionDate); + insertQuery.addBindValue(strAcquisitionTime); + insertQuery.addBindValue(strAcquisitionDate); // ContentDate + insertQuery.addBindValue(strAcquisitionTime); // ContentTime + insertQuery.addBindValue(pCaptureImage->m_nAcquisitionNumber); // AcquisitionNumber + insertQuery.addBindValue(pCaptureImage->m_nAcquisitionNumber); // InstanceNumber + insertQuery.addBindValue(pAcquisitionInfo->GetImageInfo()->strPatientOrientation); + insertQuery.addBindValue(pAcquisitionInfo->GetImageInfo()->strImageLaterality); + insertQuery.addBindValue(pAcquisitionInfo->GetImageInfo()->strImageComments); + insertQuery.addBindValue(pCaptureImage->m_nType == DISPLAY_IMAGE ? 0 : 1); // FileType + insertQuery.addBindValue(pCaptureImage->m_bDelete); // ImageDelete + insertQuery.addBindValue(pCaptureImage->m_bSend); // ImageSend + + if (!insertQuery.exec()) { + qWarning() << "upsertImages INSERT part failed:" << insertQuery.lastError().text(); + bOverallSuccess = false; + break; // 실패 시 즉시 루프 중단 + } + } + + successCount++; + } + + // --- 6. 최종적으로 트랜잭션 완료 또는 롤백 --- + if (bOverallSuccess) { + Commit(); + } else { + Rollback(); + qWarning() << "upsertImages failed and was rolled back."; + return -1; // 실패 시 에러 코드 반환 + } + + return successCount; +} + +// 이제 Public 함수들은 내부 헬퍼를 호출만 합니다. +int SDatabase::UpdateImageOnAcquistionTemp(ACQUISITION_INFO* pAcquisitionInfo, const vector& listCaptureImage) +{ + if (pAcquisitionInfo->m_nIndexSeries_Image == 0 || pAcquisitionInfo->m_nIndexSeries_Video == 0) return -1; + return upsertImages("AcquisitionTemp", pAcquisitionInfo, listCaptureImage); +} + +int SDatabase::UpdateImage(ACQUISITION_INFO* pAcquisitionInfo, const vector& listCaptureImage) +{ + if (pAcquisitionInfo->m_nIndexSeries_Image == 0 || pAcquisitionInfo->m_nIndexSeries_Video == 0) return -1; + return upsertImages("Image", pAcquisitionInfo, listCaptureImage); +} + +int SDatabase::InsertVideo(ACQUISITION_INFO *pAcquisitionInfo) +{ + if (pAcquisitionInfo->m_nIndexSeries_Video == 0) { + return -1; + } + + QDateTime dt = QDateTime::currentDateTime(); + QString strAcquisitionDate = dt.toString("yyyyMMdd"); + QString strAcquisitionTime = dt.toString("hhmmss"); + + int nAcquisitionNumber = pAcquisitionInfo->m_nAcquisitionVideoMax; + QString strStudyInstanceUID = pAcquisitionInfo->GetStudyInfo()->strStudyInstanceUID; + QString strSeriesInstanceUID = QString("%1.2").arg(strStudyInstanceUID); // Movie Series + QString strImageInstanceUID = QString("%1.%2").arg(strSeriesInstanceUID).arg(nAcquisitionNumber); + + // 파일명 처리 (기존 로직 유지) + QString strInsertVideoFileName = pAcquisitionInfo->m_strVideoFilename; + strInsertVideoFileName.replace(MOVIE_FILE_EXTENSION, ""); + strInsertVideoFileName += "_00000" MOVIE_FILE_EXTENSION; + + QString insertQuery = "INSERT INTO AcquisitionTemp(`SeriesIndex`, `ImageNumber`, `ImageInstanceUID`, `FileLocation`, `StudyIndex`, " + "`AcquisitionDate`, `AcquisitionTime`, `ContentDate`, `ContentTime`, `AcquisitionNumber`, `InstanceNumber`, " + "`PatientOrientation`, `ImageLaterality`, `ImageComments`, `FileType`) " + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"; + + QVariantList params; + params << pAcquisitionInfo->m_nIndexSeries_Video << nAcquisitionNumber << strImageInstanceUID + << strInsertVideoFileName << pAcquisitionInfo->m_nIndexStudy + << strAcquisitionDate << strAcquisitionTime << strAcquisitionDate << strAcquisitionTime + << nAcquisitionNumber << nAcquisitionNumber + << pAcquisitionInfo->GetImageInfo()->strPatientOrientation + << pAcquisitionInfo->GetImageInfo()->strImageLaterality + << pAcquisitionInfo->GetImageInfo()->strImageComments + << 1; // FileType for Video is 1 + + QSqlDatabase db = QSqlDatabase::database(m_connectionName); + QSqlQuery query(db); + query.prepare(insertQuery); + for(int i=0; iGetImageInfo(); + imageInfo->nAcquisitionNumber = nAcquisitionNumber; + imageInfo->nImageNumber = nAcquisitionNumber; + imageInfo->nInstanceNumber = nAcquisitionNumber; + // ... 다른 info 업데이트 ... + return query.lastInsertId().toInt(); // SELECT 없이 바로 ID 반환 + } else { + qWarning() << "Video insertion into AcquisitionTemp failed:" << query.lastError().text(); + return -1; + } +} + +/* +QList* SDatabase::GetResult() +{ + return m_pResult; +} +*/ + +QVariant SDatabase::executeScalar(const QString& query, const QVariantList& params) +{ + QSqlDatabase db = QSqlDatabase::database(m_connectionName); + if (!db.isOpen()) return QVariant(); + + QSqlQuery sqlQuery(db); + sqlQuery.prepare(query); + for(int i=0; im_strStudyDate.mid(0, 10); + QString strDateEnd = pSearchItem->m_strStudyDate.mid(11, 10); + + QString strQuery = "SELECT COUNT(DISTINCT PatientIndex) FROM StorageInfo WHERE StudyDate <= ? AND StudyDate >= ? AND ImageDelete = 0;"; + + QVariantList params; + params << strDateEnd << strDateStart; + + // executeScalar 헬퍼를 사용하여 단일 값을 깔끔하게 가져옴 + return executeScalar(strQuery, params).toInt(); +} + +QList SDatabase::GetHistoryStudy(SEARCH_ITEM* pSearchItem, bool bWithDelete) +{ + QString strDateStart = pSearchItem->m_strStudyDate.mid(0, 10).remove('/'); + QString strDateEnd = pSearchItem->m_strStudyDate.mid(11, 10).remove('/'); + + // LIKE 구문에 사용할 파라미터 + QString strSearchName = QString("%%1%").arg(pSearchItem->m_strPatientName); + QString strSearchID = QString("%%1%").arg(pSearchItem->m_strPatientID); + + QString strQuery; + if (bWithDelete) { + strQuery = "SELECT * FROM HistoryStudyWithDelete WHERE StudyDate <= ? AND StudyDate >= ? AND PatientName LIKE ? AND PatientID LIKE ? ORDER BY CreateDateTime DESC;"; + } else { + strQuery = "SELECT * FROM HistoryStudy WHERE StudyDate <= ? AND StudyDate >= ? AND PatientName LIKE ? AND PatientID LIKE ? ORDER BY CreateDateTime DESC;"; + } + + QVariantList params; + params << strDateEnd << strDateStart << strSearchName << strSearchID; + + // 이전과 동일한 어댑터 패턴 사용 + QList finalList; + QList tempResult; + if (ExecuteQuery(strQuery, params, tempResult)) { + for (const QStringList* rowPtr : tempResult) { + if (rowPtr) finalList.append(*rowPtr); + } + } + SDatabase::DeleteListReponse(tempResult); + return finalList; // 호출한 쪽에서 .size()로 개수를 얻을 수 있음 +} + +QList SDatabase::GetImageWithStudyIndex(int nIndex) +{ + QString strQuery = "SELECT * FROM StorageInfo WHERE StudyIndex = ? AND ImageDelete = 0 ORDER BY ImageIndex DESC;"; + QVariantList params; + params << nIndex; + + QList finalList; + QList tempResult; + if (ExecuteQuery(strQuery, params, tempResult)) { + for (const QStringList* rowPtr : tempResult) { + if (rowPtr) finalList.append(*rowPtr); + } + } + SDatabase::DeleteListReponse(tempResult); + return finalList; +} + +QList SDatabase::GetImageWithStudyIndexASC(int nIndex) +{ + QString strQuery = "SELECT * FROM StorageInfo WHERE StudyIndex = ? AND ImageDelete = 0 ORDER BY ImageIndex ASC;"; + QVariantList params; + params << nIndex; + + QList finalList; + QList tempResult; + if (ExecuteQuery(strQuery, params, tempResult)) { + for (const QStringList* rowPtr : tempResult) { + if (rowPtr) finalList.append(*rowPtr); + } + } + SDatabase::DeleteListReponse(tempResult); + return finalList; +} + +bool SDatabase::ImageDeleteFromImage(const QString& strFile, bool bDelete) +{ + QString strQuery = "UPDATE Image SET ImageDelete = ? WHERE FileLocation = ?;"; + QVariantList params; + params << (bDelete ? 1 : 0) << strFile; + return ExecuteNonQuery(strQuery, params); +} + +bool SDatabase::ImageDeleteFromAcqusitionTemp(const QString& strFile, bool bDelete) +{ + QString strQuery = "UPDATE AcquisitionTemp SET ImageDelete = ? WHERE FileLocation = ?;"; + QVariantList params; + params << (bDelete ? 1 : 0) << strFile; + return ExecuteNonQuery(strQuery, params); +} + +bool SDatabase::ImageDeleteFromImageInstanceUID(const QString& strInstanceUID, bool bDelete) +{ + QString strQuery = "UPDATE Image SET ImageDelete = ? WHERE ImageInstanceUID = ?;"; + QVariantList params; + params << (bDelete ? 1 : 0) << strInstanceUID; + return ExecuteNonQuery(strQuery, params); +} + +int SDatabase::getSeriesIndex(const QString& studyInstanceUID, int seriesNumber) +{ + // 서브쿼리를 사용한 원본 쿼리를 그대로 사용하되, 파라미터 바인딩으로 변경 + QString query = "SELECT ID FROM Series WHERE StudyIndex = (SELECT ID FROM Study WHERE StudyInstanceUID = ?) AND SeriesNumber = ?;"; + QVariantList params; + params << studyInstanceUID << seriesNumber; + return executeScalar(query, params).toInt(); +} + +int SDatabase::GetAcquisitionNumber(const QString& strFile) +{ + QString query = "SELECT `AcquisitionNumber` FROM StorageInfo WHERE `FileLocation` = ?;"; + QVariantList params; + params << strFile; + return executeScalar(query, params).toInt(); +} + +int SDatabase::GetSeriesImageIndexWithInstanceUID(const QString& studyInstanceUID) +{ + // 내부 헬퍼 호출 + return getSeriesIndex(studyInstanceUID, 1); +} + +int SDatabase::GetSeriesVideoIndexWithInstanceUID(const QString& studyInstanceUID) +{ + // 내부 헬퍼 호출 + return getSeriesIndex(studyInstanceUID, 2); +} + +vector SDatabase::GetImageListWithStudy(const QString& strStudyDate, const QString& strPatientID) +{ + vector fileList; + QString queryStr = "SELECT FileLocation FROM StorageInfo WHERE StudyDate = ? AND PatientID = ? AND ImageDelete = 0 AND FileType = 0 ORDER BY ImageIndex DESC;"; + + QSqlDatabase db = QSqlDatabase::database(m_connectionName); + QSqlQuery query(db); + query.prepare(queryStr); + query.addBindValue(strStudyDate); + query.addBindValue(strPatientID); + + if (query.exec()) { + while (query.next()) { + fileList.push_back(query.value(0).toString()); + } + } + return fileList; +} + +vector SDatabase::GetImageListWithStudyIndex(const QString& strStudyIndex) +{ + vector fileList; + QString queryStr = "SELECT FileLocation FROM StorageInfo WHERE StudyIndex = ? AND ImageDelete = 0 AND FileType = 0 ORDER BY ImageIndex DESC;"; + + QSqlDatabase db = QSqlDatabase::database(m_connectionName); + QSqlQuery query(db); + query.prepare(queryStr); + query.addBindValue(strStudyIndex.toInt()); // StudyIndex는 숫자 타입일 수 있으므로 .toInt() + + if (query.exec()) { + while (query.next()) { + fileList.push_back(query.value(0).toString()); + } + } + return fileList; +} + +vector SDatabase::GetVideoListWithStudy(const QString& strStudyDate, const QString& strPatientID) +{ + vector fileList; + QString queryStr = "SELECT FileLocation FROM StorageInfo WHERE StudyDate = ? AND PatientID = ? AND ImageDelete = 0 AND FileType = 1 ORDER BY ImageIndex DESC;"; + + QSqlDatabase db = QSqlDatabase::database(m_connectionName); + QSqlQuery query(db); + query.prepare(queryStr); + query.addBindValue(strStudyDate); + query.addBindValue(strPatientID); + + if (query.exec()) { + while (query.next()) { + fileList.push_back(query.value(0).toString()); + } + } + return fileList; +} + +vector SDatabase::GetVideoListWithStudyIndex(const QString& strStudyIndex) +{ + vector fileList; + QString queryStr = "SELECT FileLocation FROM StorageInfo WHERE StudyIndex = ? AND ImageDelete = 0 AND FileType = 1 ORDER BY ImageIndex DESC;"; + + QSqlDatabase db = QSqlDatabase::database(m_connectionName); + QSqlQuery query(db); + query.prepare(queryStr); + query.addBindValue(strStudyIndex.toInt()); + + if (query.exec()) { + while (query.next()) { + fileList.push_back(query.value(0).toString()); + } + } + return fileList; +} + +bool SDatabase::updateSendStatus(const QString& tableName, const QString& filename) +{ + if (tableName != "Image" && tableName != "AcquisitionTemp") return false; + QString query = QString("UPDATE %1 SET ImageSend = 1 WHERE FileLocation = ?;").arg(tableName); + return ExecuteNonQuery(query, {filename}); // QVariantList 초기화 축약형 +} + + +void SDatabase::SendUpdate(const QString& strFilename) +{ + updateSendStatus("Image", strFilename); +} + +void SDatabase::SendUpdateAcquisitionTemp(const QString& strFilename) +{ + updateSendStatus("AcquisitionTemp", strFilename); +} + +QList SDatabase::GetScheduledDeleteFileList() +{ + QString dateStr = QDate::currentDate().addDays(-60).toString("yyyyMMdd"); + QString query = "SELECT * FROM Image WHERE AcquisitionDate < ? AND ImageStorage = 0;"; + + QList finalList; + QList tempResult; + if (ExecuteQuery(query, {dateStr}, tempResult)) { + for (const auto* rowPtr : tempResult) { + if (rowPtr) finalList.append(*rowPtr); + } + } + SDatabase::DeleteListReponse(tempResult); + return finalList; +} + +void SDatabase::UpdateScheduledDeleteCompleteStudyDate() +{ + QString dateStr = QDate::currentDate().addDays(-60).toString("yyyyMMdd"); + QString query = "UPDATE Image SET ImageStorage = 1 WHERE AcquisitionDate < ? AND ImageStorage = 0;"; + ExecuteNonQuery(query, {dateStr}); +} + + +QStringList SDatabase::GetScheduledDeleteStudyDateList() +{ + QString dateStr = QDate::currentDate().addDays(-60).toString("yyyyMMdd"); + QString queryStr = "SELECT DISTINCT(AcquisitionDate) FROM Image WHERE AcquisitionDate < ? AND ImageStorage = 0;"; + + QStringList dateList; + QSqlDatabase db = QSqlDatabase::database(m_connectionName); + QSqlQuery query(db); + query.prepare(queryStr); + query.addBindValue(dateStr); + + if (query.exec()) { + while (query.next()) { + dateList.append(query.value(0).toString()); + } + } + return dateList; +} + + +bool SDatabase::AutoremoveImageTable() +{ + QString dateStr = QDate::currentDate().addDays(-60).toString("yyyyMMdd"); + + // 두 개의 작업을 하나의 트랜잭션으로 묶어 원자성을 보장 + if (!BeginTransaction()) return false; + + bool success = true; + // DELETE 작업 + if (!ExecuteNonQuery("DELETE FROM Image WHERE AcquisitionDate < ?;", {dateStr})) { + success = false; + } + // VACUUM 작업 (성공했을 때만 실행) + if (success && !ExecuteNonQuery("VACUUM;")) { + success = false; + } + + if (success) { + Commit(); + } else { + Rollback(); // 하나라도 실패하면 전체 롤백 + } + + return success; +} + +/* +bool SDatabase::AutoremoveImageTable() +{ + bool bRet = true; + int nRet = 0; + + QDate date = QDate::currentDate(); + date = date.addDays(-60); + int nYear = date.year(); + int nMonth = date.month(); + int nDay = date.day(); + + QString strSearchDate = QString("%1%2%3").arg(nYear, 4, 10, QChar('0')).arg(nMonth, 2, 10, QChar('0')).arg(nDay, 2, 10, QChar('0')); + + QString strQuery; + strQuery = QString("DELETE from Image where AcquisitionDate < '%1';").arg(strSearchDate); + nRet = ExecuteNonQuery(strQuery); + + strQuery = QString("vacuum;"); + nRet = ExecuteNonQuery(strQuery); + + + return bRet; +} +*/ + +bool SDatabase::SetDeleteStorageFile(const QString& strFilename) +{ + QString query = "UPDATE Image SET ImageStorage = 1 WHERE FileLocation = ?;"; + // ExecuteNonQuery의 성공/실패 결과를 그대로 반환 + return ExecuteNonQuery(query, {strFilename}); +} + +QStringList SDatabase::GetVideoFileList() +{ + QString queryStr = "SELECT FileLocation FROM Image WHERE ImageStorage = 0 AND FileType = 1 ORDER BY ID ASC;"; + + QStringList fileList; + QSqlDatabase db = QSqlDatabase::database(m_connectionName); + QSqlQuery query(db); + + if (query.exec(queryStr)) { // 파라미터가 없으므로 바로 exec + while (query.next()) { + fileList.append(query.value(0).toString()); + } + } + return fileList; +} + + +QString SDatabase::GetValueAdavancedTable(const QString& strColumn) +{ + // 1. 컬럼 이름 화이트리스트 검증 (SQL Injection 방어) + const QStringList validColumns = { + "AutoCaptureSendDICOM", "AutoCloseSendFinish", "AutoExitCaptureSendDICOM", "AutoLogin", + "DICOMCharacterSet", "AutoVideoCapture", "DICOMCompress", "VideoMode", "CropMode", + "ScreenSaverTime", "UseFixWidthLevel", "UseLogLevel", "EnableNetworkShare", "NetworkAutoSend", + "NetworkShareIP", "NetworkShareFolder", "NetworkSMBVersion", "NetworkShareID", + "NetworkSharePassword", "USBBackup" + }; + + if (!validColumns.contains(strColumn, Qt::CaseInsensitive)) { + qWarning() << "Invalid or non-whitelisted column name passed to GetValueAdavancedTable:" << strColumn; + return ""; // 허용되지 않은 컬럼 이름이면 빈 문자열 반환 + } + + // 2. 안전하게 쿼리 실행 + QString query = QString("SELECT %1 FROM AdvancedSetting WHERE ID = 1;").arg(strColumn); + + return executeScalar(query).toString(); +} + + +void SDatabase::CheckAdavancedTable() +{ + QList resultList; + QMap settingsMap; + bool needsRecreation = false; + + //`ID`, `ModifyDateTime`, `AutoCaptureSendDICOM`, `AutoCloseSendFinish`, `AutoExitCaptureSendDICOM`, `AutoLogin`, + //`DICOMCharacterSet`, `AutoVideoCapture`, `DICOMCompress`, `VideoMode`, `CropMode`, `ScreenSaverTime`, + //`UseFixWidthLevel`, `UseLogLevel`, `EnableNetworkShare`, `NetworkAutoSend`, `NetworkShareIP`, + //`NetworkShareFolder`, `NetworkSMBVersion`, `NetworkShareID`, `NetworkSharePassword` + + // 1. 단 한 번의 쿼리로 AdvancedSetting 테이블의 첫 번째 행을 가져옴 + if (ExecuteQuery("SELECT `ID`, `ModifyDateTime`, `AutoCaptureSendDICOM`, `AutoCloseSendFinish`, `AutoExitCaptureSendDICOM`, `AutoLogin`, " + "`DICOMCharacterSet`, `AutoVideoCapture`, `DICOMCompress`, `VideoMode`, `CropMode`, `ScreenSaverTime`, " + "`UseFixWidthLevel`, `UseLogLevel`, `EnableNetworkShare`, `NetworkAutoSend`, `NetworkShareIP`, " + "`NetworkShareFolder`, `NetworkSMBVersion`, `NetworkShareID`, `NetworkSharePassword` FROM AdvancedSetting WHERE ID = 1;", {}, resultList) && !resultList.isEmpty()) + { + // 2. 결과를 QMap으로 변환하여 사용하기 쉽게 만듦 + // 이 로직은 ExecuteQuery가 QSqlRecord를 반환하도록 개선하면 더 좋아질 수 있음 + const auto* data = resultList.at(0); + // (가정) 컬럼 순서: ID, ModifyDateTime, AutoCaptureSendDICOM, ... + // 이 부분은 스키마에 따라 정확한 인덱스를 사용해야 함 + + + settingsMap["ID"] = data->at(0); + settingsMap["ModifyDateTime"] = data->at(1); + settingsMap["AutoCaptureSendDICOM"] = data->at(2); + settingsMap["AutoCloseSendFinish"] = data->at(3); + settingsMap["AutoExitCaptureSendDICOM"] = data->at(4); + settingsMap["AutoLogin"] = data->at(5); + settingsMap["DICOMCharacterSet"] = data->at(6); + settingsMap["AutoVideoCapture"] = data->at(7); + settingsMap["DICOMCompress"] = data->at(8); + settingsMap["VideoMode"] = data->at(9); + settingsMap["CropMode"] = data->at(10); + settingsMap["ScreenSaverTime"] = data->at(11); + settingsMap["UseFixWidthLevel"] = data->at(12); + settingsMap["UseLogLevel"] = data->at(13); + settingsMap["EnableNetworkShare"] = data->at(14); + settingsMap["NetworkAutoSend"] = data->at(15); + settingsMap["NetworkShareIP"] = data->at(16); + settingsMap["NetworkShareFolder"] = data->at(17); + settingsMap["NetworkSMBVersion"] = data->at(18); + settingsMap["NetworkShareID"] = data->at(19); + settingsMap["NetworkSharePassword"] = data->at(20); + + // 3. 컬럼 값이 비어있는지 확인 + for (const auto& value : settingsMap) { + if (value.isEmpty()) { + needsRecreation = true; + break; + } + } + } else { + // 테이블이 비어있거나 쿼리가 실패한 경우 + needsRecreation = true; + } + + SDatabase::DeleteListReponse(resultList); // 임시 리스트 메모리 해제 + + // 4. 테이블 재생성이 필요한 경우에만 실행 + if (needsRecreation) { + qDebug() << "AdvancedSetting table is empty or invalid. Recreating with default values."; + + MakeTableAdvancedSetting(); // DROP and CREATE + + QString insertQuery = "INSERT INTO AdvancedSetting (AutoCaptureSendDICOM, AutoExitCaptureSendDICOM, AutoVideoCapture, " + "EnableNetworkShare, NetworkAutoSend, NetworkShareIP, NetworkShareFolder, " + "NetworkSMBVersion, NetworkShareID, NetworkSharePassword, DICOMCharacterSet, AutoCloseSendFinish, " + "AutoLogin, DICOMCompress, VideoMode, CropMode, UseFixWidthLevel, UseLogLevel, ScreenSaverTime, USBBackup) " + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"; + + // 파라미터 바인딩으로 안전하고 가독성 높게 처리 + QVariantList params; + params << settingsMap.value("AutoCaptureSendDICOM", "0") + << settingsMap.value("AutoExitCaptureSendDICOM", "0") + << settingsMap.value("AutoVideoCapture", "0") + << settingsMap.value("EnableNetworkShare", "Disabled") + << settingsMap.value("NetworkAutoSend", "Disabled") + << settingsMap.value("NetworkShareIP", "127.0.0.1") + << settingsMap.value("NetworkShareFolder", "Share Folder") + << settingsMap.value("NetworkSMBVersion", "SMB Version") + << settingsMap.value("NetworkShareID", "Share ID") + << settingsMap.value("NetworkSharePassword", "Share Password") + << settingsMap.value("DICOMCharacterSet", "EUC-KR") + << settingsMap.value("AutoCloseSendFinish", "0") + << settingsMap.value("AutoLogin", "1") + << settingsMap.value("DICOMCompress", "0") + << settingsMap.value("VideoMode", "0") + << settingsMap.value("CropMode", "0") + << settingsMap.value("UseFixWidthLevel", "0") + << settingsMap.value("UseLogLevel", "0") + << settingsMap.value("ScreenSaverTime", "0") + << settingsMap.value("USBBackup", "0"); + + ExecuteNonQuery(insertQuery, params); + } +} + +void SDatabase::CheckLoginTable() +{ + // 1. COUNT(*)로 효율적으로 행의 개수만 확인 + if (executeScalar("SELECT COUNT(*) FROM LoginUser;").toInt() == 0) + { + // 2. 테이블을 만들고, 파라미터 바인딩으로 안전하게 기본값 삽입 + MakeTableUser(); + QString query = "INSERT INTO LoginUser (LoginID, LoginPassword) VALUES (?, ?);"; + ExecuteNonQuery(query, {"admin", "smartquadra"}); + } +} + + +void SDatabase::MakeViewTable() +{ + + ExecuteNonQuery("DROP VIEW IF EXISTS Storage;" + "CREATE VIEW Storage as select d2.SeriesNumber, d3.ID as ImageIndex, d1.ID as StudyIndex, d2.ID as SeriesIndex, d1.PatientIndex, d2.Modality, d1.StudyDate, d1.StudyTime, d3.FileLocation, d1.StudyInstanceUID, d2.SeriesInstanceUID, d3.ImageInstanceUID, d3.CreateDateTime, d3.ImageDelete, d3.ImageSend, d3.FileType, d3.AcquisitionDate, d3.AcquisitionTime, d3.AcquisitionNumber, d3.ImageStorage from Study as d1 join (Series as d2 join Image as d3 on d3.seriesIndex=d2.id) on d1.id=d2.studyindex;"); + + ExecuteNonQuery("DROP VIEW IF EXISTS StorageInfo;" + "CREATE VIEW StorageInfo as select d1.*, d3.PatientID, d3.PatientName, d3.PatientAge, d3.PatientSex, (select count(*) from Storage as d2 where d1.StudyInstanceUID=d2.StudyInstanceUID) as TotalImageCount from Storage as d1 join Patient as d3 on (d1.PatientIndex=d3.ID)"); + + //ExecuteNonQuery("DROP VIEW IF EXISTS HistoryStudy;" + //"CREATE VIEW HistoryStudy as select d4.ID, d4.PatientIndex, d5.PatientID, d5.PatientName, d5.PatientAge, d5.PatientSex, d5.PatientBirthDate, d5.PatientWeight, d4.CreateDateTime, d4.StudyDate, d4.StudyTime, d4.StudyCodeValue, d4.PatientLocation, d4.AccessionNumber, d4.ReferringPhysiciansName, d4.StudyInstanceUID, d4.SeriesInstanceUID, d4.StudyDescription, d4.SeriesDescription, d4.OperatorsName, d4.ImageCount, d4.ImageSend, d4.Modality, d4.SeriesDate, d4.SeriesTime, d4.SeriesNumber from (select *, (select count(*) from Image as d3 where d3.StudyIndex=d1.ID and d3.ImageDelete=0) as ImageCount, (select sum(ImageSend) from Image as d3 where d3.StudyIndex=d1.ID and d3.ImageDelete=0) as ImageSend from Study as d1 join Series as d2 on (d2.StudyIndex=d1.ID)) as d4 join Patient as d5 on (d4.PatientIndex=d5.ID)"); + + + /* + ExecuteNonQuery("DROP VIEW IF EXISTS HistoryStudy;" + "CREATE VIEW HistoryStudy as " + "select d4.StudyIndex, d4.PatientIndex, d5.PatientID, d5.PatientName, d5.PatientAge, d5.PatientSex, d5.PatientBirthDate, d5.PatientWeight, d4.CreateDateTime, d4.StudyDate, d4.StudyTime, d4.StudyCodeValue, d4.PatientLocation, d4.AccessionNumber, d4.ReferringPhysiciansName, d4.StudyInstanceUID, d4.SeriesInstanceUID, d4.StudyDescription, d4.SeriesDescription, d4.OperatorsName, d4.ImageCount, d4.ImageSend, d4.Modality, d4.SeriesDate, d4.SeriesTime, max(d4.SeriesNumber), d4.VideoCount " + "from (select *, (select count(*) from Image as d3 where d3.StudyIndex=d1.ID and d3.SeriesIndex=1 and d3.ImageDelete=0) as ImageCount, " + "(select count(*) from Image as d3 where d3.StudyIndex=d1.ID and d3.SeriesIndex=2 and d3.ImageDelete=0) as VideoCount, " + "(select sum(ImageSend) from Image as d3 where d3.StudyIndex=d1.ID) as ImageSend " + "from Study as d1 join Series as d2 on (d2.StudyIndex=d1.ID)) as d4 join Patient as d5 on (d4.PatientIndex=d5.ID)"); + + ExecuteNonQuery("DROP VIEW IF EXISTS HistoryStudyWithDelete;" + "CREATE VIEW HistoryStudyWithDelete as " + "select d4.StudyIndex, d4.PatientIndex, d5.PatientID, d5.PatientName, d5.PatientAge, d5.PatientSex, d5.PatientBirthDate, d5.PatientWeight, d4.CreateDateTime, d4.StudyDate, d4.StudyTime, d4.StudyCodeValue, d4.PatientLocation, d4.AccessionNumber, d4.ReferringPhysiciansName, d4.StudyInstanceUID, d4.SeriesInstanceUID, d4.StudyDescription, d4.SeriesDescription, d4.OperatorsName, d4.ImageCount, d4.ImageSend, d4.Modality, d4.SeriesDate, d4.SeriesTime, max(d4.SeriesNumber), d4.VideoCount " + "from (select *, (select count(*) from Image as d3 where d3.StudyIndex=d1.ID and d3.SeriesIndex=1) as ImageCount, " + "(select count(*) from Image as d3 where d3.StudyIndex=d1.ID and d3.SeriesIndex=2) as VideoCount, " + "(select sum(ImageSend) from Image as d3 where d3.StudyIndex=d1.ID) as ImageSend " + "from Study as d1 join Series as d2 on (d2.StudyIndex=d1.ID)) as d4 join Patient as d5 on (d4.PatientIndex=d5.ID)"); + */ + + ExecuteNonQuery("DROP VIEW IF EXISTS HistoryStudy;" + "CREATE VIEW HistoryStudy as " + "select StudyIndex, PatientIndex, PatientID, PatientName, PatientAge, PatientSex, PatientBirthDate, PatientWeight, CreateDateTime, StudyDate, StudyTime, StudyCodeValue, PatientLocation, AccessionNumber, ReferringPhysiciansName, StudyInstanceUID, SeriesInstanceUID, StudyDescription, SeriesDescription, OperatorsName, ImageCount, ImageSendCount, Modality, SeriesDate, SeriesTime, SeriesNumber, VideoCount from (select DISTINCT(d1.ID), d3.StudyIndex, d1.PatientIndex, d4.PatientID, d4.PatientName, d4.PatientAge, d4.PatientSex, d4.PatientBirthDate, d4.PatientWeight, d4.CreateDateTime, d1.StudyDate, d1.StudyTime, d1.StudyCodeValue, d1.PatientLocation, d1.AccessionNumber, d1.ReferringPhysiciansName, d1.StudyInstanceUID, d2.SeriesInstanceUID, d1.StudyDescription, d2.SeriesDescription, d2.OperatorsName, (select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=0 and Image.ImageDelete=0 and Image.ImageSend=1) as ImageSendCount, (select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=0 and Image.ImageDelete=0) as ImageCount, d2.Modality, d2.SeriesDate, d2.SeriesTime, d2.SeriesNumber, (select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=1 and Image.ImageDelete=0) as VideoCount from Study as d1 join Series as d2 on (d1.ID=d2.StudyIndex) join Image as d3 on(d2.ID=d3.SeriesIndex and d2.SeriesNumber=1) join Patient as d4 on (d4.ID=d1.PatientIndex))"); + + + ExecuteNonQuery("DROP VIEW IF EXISTS HistoryStudyWithDelete;" + "CREATE VIEW HistoryStudyWithDelete as " + "select StudyIndex, PatientIndex, PatientID, PatientName, PatientAge, PatientSex, PatientBirthDate, PatientWeight, CreateDateTime, StudyDate, StudyTime, StudyCodeValue, PatientLocation, AccessionNumber, ReferringPhysiciansName, StudyInstanceUID, SeriesInstanceUID, StudyDescription, SeriesDescription, OperatorsName, ImageCount, ImageSend, Modality, SeriesDate, SeriesTime, SeriesNumber, VideoCount from (select DISTINCT(d1.ID), d3.StudyIndex, d1.PatientIndex, d4.PatientID, d4.PatientName, d4.PatientAge, d4.PatientSex, d4.PatientBirthDate, d4.PatientWeight, d4.CreateDateTime, d1.StudyDate, d1.StudyTime, d1.StudyCodeValue, d1.PatientLocation, d1.AccessionNumber, d1.ReferringPhysiciansName, d1.StudyInstanceUID, d2.SeriesInstanceUID, d1.StudyDescription, d2.SeriesDescription, d2.OperatorsName, (select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=0 ) as ImageCount, d3.ImageSend, d2.Modality, d2.SeriesDate, d2.SeriesTime, d2.SeriesNumber, (select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=1) as VideoCount from Study as d1 join Series as d2 on (d1.ID=d2.StudyIndex) join Image as d3 on(d2.ID=d3.SeriesIndex and d2.SeriesNumber=1) join Patient as d4 on (d4.ID=d1.PatientIndex))"); + + + + + /* + ExecuteNonQuery( + "DROP VIEW IF EXISTS HistoryStudy; " + "CREATE VIEW HistoryStudy as " + "select StudyIndex, PatientIndex, PatientID, PatientName, PatientAge, PatientSex, PatientBirthDate, PatientWeight, CreateDateTime, StudyDate, StudyTime, StudyCodeValue, PatientLocation, AccessionNumber, " + "ReferringPhysiciansName, StudyInstanceUID, SeriesInstanceUID, StudyDescription, SeriesDescription, OperatorsName, ImageCount, ImageSendCount, Modality, SeriesDate, SeriesTime, SeriesNumber, VideoCount " + "from (select DISTINCT(d1.ID), d1.PatientIndex, d1.StudyDate, d1.StudyTime, d1.StudyCodeValue, d1.PatientLocation, d1.AccessionNumber, d1.ReferringPhysiciansName, d1.StudyInstanceUID, d1.StudyDescription, " + "(select d4.PatientID from patient as d4 where d4.ID=d1.PatientIndex) as PatientID," + "(select d4.PatientName from patient as d4 where d4.ID=d1.PatientIndex) as PatientName," + "(select d4.PatientAge from patient as d4 where d4.ID=d1.PatientIndex) as PatientAge," + "(select d4.PatientSex from patient as d4 where d4.ID=d1.PatientIndex) as PatientSex," + "(select d4.PatientBirthDate from patient as d4 where d4.ID=d1.PatientIndex) as PatientBirthDate, " + "(select d4.PatientWeight from patient as d4 where d4.ID=d1.PatientIndex) as PatientWeight, " + "(select d1.CreateDateTime from patient as d4 where d4.ID=d1.PatientIndex) as CreateDateTime, " + //"(select d2.StudyIndex from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as StudyIndex, " + "(d1.ID) as StudyIndex, " + "(select d2.SeriesInstanceUID from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as SeriesInstanceUID, " + "(select d2.SeriesDescription from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as SeriesDescription, " + "(select d2.OperatorsName from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as OperatorsName, " + "(select d2.Modality from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as Modality, " + "(select d2.SeriesDate from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as SeriesDate, " + "(select d2.SeriesTime from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as SeriesTime, " + "(select d2.SeriesNumber from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as SeriesNumber, " + "(select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=0 and Image.ImageDelete=0 and Image.ImageSend=1) as ImageSendCount, " + "(select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=0 and Image.ImageDelete=0) as ImageCount, " + "(select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=1 and Image.ImageDelete=0) as VideoCount " + "from Study as d1);" + ); + + ExecuteNonQuery( + "DROP VIEW IF EXISTS HistoryStudyWithDelete; " + "CREATE VIEW HistoryStudyWithDelete as " + "select StudyIndex, PatientIndex, PatientID, PatientName, PatientAge, PatientSex, PatientBirthDate, PatientWeight, CreateDateTime, StudyDate, StudyTime, StudyCodeValue, PatientLocation, AccessionNumber, " + "ReferringPhysiciansName, StudyInstanceUID, SeriesInstanceUID, StudyDescription, SeriesDescription, OperatorsName, ImageCount, ImageSendCount, Modality, SeriesDate, SeriesTime, SeriesNumber, VideoCount " + "from (select DISTINCT(d1.ID), d1.PatientIndex, d1.StudyDate, d1.StudyTime, d1.StudyCodeValue, d1.PatientLocation, d1.AccessionNumber, d1.ReferringPhysiciansName, d1.StudyInstanceUID, d1.StudyDescription, " + "(select d4.PatientID from patient as d4 where d4.ID=d1.PatientIndex) as PatientID," + "(select d4.PatientName from patient as d4 where d4.ID=d1.PatientIndex) as PatientName," + "(select d4.PatientAge from patient as d4 where d4.ID=d1.PatientIndex) as PatientAge," + "(select d4.PatientSex from patient as d4 where d4.ID=d1.PatientIndex) as PatientSex," + "(select d4.PatientBirthDate from patient as d4 where d4.ID=d1.PatientIndex) as PatientBirthDate, " + "(select d4.PatientWeight from patient as d4 where d4.ID=d1.PatientIndex) as PatientWeight, " + "(select d1.CreateDateTime from patient as d4 where d4.ID=d1.PatientIndex) as CreateDateTime, " + //"(select d2.StudyIndex from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as StudyIndex, " + "(d1.ID) as StudyIndex, " + "(select d2.SeriesInstanceUID from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as SeriesInstanceUID, " + "(select d2.SeriesDescription from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as SeriesDescription, " + "(select d2.OperatorsName from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as OperatorsName, " + "(select d2.Modality from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as Modality, " + "(select d2.SeriesDate from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as SeriesDate, " + "(select d2.SeriesTime from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as SeriesTime, " + "(select d2.SeriesNumber from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as SeriesNumber, " + "(select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=0 and Image.ImageSend=1) as ImageSendCount, " + "(select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=0 ) as ImageCount, " + "(select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=1 ) as VideoCount " + "from Study as d1);" + ); +*/ + + + + + ExecuteNonQuery( + "DROP VIEW IF EXISTS HistoryStudy; " + "CREATE VIEW HistoryStudy as " + "select Q.StudyIndex, Q.PatientIndex, " + "(select d4.PatientID from patient as d4 where d4.ID=Q.PatientIndex) as PatientID, " + "(select d4.PatientName from patient as d4 where d4.ID=Q.PatientIndex) as PatientName, " + "(select d4.PatientAge from patient as d4 where d4.ID=Q.PatientIndex) as PatientAge, " + "(select d4.PatientSex from patient as d4 where d4.ID=Q.PatientIndex) as PatientSex, " + "(select d4.PatientBirthDate from patient as d4 where d4.ID=Q.PatientIndex) as PatientBirthDate, " + "(select d4.PatientWeight from patient as d4 where d4.ID=Q.PatientIndex) as PatientWeight, " + "(select Q.CreateDateTime from patient as d4 where d4.ID=Q.PatientIndex) as CreateDateTime, " + "Q.StudyDate as StudyDate, Q.StudyTime as StudyTime, Q.StudyCodeValue as StudyCodeValue, Q.PatientLocation as PatientLocation, Q.AccessionNumber as AccessionNumber, " + "ReferringPhysiciansName, StudyInstanceUID, " + "(select d2.SeriesInstanceUID from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as SeriesInstanceUID, " + "StudyDescription, " + "(select d2.SeriesDescription from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as SeriesDescription, " + "(select d2.OperatorsName from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as OperatorsName, " + "(select count(*) from Image where Image.StudyIndex=Q.StudyIndex and Image.FileType=0 and Image.ImageDelete=0) as ImageCount, " + "(select count(*) from Image where Image.StudyIndex=Q.StudyIndex and Image.FileType=0 and Image.ImageDelete=0 and Image.ImageSend=1) as ImageSendCount, " + "(select d2.Modality from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as Modality, " + "(select d2.SeriesDate from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as SeriesDate, " + "(select d2.SeriesTime from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as SeriesTime, " + "(select d2.SeriesNumber from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as SeriesNumber, " + "(select count(*) from Image where Image.StudyIndex=Q.StudyIndex and Image.FileType=1 and Image.ImageDelete=0) as VideoCount " + "from (select DISTINCT(d1.ID), d1.PatientIndex, d1.StudyDate, d1.StudyTime, d1.StudyCodeValue, d1.PatientLocation, d1.AccessionNumber, " + " d1.ReferringPhysiciansName, d1.StudyInstanceUID, d1.StudyDescription, " + " (d1.ID) as StudyIndex, " + " (d1.PatientIndex) as PatientIndex," + " (d1.CreateDateTime)" + " from Study as d1) as Q; " + ); + + ExecuteNonQuery( + "DROP VIEW IF EXISTS HistoryStudyWithDelete; " + "CREATE VIEW HistoryStudyWithDelete as " + "select Q.StudyIndex, Q.PatientIndex, " + "(select d4.PatientID from patient as d4 where d4.ID=Q.PatientIndex) as PatientID, " + "(select d4.PatientName from patient as d4 where d4.ID=Q.PatientIndex) as PatientName, " + "(select d4.PatientAge from patient as d4 where d4.ID=Q.PatientIndex) as PatientAge, " + "(select d4.PatientSex from patient as d4 where d4.ID=Q.PatientIndex) as PatientSex, " + "(select d4.PatientBirthDate from patient as d4 where d4.ID=Q.PatientIndex) as PatientBirthDate, " + "(select d4.PatientWeight from patient as d4 where d4.ID=Q.PatientIndex) as PatientWeight, " + "(select Q.CreateDateTime from patient as d4 where d4.ID=Q.PatientIndex) as CreateDateTime, " + "Q.StudyDate as StudyDate, Q.StudyTime as StudyTime, Q.StudyCodeValue as StudyCodeValue, Q.PatientLocation as PatientLocation, Q.AccessionNumber as AccessionNumber, " + "ReferringPhysiciansName, StudyInstanceUID, " + "(select d2.SeriesInstanceUID from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as SeriesInstanceUID, " + "StudyDescription, " + "(select d2.SeriesDescription from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as SeriesDescription, " + "(select d2.OperatorsName from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as OperatorsName, " + "(select count(*) from Image where Image.StudyIndex=Q.StudyIndex and Image.FileType=0) as ImageCount, " + "(select count(*) from Image where Image.StudyIndex=Q.StudyIndex and Image.FileType=0 and Image.ImageSend=1) as ImageSendCount, " + "(select d2.Modality from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as Modality, " + "(select d2.SeriesDate from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as SeriesDate, " + "(select d2.SeriesTime from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as SeriesTime, " + "(select d2.SeriesNumber from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as SeriesNumber, " + "(select count(*) from Image where Image.StudyIndex=Q.StudyIndex and Image.FileType=1) as VideoCount " + "from (select DISTINCT(d1.ID), d1.PatientIndex, d1.StudyDate, d1.StudyTime, d1.StudyCodeValue, d1.PatientLocation, d1.AccessionNumber, " + " d1.ReferringPhysiciansName, d1.StudyInstanceUID, d1.StudyDescription, " + " (d1.ID) as StudyIndex, " + " (d1.PatientIndex) as PatientIndex," + " (d1.CreateDateTime)" + " from Study as d1) as Q; " + ); + + ExecuteNonQuery( + "DROP VIEW IF EXISTS Storage;" + "CREATE VIEW Storage as " + "select " + "(select d1.ID from Study as d1 where d3.StudyIndex=d1.ID) as StudyIndex," + "(select d1.PatientIndex from Study as d1 where d3.StudyIndex=d1.ID) as PatientIndex," + "(select d1.StudyDate from Study as d1 where d3.StudyIndex=d1.ID) as StudyDate," + "(select d1.StudyTime from Study as d1 where d3.StudyIndex=d1.ID) as StudyTime," + "(select d1.StudyInstanceUID from Study as d1 where d3.StudyIndex=d1.ID) as StudyInstanceUID," + "(select d2.SeriesNumber from Series as d2 where d2.ID=d3.SeriesIndex) as SeriesNumber, " + "(select d2.Modality from Series as d2 where d2.ID=d3.SeriesIndex) as Modality, " + "(select d2.SeriesInstanceUID from Series as d2 where d2.ID=d3.SeriesIndex) as SeriesInstanceUID, " + "d3.SeriesIndex as SeriesIndex, " + "d3.ID as ImageIndex," + "d3.FileLocation as FileLocation," + "d3.ImageInstanceUID as ImageInstanceUID," + "d3.CreateDateTime as CreateDateTime," + "d3.ImageDelete as ImageDelete," + "d3.ImageSend as ImageSend," + "d3.FileType as FileType," + "d3.AcquisitionDate as AcquisitionDate," + "d3.AcquisitionTime as AcquisitionTime," + "d3.AcquisitionNumber as AcquisitionNumber," + "d3.ImageStorage as ImageStorage, " + "d3.ImageNumber as ImageNumber " + " from Image as d3;" + ); + + + ExecuteNonQuery( + "DROP VIEW IF EXISTS StorageInfo;" + "CREATE VIEW StorageInfo as " + "select " + "(select d1.ID from Study as d1 where d3.StudyIndex=d1.ID) as StudyIndex," + "(select d1.PatientIndex from Study as d1 where d3.StudyIndex=d1.ID) as PatientIndex," + "(select d1.StudyDate from Study as d1 where d3.StudyIndex=d1.ID) as StudyDate," + "(select d1.StudyTime from Study as d1 where d3.StudyIndex=d1.ID) as StudyTime," + "(select d1.StudyInstanceUID from Study as d1 where d3.StudyIndex=d1.ID) as StudyInstanceUID," + "(select d2.SeriesNumber from Series as d2 where d2.ID=d3.SeriesIndex) as SeriesNumber, " + "(select d2.Modality from Series as d2 where d2.ID=d3.SeriesIndex) as Modality, " + "(select d2.SeriesInstanceUID from Series as d2 where d2.ID=d3.SeriesIndex) as SeriesInstanceUID, " + "d3.SeriesIndex as SeriesIndex, " + "d3.ID as ImageIndex," + "d3.FileLocation as FileLocation," + "d3.ImageInstanceUID as ImageInstanceUID," + "d3.CreateDateTime as CreateDateTime," + "d3.ImageDelete as ImageDelete," + "d3.ImageSend as ImageSend," + "d3.FileType as FileType," + "d3.AcquisitionDate as AcquisitionDate," + "d3.AcquisitionTime as AcquisitionTime," + "d3.AcquisitionNumber as AcquisitionNumber," + "d3.ImageStorage as ImageStorage," + "(select p.PatientID from Patient as p where (select d1.PatientIndex from Study as d1 where d3.StudyIndex=d1.ID)=p.ID) as PatientID," + "(select p.PatientName from Patient as p where (select d1.PatientIndex from Study as d1 where d3.StudyIndex=d1.ID)=p.ID) as PatientName," + "(select p.PatientAge from Patient as p where (select d1.PatientIndex from Study as d1 where d3.StudyIndex=d1.ID)=p.ID) as PatientAge, " + "(select p.PatientSex from Patient as p where (select d1.PatientIndex from Study as d1 where d3.StudyIndex=d1.ID)=p.ID) as PatientSex, " + "d3.ImageNumber as ImageNumber " + " from Image as d3; " + ); +} + + + +bool SDatabase::IsExecute() +{ + return m_bExecute; +} + + + +int SDatabase::GetStudyIndexWithStudyInstanceUID(const QString& strStudyInstanceUID) +{ + QString query = "SELECT ID FROM Study WHERE StudyInstanceUID = ?;"; + return executeScalar(query, {strStudyInstanceUID}).toInt(); +} + + +vector SDatabase::GetSendList(int nStudyIndex) +{ + vector fileList; + QString queryStr = "SELECT FileLocation FROM Image WHERE StudyIndex = ? AND ImageSend = 0 AND FileType = 0 AND ImageDelete = 0 ORDER BY AcquisitionNumber;"; + + QSqlDatabase db = QSqlDatabase::database(m_connectionName); + QSqlQuery query(db); + query.prepare(queryStr); + query.addBindValue(nStudyIndex); + + if (query.exec()) { + while (query.next()) { + fileList.push_back(query.value(0).toString()); + } + } + return fileList; +} + +QList SDatabase::GetExitSendListInfo(int nStudyIndex) +{ + QString queryStr = "SELECT FileLocation, AcquisitionNumber, AcquisitionDate, AcquisitionTime, ImageDelete, ImageSend " + "FROM Image WHERE StudyIndex = ? AND FileType = '0' AND ImageDelete = 0 AND ImageSend = 0 ORDER BY AcquisitionNumber;"; + + QList finalList; + QList tempResult; + if (ExecuteQuery(queryStr, {nStudyIndex}, tempResult)) { + for (const auto* rowPtr : tempResult) { + if (rowPtr) finalList.append(*rowPtr); + } + } + SDatabase::DeleteListReponse(tempResult); + return finalList; +} + +bool SDatabase::CacheWrite() +{ + // 수동 Lock 불필요. Qt DB 드라이버가 스레드별 커넥션을 관리함. + // wal_checkpoint는 WAL 모드에서 의미가 있으며, 메모리 캐시를 디스크에 기록하도록 강제합니다. + return ExecuteNonQuery("PRAGMA wal_checkpoint(TRUNCATE);"); +} + +vector SDatabase::GetSendListAcquisitionTemp(int nStudyIndex) +{ + vector fileList; + QString queryStr = "SELECT FileLocation FROM AcquisitionTemp WHERE StudyIndex = ? AND ImageSend = 0 AND FileType = 0 AND ImageDelete = 0 ORDER BY AcquisitionNumber;"; + + QSqlDatabase db = QSqlDatabase::database(m_connectionName); + QSqlQuery query(db); + query.prepare(queryStr); + query.addBindValue(nStudyIndex); + + if (query.exec()) { + while (query.next()) { + QString fileLocation = query.value(0).toString(); + QFile fileCheck(fileLocation); + // 파일 존재 및 사이즈 체크 로직은 그대로 유지 + if (fileCheck.exists() && fileCheck.size() > 850 && fileCheck.size() < 7230854) { + fileList.push_back(fileLocation); + } + } + } + return fileList; +} + +int SDatabase::GetImageMaxAcquisitionNumber(const QString& strSeriesIndex) +{ + QString query = "SELECT MAX(AcquisitionNumber) FROM Image WHERE SeriesIndex = ?;"; + // toInt()는 NULL이나 변환 실패 시 0을 반환하므로 안전합니다. + return executeScalar(query, {strSeriesIndex.toInt()}).toInt(); +} + +int SDatabase::GetVideoMaxAcquisitionNumber(const QString& strSeriesIndex) +{ + // 위와 로직이 완전히 동일합니다. + QString query = "SELECT MAX(AcquisitionNumber) FROM Image WHERE SeriesIndex = ?;"; + return executeScalar(query, {strSeriesIndex.toInt()}).toInt(); +} + + +void SDatabase::AddAcquisitionTempToImage() +{ + // 1. 사용자님께서 지적해주신 대로, QList로 올바르게 선언합니다. + QList tempRecords; + + // ExecuteQuery는 QList&를 인자로 받습니다. + if (!ExecuteQuery("SELECT * FROM AcquisitionTemp ORDER BY ID ASC;", {}, tempRecords)) { + qWarning() << "Failed to select data from AcquisitionTemp."; + DeleteListReponse(tempRecords); // 실패 시에도 할당된 메모리가 있을 수 있으므로 정리 + return; + } + + if (tempRecords.isEmpty()) { + DeleteListReponse(tempRecords); // 비어있더라도 DeleteListReponse 호출이 안전합니다. + return; + } + + if (!BeginTransaction()) { + qWarning() << "AddAcquisitionTempToImage: Failed to begin transaction."; + DeleteListReponse(tempRecords); + return; + } + + bool bSuccess = true; + QSqlDatabase qdb = QSqlDatabase::database(m_connectionName); + + QSqlQuery updateQuery(qdb); + updateQuery.prepare("UPDATE Image SET ImageDelete = ?, ImageStorage = ?, ImageSend = ?, ImageType = ? " + "WHERE ImageInstanceUID = ?;"); + + QSqlQuery insertQuery(qdb); + insertQuery.prepare("INSERT INTO Image(CreateDateTime, StudyIndex, SeriesIndex, ImageNumber, ImageDelete, ImageStorage, ImageSend, FileType, " + "ImageInstanceUID, FileLocation, ImageType, AcquisitionDate, AcquisitionTime, ContentDate, ContentTime, AcquisitionNumber, " + "InstanceNumber, PatientOrientation, ImageLaterality, ImageComments) " + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"); + + // 2. tempRecords가 포인터 리스트이므로, 루프도 포인터를 순회하도록 수정합니다. + for (const QStringList* rowPtr : tempRecords) + { + if (!rowPtr) { // 포인터가 NULL일 경우를 대비한 방어 코드 + continue; + } + + // 사용 편의를 위해 포인터를 역참조하여 참조 변수에 담습니다. + const QStringList& row = *rowPtr; + + // 3. 데이터를 가져올 때도 .at() 또는 [] 연산자를 사용합니다. + // (컬럼 순서는 AcquisitionTemp 테이블의 스키마와 정확히 일치해야 합니다) + QString imageInstanceUID = row.at(9); + + updateQuery.addBindValue(row.at(5)); // ImageDelete + updateQuery.addBindValue(row.at(6)); // ImageStorage + updateQuery.addBindValue(row.at(7)); // ImageSend + updateQuery.addBindValue(row.at(11)); // ImageType + updateQuery.addBindValue(imageInstanceUID); + + if (!updateQuery.exec()) { + qWarning() << "Manual UPSERT-UPDATE failed:" << updateQuery.lastError().text(); + bSuccess = false; + break; + } + + if (updateQuery.numRowsAffected() == 0) { + // INSERT 쿼리에 모든 컬럼 값을 순서대로 바인딩 (ID(0)는 자동 생성이므로 제외) + for (int i = 1; i < row.size(); ++i) { + insertQuery.addBindValue(row.at(i)); + } + + if (!insertQuery.exec()) { + qWarning() << "Manual UPSERT-INSERT failed:" << insertQuery.lastError().text(); + bSuccess = false; + break; + } + } + } + + if (bSuccess) { + if (!ExecuteNonQuery("DELETE FROM AcquisitionTemp;")) { + bSuccess = false; + } + } + + if (bSuccess) { + Commit(); + } else { + Rollback(); + qWarning() << "AddAcquisitionTempToImage failed and was rolled back."; + } + + // 4. 이제 tempRecords는 new로 할당된 포인터들의 리스트이므로, + // DeleteListReponse를 호출하여 메모리를 해제하는 것이 "반드시" 필요합니다. + DeleteListReponse(tempRecords); +} + +void SDatabase::ClearAcquisitionTempTable() +{ + BeginTransaction(); + if (ExecuteNonQuery("DELETE FROM AcquisitionTemp;") && ExecuteNonQuery("UPDATE SQLITE_SEQUENCE SET seq = 0 WHERE name = 'AcquisitionTemp';")) { + Commit(); + } else { + Rollback(); + } +} + +bool SDatabase::AddImageToAcquisitionTemp(int nStudyIndex) +{ + QString query = "INSERT INTO AcquisitionTemp(ID, CreateDateTime, StudyIndex, SeriesIndex, ImageNumber, ImageDelete, ImageStorage, ImageSend, FileType, " + "ImageInstanceUID, FileLocation, ImageType, AcquisitionDate, AcquisitionTime, ContentDate, ContentTime, AcquisitionNumber, " + "InstanceNumber, PatientOrientation, ImageLaterality, ImageComments) " + "SELECT ID, CreateDateTime, StudyIndex, SeriesIndex, ImageNumber, ImageDelete, ImageStorage, ImageSend, FileType, " + "ImageInstanceUID, FileLocation, ImageType, AcquisitionDate, AcquisitionTime, ContentDate, ContentTime, AcquisitionNumber, " + "InstanceNumber, PatientOrientation, ImageLaterality, ImageComments FROM Image WHERE StudyIndex = ? AND ImageDelete = 0 ORDER BY ID ASC;"; + + return ExecuteNonQuery(query, {nStudyIndex}); +} + + +// 트랜잭션 시작 +bool SDatabase::BeginTransaction() +{ + return QSqlDatabase::database(m_connectionName).transaction(); +} + +// 트랜잭션 커밋 +bool SDatabase::Commit() +{ + return QSqlDatabase::database(m_connectionName).commit(); +} + +// 트랜잭션 롤백 +bool SDatabase::Rollback() +{ + return QSqlDatabase::database(m_connectionName).rollback(); +} + + + +void SDatabase::DeleteListReponse(QList& listResponse) +{ + QList::iterator it; + + for(it=listResponse.begin() ; it!=listResponse.end() ; ++it) + { + QStringList* pDataList = *it; + if(pDataList!=NULL) + { + pDataList->clear(); + SAFE_DELETE(pDataList); + } + } + listResponse.clear(); +} + +vector SDatabase::GetAllFilesForStudyIndex(int studyIndex) +{ + vector fileList; + // FileType으로 먼저 정렬하여 이미지, 비디오 순으로 결과를 받도록 함 + QString queryStr = "SELECT FileLocation FROM StorageInfo WHERE StudyIndex = ? AND ImageDelete = 0 ORDER BY FileType, ImageIndex ASC;"; + + QSqlDatabase db = QSqlDatabase::database(m_connectionName); + QSqlQuery query(db); + query.prepare(queryStr); + query.addBindValue(studyIndex); + + if (query.exec()) { + while (query.next()) { + fileList.push_back(query.value(0).toString()); + } + } + return fileList; +} diff --git a/sdatabase.cpp.old b/sdatabase.cpp.old new file mode 100644 index 0000000..8c76e37 --- /dev/null +++ b/sdatabase.cpp.old @@ -0,0 +1,2403 @@ +#include "sdatabase.h" + +#include + +#include + +#include "mainwindow.h" + +using namespace SUTIL; + +SDatabase::SDatabase(QObject *parent) : QObject(parent) +{ + m_pResult = new QList; + + m_bExecute = false; + + OpenDatabase("/home/birdhead/test.db"); +} + +SDatabase::~SDatabase() +{ + Clear(); + SAFE_DELETE(m_pResult); + + CloseDatabase(); +} + +int SDatabase::OpenDatabase(QString strFilename) +{ + int rv = 0; + + rv = sqlite3_open_v2(strFilename.toStdString().c_str(), &m_pSqliteDB, SQLITE_OPEN_READWRITE, NULL); + + if(rv!=SQLITE_OK) + { + if(rv==14) + { + rv = sqlite3_open_v2(strFilename.toStdString().c_str(), &m_pSqliteDB, SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE, NULL); + } + + if(rv!=SQLITE_OK) + { + return rv; + } + + if(rv==SQLITE_OK) + { + MakeTableDataInfo(); + MakeAcquisitionTempTable(); + + QString strInitConnectionInfo = "insert into ConnectionInfo (WorklistPort) values (0);"; + Execute(strInitConnectionInfo); + + QString strInitAdvancedSetting = "insert into AdvancedSetting (EnableNetworkShare) values ('Disabled');"; + Execute(strInitAdvancedSetting); + + QString strInitLoginUser = "insert into LoginUser (LoginID, LoginPassword) values ('admin', 'smartquadra')"; + Execute(strInitLoginUser); + } + + MakeViewTable(); + + sqlite3_exec(m_pSqliteDB, "PRAGMA synchronous = FULL;", 0, 0, 0); + sqlite3_exec(m_pSqliteDB, "PRAGMA page_size = 4096;", 0, 0, 0); + sqlite3_exec(m_pSqliteDB, "PRAGMA cache_size = 16384;", 0, 0, 0); + sqlite3_exec(m_pSqliteDB, "PRAGMA temp_store = MEMORY;", 0, 0, 0); + sqlite3_exec(m_pSqliteDB, "PRAGMA journal_mode = OFF;", 0, 0, 0); + sqlite3_exec(m_pSqliteDB, "PRAGMA locking_mode = EXCLUSIVE;", 0, 0, 0); + + return 1; + + } + else + { + sqlite3_exec(m_pSqliteDB, "VACUUM;", 0, 0, 0); + + //PRAGMA synchronous = OFF + //PRAGMA page_size = 4096 + //PRAGMA cache_size = 16384 + //PRAGMA temp_store = MEMORY + //PRAGMA journal_mode = OFF + //PRAGMA locking_mode = EXCLUSIVE + + sqlite3_exec(m_pSqliteDB, "PRAGMA synchronous = FULL;", 0, 0, 0); + sqlite3_exec(m_pSqliteDB, "PRAGMA page_size = 4096;", 0, 0, 0); + sqlite3_exec(m_pSqliteDB, "PRAGMA cache_size = 16384;", 0, 0, 0); + sqlite3_exec(m_pSqliteDB, "PRAGMA temp_store = MEMORY;", 0, 0, 0); + sqlite3_exec(m_pSqliteDB, "PRAGMA journal_mode = OFF;", 0, 0, 0); + sqlite3_exec(m_pSqliteDB, "PRAGMA locking_mode = EXCLUSIVE;", 0, 0, 0); + } + + int nSqlite3_ThreadSafe = sqlite3_threadsafe(); + + CheckAdavancedTable(); + CheckLoginTable(); + MakeAcquisitionTempTable(); + + QString strQuery; + QList* pResult = NULL; + strQuery = "select * from SReserveTable;"; + ExecuteQuery(strQuery); + pResult = GetResult(); + if(pResult->size()==0) + { + MakeTableReserved(); + QString strInitAdvancedSetting = "insert into SReserveTable (Reserve1) values ('');"; + Execute(strInitAdvancedSetting); + } + + MakeViewTable(); + + return 0; + +} + +void SDatabase::CloseDatabase() +{ + sqlite3_close(m_pSqliteDB); + +} + +int SDatabase::ExecuteFindQuery(QString strQuery) +{ + int nFind = -1; + + if(m_pSqliteDB==NULL) + { + return -1; + } + + int rst = SQLITE_OK; + sqlite3* pSqLite3 = NULL; + int nLength = 0; + sqlite3_stmt* pSTMT = NULL; + char* szErrMsg = NULL; + int nCount = 0; + + char* pStrQuery = (char*) strQuery.toStdString().c_str(); + + nLength = strlen(pStrQuery); + rst = sqlite3_prepare(m_pSqliteDB, pStrQuery, nLength, &pSTMT, NULL); + + if(rst==SQLITE_OK) + { + int nTotalCount = 0; + + while ( sqlite3_step(pSTMT) == SQLITE_ROW && nTotalCount<100) + { + nCount = sqlite3_data_count(pSTMT); + + + int i=0; + + for ( i=0; i < nCount; i++ ) + { + char* pColumnData = (char*)sqlite3_column_text(pSTMT, i); + nFind = atoi(pColumnData); + break; + } + + nTotalCount++; + } + + sqlite3_finalize(pSTMT); + } + else + { + + + } + + if(szErrMsg!=NULL) + { + sqlite3_free(szErrMsg); + szErrMsg = NULL; + } + + return nFind; + +} + +int SDatabase::ExecuteQuery(QString strQuery, QList* pResultRef, int nReturnMaxCount) +{ + int nLockTry = 10; + int i=0; + bool bLock = false; + while(i* pResult = NULL; + + pResult = pResultRef; + + Clear(); + + if(pResultRef==NULL) + { + pResult = m_pResult; + + } + + + + + + int rst = SQLITE_OK; + sqlite3* pSqLite3 = NULL; + int nLength = 0; + sqlite3_stmt* pSTMT = NULL; + char* szErrMsg = NULL; + int nCount = 0; + + std::string stringData = strQuery.toStdString(); + //qDebug() << stringData.c_str(); + nLength = stringData.length(); + + char* pStrQuery = new char[nLength+1]; + memcpy(pStrQuery, stringData.c_str() , nLength); + pStrQuery[nLength] = '\0'; + //qDebug() << (const char*)pStrQuery; + + rst = sqlite3_prepare_v2(m_pSqliteDB, strQuery.toUtf8().data(), nLength, &pSTMT, NULL); + //sqlite3_exec(m_pSqliteDB, "VACUUM;", 0, 0, 0); + + delete[] pStrQuery; + + if(rst==SQLITE_OK) + { + int nTotalCount = 0; + + + + while ( sqlite3_step(pSTMT) == SQLITE_ROW && nTotalCountpush_back(pDataList); + + for ( i=0; i < nCount; i++ ) + { + char* pColumnData = (char*)sqlite3_column_text(pSTMT, i); + pDataList->push_back(pColumnData); + } + + nTotalCount++; + } + + sqlite3_finalize(pSTMT); + } + else + { + + + } + + + + if(szErrMsg!=NULL) + { + MainWindow::GetCommonData()->WriteLog(szErrMsg); + sqlite3_free(szErrMsg); + szErrMsg = NULL; + } + + m_bExecute = false; + m_Lock.unlock(); + + return nFind; +} + +int SDatabase::Execute(QString strExecuteQuery) +{ + int nLockTry = 10; + int i=0; + bool bLock = false; + while(iWriteLog(szErrMsg); + sqlite3_free(szErrMsg); + szErrMsg = NULL; + + + + + return -1; + } + } + + return 0; +} + +void SDatabase::MakeTableUser() +{ + Execute("DROP TABLE IF EXISTS LoginUser; \ + CREATE TABLE LoginUser (\ + `ID` INTEGER Primary Key AutoIncrement UNIQUE,\ + `ModifyDateTime` DateTime DEFAULT (datetime('now','localtime')),\ + `LoginID` varchar(32) DEFAULT '',\ + `LoginPassword` varchar(32) DEFAULT '',\ + `ConnectionInfoIndex` int(10) DEFAULT '1',\ + `AdvancedSettingIndex` int(10) DEFAULT '1');"); +} + +void SDatabase::MakeAcquisitionTempTable() +{ + Execute( /*"DROP TABLE IF EXISTS AcquisitionTemp; \*/ + "CREATE TABLE IF NOT EXISTS AcquisitionTemp (\ + `ID` INTEGER Primary Key AutoIncrement UNIQUE,\ + `CreateDateTime` DateTime DEFAULT (datetime('now','localtime')),\ + `StudyIndex` int DEFAULT 0,\ + `SeriesIndex` int DEFAULT 0,\ + `ImageNumber` int DEFAULT 0,\ + `ImageDelete` int DEFAULT 0,\ + `ImageStorage` int DEFAULT 0,\ + `ImageSend` int DEFAULT 0,\ + `FileType` int DEFAULT 0,\ + `ImageInstanceUID` varchar(256) DEFAULT '' UNIQUE,\ + `FileLocation` varchar(512) DEFAULT '', \ + `ImageType` varchar(10) DEFAULT '0', \ + `AcquisitionDate` varchar(10) DEFAULT '', \ + `AcquisitionTime` varchar(16) DEFAULT '', \ + `ContentDate` varchar(10) DEFAULT '', \ + `ContentTime` varchar(16) DEFAULT '', \ + `AcquisitionNumber` int DEFAULT 0, \ + `InstanceNumber` int DEFAULT 0, \ + `PatientOrientation` varchar(8) DEFAULT '', \ + `ImageLaterality` varchar(2) DEFAULT '', \ + `ImageComments` varchar(512) DEFAULT '');"); + +} + +void SDatabase::MakeTableAdvancedSetting() +{ + Execute("DROP TABLE IF EXISTS AdvancedSetting; \ + CREATE TABLE AdvancedSetting (\ + `ID` INTEGER Primary Key AutoIncrement UNIQUE,\ + `ModifyDateTime` DateTime DEFAULT (datetime('now','localtime')),\ + `AutoCaptureSendDICOM` INTEGER DEFAULT '0',\ + `AutoCloseSendFinish` INTEGER DEFAULT '0',\ + `AutoExitCaptureSendDICOM` INTEGER DEFAULT '0',\ + `AutoLogin` INTEGER DEFAULT '1',\ + `DICOMCharacterSet` varchar(16) DEFAULT 'EUC-KR',\ + `AutoVideoCapture` INTEGER DEFAULT '0',\ + `DICOMCompress` INTEGER DEFAULT '0',\ + `VideoMode` INTEGER DEFAULT '0',\ + `CropMode` INTEGER DEFAULT '0',\ + `ScreenSaverTime` INTEGER DEFAULT '0',\ + `UseFixWidthLevel` INTEGER DEFAULT '0',\ + `UseLogLevel` INTEGER DEFAULT '0',\ + `EnableNetworkShare` varchar(10) DEFAULT 'Disabled',\ + `NetworkAutoSend` varchar(10) DEFAULT 'Disabled',\ + `NetworkShareIP` varchar(32) DEFAULT '127.0.0.1',\ + `NetworkShareFolder` varchar(256) DEFAULT 'Share Folder',\ + `NetworkSMBVersion` varchar(10) DEFAULT 'SMB Version',\ + `NetworkShareID` varchar(256) DEFAULT 'Share ID',\ + `NetworkSharePassword` varchar(256) DEFAULT 'Share Password');"); +} + +void SDatabase::MakeTableReserved() +{ + Execute("DROP TABLE IF EXISTS SReserveTable; \ + CREATE TABLE SReserveTable (\ + `ID` INTEGER Primary Key AutoIncrement UNIQUE,\ + `Reserve1` varchar(10) DEFAULT '',\ + `Reserve2` varchar(10) DEFAULT '',\ + `Reserve3` varchar(10) DEFAULT '',\ + `Reserve4` varchar(10) DEFAULT '',\ + `Reserve5` varchar(10) DEFAULT '',\ + `Reserve6` varchar(10) DEFAULT '',\ + `Reserve7` varchar(10) DEFAULT '',\ + `Reserve8` varchar(10) DEFAULT '',\ + `Reserve9` varchar(10) DEFAULT '',\ + `Reserve10` varchar(10) DEFAULT '',\ + `Reserve11` varchar(10) DEFAULT '',\ + `Reserve12` varchar(10) DEFAULT '',\ + `Reserve13` varchar(10) DEFAULT '',\ + `Reserve14` varchar(10) DEFAULT '',\ + `Reserve15` varchar(10) DEFAULT '',\ + `Reserve16` varchar(10) DEFAULT '',\ + `Reserve17` varchar(10) DEFAULT '',\ + `Reserve18` varchar(10) DEFAULT '',\ + `Reserve19` varchar(10) DEFAULT '',\ + `Reserve20` varchar(10) DEFAULT '');"); +} + +void SDatabase::MakeTableDataInfo() +{ + Execute("DROP TABLE IF EXISTS ConnectionInfo; \ + CREATE TABLE ConnectionInfo (\ + `ID` INTEGER Primary Key AutoIncrement UNIQUE,\ + `ModifyDateTime` DateTime DEFAULT (datetime('now','localtime')),\ + `WorklistServerIP` varchar(15) DEFAULT '',\ + `WorklistPort` int(10) DEFAULT '0',\ + `WorklistServerTitle` varchar(64) DEFAULT '',\ + `WorklistClientTitle` varchar(64) DEFAULT '',\ + `StorageServerIP` varchar(15) DEFAULT '',\ + `StoragePort` int(10) DEFAULT '0',\ + `StorageServerTitle` varchar(64) DEFAULT '',\ + `StorageClientTitle` varchar(64) DEFAULT '',\ + `Modality` varchar(10) DEFAULT 'ES',\ + `HospitalName` varchar(64) DEFAULT '',\ + `StationName` varchar(64) DEFAULT '',\ + `EnableLog` varchar(10) DEFAULT 'Disabled',\ + `LocalImageFolder` varchar(256) DEFAULT '/work/test/storage',\ + `LocalLogFolder` varchar(256) DEFAULT '/work/test',\ + `LocalHistoryFolder` varchar(256) DEFAULT '/work/test');"); + + Execute("DROP TABLE IF EXISTS Patient; \ + CREATE TABLE Patient (\ + `ID` INTEGER Primary Key AutoIncrement UNIQUE,\ + `CreateDateTime` DateTime DEFAULT (datetime('now','localtime')),\ + `PatientName` varchar(32) DEFAULT '',\ + `PatientAge` varchar(16) DEFAULT '',\ + `PatientID` varchar(32) DEFAULT '', \ + `PatientSex` varchar(8) DEFAULT '', \ + `PatientBirthDate` varchar(10) DEFAULT '', \ + `PatientBirthTime` varchar(16) DEFAULT '', \ + `PatientWeight` varchar(8) DEFAULT '', \ + `PatientComments` varchar(16) DEFAULT '');"); + + + Execute("DROP TABLE IF EXISTS Study; \ + CREATE TABLE Study (\ + `ID` INTEGER Primary Key AutoIncrement UNIQUE,\ + `CreateDateTime` DateTime DEFAULT (datetime('now','localtime')),\ + `StudyInstanceUID` varchar(256) DEFAULT '' UNIQUE,\ + `PatientIndex` int DEFAULT 0,\ + `PatientLocation` varchar(8) DEFAULT '', \ + `StudyDate` varchar(10) DEFAULT '', \ + `StudyTime` varchar(16) DEFAULT '', \ + `StudyCodeValue` varchar(64) DEFAULT '', \ + `AccessionNumber` varchar(64) DEFAULT '', \ + `StudyDescription` varchar(256) DEFAULT '', \ + `ReferringPhysiciansName` varchar(32) DEFAULT '');"); + + Execute("DROP TABLE IF EXISTS Series; \ + CREATE TABLE Series (\ + `ID` INTEGER Primary Key AutoIncrement UNIQUE,\ + `CreateDateTime` DateTime DEFAULT (datetime('now','localtime')),\ + `StudyIndex` int DEFAULT 0,\ + `SeriesDate` varchar(10) DEFAULT '', \ + `SeriesTime` varchar(16) DEFAULT '', \ + `SeriesNumber` int DEFAULT 0,\ + `SeriesInstanceUID` varchar(256) DEFAULT '' UNIQUE,\ + `Modality` varchar(8) DEFAULT '', \ + `BodyPartExamined` varchar(32) DEFAULT '', \ + `SeriesDescription` varchar(256) DEFAULT '', \ + `OperatorsName` varchar(64) DEFAULT '');"); + + + Execute("DROP TABLE IF EXISTS Image; \ + CREATE TABLE Image (\ + `ID` INTEGER Primary Key AutoIncrement UNIQUE,\ + `CreateDateTime` DateTime DEFAULT (datetime('now','localtime')),\ + `StudyIndex` int DEFAULT 0,\ + `SeriesIndex` int DEFAULT 0,\ + `ImageNumber` int DEFAULT 0,\ + `ImageDelete` int DEFAULT 0,\ + `ImageStorage` int DEFAULT 0,\ + `ImageSend` int DEFAULT 0,\ + `FileType` int DEFAULT 0,\ + `ImageInstanceUID` varchar(256) DEFAULT '' UNIQUE,\ + `FileLocation` varchar(512) DEFAULT '', \ + `ImageType` varchar(10) DEFAULT '0', \ + `AcquisitionDate` varchar(10) DEFAULT '', \ + `AcquisitionTime` varchar(16) DEFAULT '', \ + `ContentDate` varchar(10) DEFAULT '', \ + `ContentTime` varchar(16) DEFAULT '', \ + `AcquisitionNumber` int DEFAULT 0, \ + `InstanceNumber` int DEFAULT 0, \ + `PatientOrientation` varchar(8) DEFAULT '', \ + `ImageLaterality` varchar(2) DEFAULT '', \ + `ImageComments` varchar(512) DEFAULT '');"); + + Execute("DROP TABLE IF EXISTS WorklistTableHeader; \ + CREATE TABLE WorklistTableHeader (\ + `ID` INTEGER Primary Key AutoIncrement UNIQUE,\ + `CreateDateTime` DateTime DEFAULT (datetime('now','localtime')),\ + `DefaultIndex` int DEFAULT 0,\ + `DisplayIndex` int DEFAULT 0,\ + `DisplayWidth` int DEFAULT 120,\ + `ValueString` varchar(64) DEFAULT '',\ + `Visible` int DEFAULT 0);"); + + Execute("DROP TABLE IF EXISTS HistoryTableHeader; \ + CREATE TABLE HistoryTableHeader (\ + `ID` INTEGER Primary Key AutoIncrement UNIQUE,\ + `CreateDateTime` DateTime DEFAULT (datetime('now','localtime')),\ + `DefaultIndex` int DEFAULT 0,\ + `DisplayIndex` int DEFAULT 0,\ + `DisplayWidth` int DEFAULT 120,\ + `ValueString` int DEFAULT 0,\ + `Visible` int DEFAULT 0);"); + + Execute("DROP VIEW IF EXISTS Storage;" + "CREATE VIEW Storage as select d2.SeriesNumber, d3.ID as ImageIndex, d1.ID as StudyIndex, d2.ID as SeriesIndex, d1.PatientIndex, d2.Modality, d1.StudyDate, d1.StudyTime, d3.FileLocation, d1.StudyInstanceUID, d2.SeriesInstanceUID, d3.ImageInstanceUID, d3.CreateDateTime, d3.ImageDelete, d3.ImageSend, d3.FileType, d3.AcquisitionDate, d3.AcquisitionTime, d3.AcquisitionNumber, d3.ImageStorage from Study as d1 join (Series as d2 join Image as d3 on d3.seriesIndex=d2.id) on d1.id=d2.studyindex;"); + + Execute("DROP VIEW IF EXISTS StorageInfo;" + "CREATE VIEW StorageInfo as select d1.*, d3.PatientID, d3.PatientName, d3.PatientAge, d3.PatientSex, (select count(*) from Storage as d2 where d1.StudyInstanceUID=d2.StudyInstanceUID) as TotalImageCount from Storage as d1 join Patient as d3 on (d1.PatientIndex=d3.ID)"); + + //Execute("DROP VIEW IF EXISTS HistoryStudy;" + //"CREATE VIEW HistoryStudy as select d4.ID, d4.PatientIndex, d5.PatientID, d5.PatientName, d5.PatientAge, d5.PatientSex, d5.PatientBirthDate, d5.PatientWeight, d4.CreateDateTime, d4.StudyDate, d4.StudyTime, d4.StudyCodeValue, d4.PatientLocation, d4.AccessionNumber, d4.ReferringPhysiciansName, d4.StudyInstanceUID, d4.SeriesInstanceUID, d4.StudyDescription, d4.SeriesDescription, d4.OperatorsName, d4.ImageCount, d4.ImageSend, d4.Modality, d4.SeriesDate, d4.SeriesTime, d4.SeriesNumber from (select *, (select count(*) from Image as d3 where d3.StudyIndex=d1.ID and d3.ImageDelete=0) as ImageCount, (select sum(ImageSend) from Image as d3 where d3.StudyIndex=d1.ID and d3.ImageDelete=0) as ImageSend from Study as d1 join Series as d2 on (d2.StudyIndex=d1.ID)) as d4 join Patient as d5 on (d4.PatientIndex=d5.ID)"); + + + /* + Execute("DROP VIEW IF EXISTS HistoryStudy;" + "CREATE VIEW HistoryStudy as " + "select d4.StudyIndex, d4.PatientIndex, d5.PatientID, d5.PatientName, d5.PatientAge, d5.PatientSex, d5.PatientBirthDate, d5.PatientWeight, d4.CreateDateTime, d4.StudyDate, d4.StudyTime, d4.StudyCodeValue, d4.PatientLocation, d4.AccessionNumber, d4.ReferringPhysiciansName, d4.StudyInstanceUID, d4.SeriesInstanceUID, d4.StudyDescription, d4.SeriesDescription, d4.OperatorsName, d4.ImageCount, d4.ImageSend, d4.Modality, d4.SeriesDate, d4.SeriesTime, max(d4.SeriesNumber), d4.VideoCount " + "from (select *, (select count(*) from Image as d3 where d3.StudyIndex=d1.ID and d3.SeriesIndex=1 and d3.ImageDelete=0) as ImageCount, " + "(select count(*) from Image as d3 where d3.StudyIndex=d1.ID and d3.SeriesIndex=2 and d3.ImageDelete=0) as VideoCount, " + "(select sum(ImageSend) from Image as d3 where d3.StudyIndex=d1.ID) as ImageSend " + "from Study as d1 join Series as d2 on (d2.StudyIndex=d1.ID)) as d4 join Patient as d5 on (d4.PatientIndex=d5.ID)"); + + Execute("DROP VIEW IF EXISTS HistoryStudyWithDelete;" + "CREATE VIEW HistoryStudyWithDelete as " + "select d4.StudyIndex, d4.PatientIndex, d5.PatientID, d5.PatientName, d5.PatientAge, d5.PatientSex, d5.PatientBirthDate, d5.PatientWeight, d4.CreateDateTime, d4.StudyDate, d4.StudyTime, d4.StudyCodeValue, d4.PatientLocation, d4.AccessionNumber, d4.ReferringPhysiciansName, d4.StudyInstanceUID, d4.SeriesInstanceUID, d4.StudyDescription, d4.SeriesDescription, d4.OperatorsName, d4.ImageCount, d4.ImageSend, d4.Modality, d4.SeriesDate, d4.SeriesTime, max(d4.SeriesNumber), d4.VideoCount " + "from (select *, (select count(*) from Image as d3 where d3.StudyIndex=d1.ID and d3.SeriesIndex=1) as ImageCount, " + "(select count(*) from Image as d3 where d3.StudyIndex=d1.ID and d3.SeriesIndex=2) as VideoCount, " + "(select sum(ImageSend) from Image as d3 where d3.StudyIndex=d1.ID) as ImageSend " + "from Study as d1 join Series as d2 on (d2.StudyIndex=d1.ID)) as d4 join Patient as d5 on (d4.PatientIndex=d5.ID)"); + */ + + Execute("DROP VIEW IF EXISTS HistoryStudy;" + "CREATE VIEW HistoryStudy as " + "select StudyIndex, PatientIndex, PatientID, PatientName, PatientAge, PatientSex, PatientBirthDate, PatientWeight, CreateDateTime, StudyDate, StudyTime, StudyCodeValue, PatientLocation, AccessionNumber, ReferringPhysiciansName, StudyInstanceUID, SeriesInstanceUID, StudyDescription, SeriesDescription, OperatorsName, ImageCount, ImageSendCount, Modality, SeriesDate, SeriesTime, SeriesNumber, VideoCount from (select DISTINCT(d1.ID), d3.StudyIndex, d1.PatientIndex, d4.PatientID, d4.PatientName, d4.PatientAge, d4.PatientSex, d4.PatientBirthDate, d4.PatientWeight, d4.CreateDateTime, d1.StudyDate, d1.StudyTime, d1.StudyCodeValue, d1.PatientLocation, d1.AccessionNumber, d1.ReferringPhysiciansName, d1.StudyInstanceUID, d2.SeriesInstanceUID, d1.StudyDescription, d2.SeriesDescription, d2.OperatorsName, (select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=0 and Image.ImageDelete=0 and Image.ImageSend=1) as ImageSendCount, (select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=0 and Image.ImageDelete=0) as ImageCount, d2.Modality, d2.SeriesDate, d2.SeriesTime, d2.SeriesNumber, (select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=1 and Image.ImageDelete=0) as VideoCount from Study as d1 join Series as d2 on (d1.ID=d2.StudyIndex) join Image as d3 on(d2.ID=d3.SeriesIndex and d2.SeriesNumber=1) join Patient as d4 on (d4.ID=d1.PatientIndex))"); + + + Execute("DROP VIEW IF EXISTS HistoryStudyWithDelete;" + "CREATE VIEW HistoryStudyWithDelete as " + "select StudyIndex, PatientIndex, PatientID, PatientName, PatientAge, PatientSex, PatientBirthDate, PatientWeight, CreateDateTime, StudyDate, StudyTime, StudyCodeValue, PatientLocation, AccessionNumber, ReferringPhysiciansName, StudyInstanceUID, SeriesInstanceUID, StudyDescription, SeriesDescription, OperatorsName, ImageCount, ImageSend, Modality, SeriesDate, SeriesTime, SeriesNumber, VideoCount from (select DISTINCT(d1.ID), d3.StudyIndex, d1.PatientIndex, d4.PatientID, d4.PatientName, d4.PatientAge, d4.PatientSex, d4.PatientBirthDate, d4.PatientWeight, d4.CreateDateTime, d1.StudyDate, d1.StudyTime, d1.StudyCodeValue, d1.PatientLocation, d1.AccessionNumber, d1.ReferringPhysiciansName, d1.StudyInstanceUID, d2.SeriesInstanceUID, d1.StudyDescription, d2.SeriesDescription, d2.OperatorsName, (select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=0 ) as ImageCount, d3.ImageSend, d2.Modality, d2.SeriesDate, d2.SeriesTime, d2.SeriesNumber, (select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=1) as VideoCount from Study as d1 join Series as d2 on (d1.ID=d2.StudyIndex) join Image as d3 on(d2.ID=d3.SeriesIndex and d2.SeriesNumber=1) join Patient as d4 on (d4.ID=d1.PatientIndex))"); + + + MakeTableAdvancedSetting(); + MakeTableUser(); + + MakeViewTable(); + + + int i=0; + QStringList strList; + strList << "ID" << "Name" << "Sex" << "Weight" << "BirthDate" << "Age" << "Patient Location" << "Study Instance UID" << "Study Description" << "Study Date" << "Study Time" << "Study Create Date" << "Refer Doctor" << "Series Instance UID" << "Operator" << "Modality" << "Bodypart" << "Series Description" << "Instance UID" << "Instance Create Date" << "Instance Create Time" << "Scheduled Date" << "Scheduled Time" << "Procedure Step ID" << "Procedure ID" << "Requested Comments" << "Index" << "Image Count" << "Send Count" << "Movie Count" << "Total Count" << "Accession Number" << "Performing Physician" << "CodeValue"; + + QString strQuery; + for(i=0 ; i* SDatabase::QueryWorklistTableHeader() +{ + QString strQuery; + strQuery = QString("select DefaultIndex, DisplayIndex, ValueString, Visible, DisplayWidth from WorklistTableHeader order by DisplayIndex asc;"); + ExecuteQuery(strQuery); + return m_pResult; +} + +QList* SDatabase::QueryWorklistTableHeaderVisible() +{ + QString strQuery; + strQuery = QString("select DefaultIndex, DisplayIndex, ValueString, DisplayWidth from WorklistTableHeader where Visible=1 order by DisplayIndex asc;"); + ExecuteQuery(strQuery); + return m_pResult; +} + +QList* SDatabase::QueryWorklistTableHeaderInvisible() +{ + QString strQuery; + strQuery = QString("select DefaultIndex, DisplayIndex, ValueString, DisplayWidth from WorklistTableHeader where Visible=0 order by DisplayIndex asc;"); + ExecuteQuery(strQuery); + return m_pResult; +} + +QList* SDatabase::QueryHistoryTableHeader() +{ + QString strQuery; + strQuery = QString("select DefaultIndex, DisplayIndex, ValueString, Visible, DisplayWidth from HistoryTableHeader order by DisplayIndex asc;"); + ExecuteQuery(strQuery); + return m_pResult; +} + +QList* SDatabase::QueryHistoryTableHeaderVisible() +{ + QString strQuery; + strQuery = QString("select DefaultIndex, DisplayIndex, ValueString, DisplayWidth from HistoryTableHeader where Visible=1 order by DisplayIndex asc;"); + ExecuteQuery(strQuery); + return m_pResult; +} + +QList* SDatabase::QueryHistoryTableHeaderInvisible() +{ + QString strQuery; + strQuery = QString("select DefaultIndex, DisplayIndex, ValueString, DisplayWidth from HistoryTableHeader where Visible=0 order by DisplayIndex asc;"); + ExecuteQuery(strQuery); + return m_pResult; +} + +void SDatabase::Clear() +{ + QList::iterator it; + for(it=m_pResult->begin() ; it!=m_pResult->end() ; ++it) + { + QStringList* pDataList = *it; + if(pDataList!=NULL) + { + pDataList->clear(); + delete pDataList; + + } + } + + m_pResult->clear(); +} + +int SDatabase::InsertPatient(ACQUISITION_INFO *pAcquisitionInfo) +{ + int nPatientIndex = 0; + QString strPatientID; + QString strPatientName; + QString strPatientAge; + QString strPatientSex; + QString strPatientBirthDate; + QString strPatientBirthTime; + QString strPatientWeight; + QString strPatientComments; + + strPatientID = pAcquisitionInfo->GetPatientInfo()->strPatientID.c_str(); + strPatientName = pAcquisitionInfo->GetPatientInfo()->strPatientName.c_str(); + strPatientAge = pAcquisitionInfo->GetPatientInfo()->strPatientAge.c_str(); + strPatientSex = pAcquisitionInfo->GetPatientInfo()->strPatientSex.c_str(); + strPatientBirthDate = pAcquisitionInfo->GetPatientInfo()->strPatientBirthDate.c_str(); + strPatientBirthTime = pAcquisitionInfo->GetPatientInfo()->strPatientBirthTime.c_str(); + strPatientWeight = pAcquisitionInfo->GetPatientInfo()->strPatientWeight.c_str(); + strPatientComments = pAcquisitionInfo->GetPatientInfo()->strPatientComments.c_str(); + + + QString strQuery; + strQuery = QString("select ID from Patient where PatientID='%1' and PatientName='%2';").arg(strPatientID).arg(strPatientName); + + QList listResponse; + + ExecuteQuery(strQuery, &listResponse); + + if(listResponse.size()==0) + { + SDatabase::DeleteListReponse(listResponse); + + strQuery = QString("insert into Patient(`PatientID`, `PatientName`, `PatientAge`, `PatientSex`, `PatientBirthDate`, `PatientBirthTime`, `PatientWeight`, `PatientComments`) values ('%1', '%2', '%3', '%4', '%5', '%6', '%7', '%8'); ").arg(strPatientID).arg(strPatientName).arg(strPatientAge).arg(strPatientSex).arg(strPatientBirthDate).arg(strPatientBirthTime).arg(strPatientWeight).arg(strPatientComments); + Execute(strQuery); + + strQuery = QString("select ID from Patient where PatientID='%1' and PatientName='%2';").arg(strPatientID).arg(strPatientName); + ExecuteQuery(strQuery, &listResponse); + } + + if(listResponse.size()>0) + { + QString strIndex; + QStringList* pDataList = listResponse.at(0); + if(pDataList->size()>0) + { + strIndex = pDataList->at(0); + } + + nPatientIndex = strIndex.toInt(); + + pAcquisitionInfo->m_nIndexPatient = nPatientIndex; + pAcquisitionInfo->GetStudyInfo()->nPatientIndex = nPatientIndex; + + } + + SDatabase::DeleteListReponse(listResponse); + + return nPatientIndex; +} + +int SDatabase::InsertStudy(ACQUISITION_INFO *pAcquisitionInfo) +{ + int nIndexStudy = 0; + int nIndexPatient = pAcquisitionInfo->m_nIndexPatient; + + QDateTime dt = QDateTime::currentDateTime(); + + QString strDate; + QString strTime; + QString strStudyInstanceUID; + QString strAccessionNumber; + QString strPatientLocation; + QString strStudyDescription; + QString strReferringPhysiciansName; + QString strStudyCodeValue; + + QString strQuery; + + QDate nDate = dt.date(); + QTime nTime = dt.time(); + + strPatientLocation = pAcquisitionInfo->GetPatientInfo()->strPatientLocation.c_str(); + strAccessionNumber = pAcquisitionInfo->GetStudyInfo()->strAccessionNumber.c_str(); + strStudyDescription = pAcquisitionInfo->GetStudyInfo()->strStudyDescription.c_str(); + strReferringPhysiciansName = pAcquisitionInfo->GetStudyInfo()->strReferringPhysiciansName.c_str(); + strStudyCodeValue = pAcquisitionInfo->GetScheduledDataInfo()->strScheduledCodeValue.c_str(); + + + if(pAcquisitionInfo->GetStudyInfo()->strStudyInstanceUID.size()==0) + { + strStudyInstanceUID = QString("1111.2222.3333.%1%2%3%4%5%6").arg(nDate.year(), 4, 10, QChar('0')).arg(nDate.month(), 2, 10, QChar('0')).arg(nDate.day(), 2, 10, QChar('0')).arg(nTime.hour(), 2, 10, QChar('0')).arg(nTime.minute(), 2, 10, QChar('0')).arg(nTime.second(), 2, 10, QChar('0')); + } + else + { + strStudyInstanceUID = pAcquisitionInfo->GetStudyInfo()->strStudyInstanceUID.c_str(); + } + + QList listResponse; + + strQuery = QString("select ID, StudyDate, StudyTime from Study where StudyInstanceUID='%1';").arg(strStudyInstanceUID); + ExecuteQuery(strQuery, &listResponse); + + if(listResponse.size()==0) + { + SDatabase::DeleteListReponse(listResponse); + + strDate = QString("%1%2%3").arg(nDate.year(), 4, 10, QChar('0')).arg(nDate.month(), 2, 10, QChar('0')).arg(nDate.day(), 2, 10, QChar('0')); + strTime = QString("%1%2%3").arg(nTime.hour(), 2, 10, QChar('0')).arg(nTime.minute(), 2, 10, QChar('0')).arg(nTime.second(), 2, 10, QChar('0')); + + + strQuery = QString("insert into Study(`StudyInstanceUID`, `PatientIndex`, `StudyDate`, `StudyTime`, `StudyCodeValue`, `AccessionNumber`, `PatientLocation`, `StudyDescription`, `ReferringPhysiciansname`) values ('%1', %2, '%3', '%4', '%5', '%6', '%7', '%8', '%9'); ") + .arg(strStudyInstanceUID).arg(nIndexPatient).arg(strDate).arg(strTime).arg(strStudyCodeValue).arg(strAccessionNumber).arg(strPatientLocation).arg(strStudyDescription).arg(strReferringPhysiciansName); + Execute(strQuery); + + strQuery = QString("select ID, StudyDate, StudyTime from Study where StudyInstanceUID='%1';").arg(strStudyInstanceUID); + ExecuteQuery(strQuery, &listResponse); + } + + if(listResponse.size()>0) + { + QString strIndex; + QStringList* pDataList = listResponse.at(0); + if(pDataList->size()>0) + { + strIndex = (*pDataList)[0]; + strDate = (*pDataList)[1]; + strTime = (*pDataList)[2]; + + strDate = strDate.remove('/'); + strTime = strTime.remove(':'); + } + + nIndexStudy = strIndex.toInt(); + + pAcquisitionInfo->GetStudyInfo()->strStudyInstanceUID = strStudyInstanceUID.toStdString().c_str(); + pAcquisitionInfo->m_nIndexStudy = nIndexStudy; + pAcquisitionInfo->GetStudyInfo()->strStudyDate = strDate.toStdString().c_str(); + pAcquisitionInfo->GetStudyInfo()->strStudyTime = strTime.toStdString().c_str(); + pAcquisitionInfo->GetSeriesInfo()->nStudyIndex = nIndexStudy; + } + + SDatabase::DeleteListReponse(listResponse); + + return nIndexStudy; +} + +int SDatabase::InsertSeriesImage(ACQUISITION_INFO *pAcquisitionInfo) +{ + QString strQuery; + QString strStudyInstanceUID; + QString strSeriesInstanceUID; + QString strModality; + QString strBodyPartExamined; + QString strSeriesDescription; + QString strOperatorsName; + + int nStudyIndex = 0; + int nSeriesNumber = 0; + int nSeriesIndex = 0; + + QDateTime dt = QDateTime::currentDateTime(); + QDate nDate = dt.date(); + QTime nTime = dt.time(); + + strStudyInstanceUID = pAcquisitionInfo->GetStudyInfo()->strStudyInstanceUID.c_str(); + strModality = pAcquisitionInfo->GetSeriesInfo()->strModality.c_str(); + strBodyPartExamined = pAcquisitionInfo->GetSeriesInfo()->strBodyPartExamined.c_str(); + strSeriesDescription = pAcquisitionInfo->GetSeriesInfo()->strSeriesDescription.c_str(); + strOperatorsName = pAcquisitionInfo->GetSeriesInfo()->strOperatorsName.c_str(); + + nStudyIndex = pAcquisitionInfo->m_nIndexStudy; + nSeriesNumber = 0; + + if(strModality.size()==0) + { + CommonData* pCommonData = MainWindow::GetCommonData(); + strModality = pCommonData->GetModality(); + pAcquisitionInfo->GetSeriesInfo()->strModality = strModality.toStdString().c_str(); + } + + QList listResponse; + + //strQuery = QString("select max(SeriesNumber), ID, SeriesInstanceUID, SeriesDate, SeriesTime from series where StudyIndex=%1;").arg(nStudyIndex); + strQuery = QString("select SeriesNumber, ID, SeriesInstanceUID, SeriesDate, SeriesTime from series where StudyIndex=%1 and SeriesNumber=1;").arg(nStudyIndex); + ExecuteQuery(strQuery, &listResponse); + + + QStringList* pDataList = NULL; + + QString strSeriesNumber; + + QString strDate; + QString strTime; + + if(listResponse.size()==1) + { + pDataList = listResponse.at(0); + + if(pDataList->size()>0) + { + strSeriesNumber = (*pDataList)[0]; + nSeriesNumber = strSeriesNumber.toInt(); + } + } + + if(nSeriesNumber==0) + { + nSeriesNumber = 1; + + strSeriesInstanceUID = QString("%1.%2").arg(strStudyInstanceUID).arg(QString::number(nSeriesNumber)); + + strDate = QString("%1%2%3").arg(nDate.year(), 4, 10, QChar('0')).arg(nDate.month(), 2, 10, QChar('0')).arg(nDate.day(), 2, 10, QChar('0')); + strTime = QString("%1%2%3").arg(nTime.hour(), 2, 10, QChar('0')).arg(nTime.minute(), 2, 10, QChar('0')).arg(nTime.second(), 2, 10, QChar('0')); + + strQuery = QString("insert into series(`StudyIndex`, `SeriesNumber`, `SeriesInstanceUID`, `Modality`, `BodyPartExamined`, `SeriesDescription`, `OperatorsName`, `SeriesDate`, `SeriesTime`) values (%1, %2, '%3', '%4', '%5', '%6', '%7', '%8', '%9'); "). + arg(nStudyIndex).arg(nSeriesNumber).arg(strSeriesInstanceUID).arg(strModality).arg(strBodyPartExamined).arg(strSeriesDescription).arg(strOperatorsName).arg(strDate).arg(strTime); + Execute(strQuery); + + pAcquisitionInfo->m_nAcquisitionImageMax = 0; + } + else + { + QString strSeriesNumber; + QString strSeriesIndex; + pDataList = listResponse.at(0); + + if(pDataList->size()>0) + { + strSeriesNumber = (*pDataList)[0]; + strSeriesIndex = (*pDataList)[1]; + nSeriesNumber = strSeriesNumber.toInt(); + + strDate = (*pDataList)[3]; + strTime = (*pDataList)[4]; + + if(strDate.length()==0) + { + strDate = QString("%1%2%3").arg(nDate.year(), 4, 10, QChar('0')).arg(nDate.month(), 2, 10, QChar('0')).arg(nDate.day(), 2, 10, QChar('0')); + } + if(strTime.length()==0) + { + strTime = QString("%1%2%3").arg(nTime.hour(), 2, 10, QChar('0')).arg(nTime.minute(), 2, 10, QChar('0')).arg(nTime.second(), 2, 10, QChar('0')); + } + + } + + pAcquisitionInfo->m_nAcquisitionImageMax = GetImageMaxAcquisitionNumber(strSeriesIndex); + } + + SDatabase::DeleteListReponse(listResponse); + + strQuery = QString("select SeriesNumber, ID, SeriesInstanceUID from series where StudyIndex=%1 and SeriesNumber=1;").arg(nStudyIndex); + ExecuteQuery(strQuery, &listResponse); + + + if(listResponse.size()>0) + { + QString strSeriesNumber; + QString strSeriesIndex; + pDataList = listResponse.at(0); + + if(pDataList->size()>0) + { + strSeriesNumber = pDataList->at(0); + strSeriesIndex = pDataList->at(1); + strSeriesInstanceUID = pDataList->at(2); + nSeriesNumber = strSeriesNumber.toInt(); + nSeriesIndex = strSeriesIndex.toInt(); + } + + pAcquisitionInfo->GetSeriesInfo()->strSeriesInstanceUID = strSeriesInstanceUID.toStdString().c_str(); + pAcquisitionInfo->GetSeriesInfo()->nSeriesNumber = nSeriesNumber; + pAcquisitionInfo->GetSeriesInfo()->nStudyIndex = nStudyIndex; + pAcquisitionInfo->m_nIndexSeries_Image = nSeriesIndex; + pAcquisitionInfo->m_nSeriesNumber = nSeriesNumber; + + strDate = strDate.remove('/'); + strTime = strTime.remove(':'); + + pAcquisitionInfo->GetSeriesInfo()->strSeriesDate = strDate.toStdString().c_str(); + pAcquisitionInfo->GetSeriesInfo()->strSeriesTime = strTime.toStdString().c_str(); + pAcquisitionInfo->GetImageInfo()->nSeriesIndex = nSeriesIndex; + } + + SDatabase::DeleteListReponse(listResponse); + + return nSeriesIndex; +} + +int SDatabase::InsertSeriesMovie(ACQUISITION_INFO *pAcquisitionInfo) +{ + QString strQuery; + QString strStudyInstanceUID; + QString strSeriesInstanceUID; + QString strModality; + QString strBodyPartExamined; + QString strSeriesDescription; + QString strOperatorsName; + + int nStudyIndex = 0; + int nSeriesNumber = 0; + int nSeriesIndex = 0; + + QDateTime dt = QDateTime::currentDateTime(); + QDate nDate = dt.date(); + QTime nTime = dt.time(); + + strStudyInstanceUID = pAcquisitionInfo->GetStudyInfo()->strStudyInstanceUID.c_str(); + strModality = pAcquisitionInfo->GetSeriesInfo()->strModality.c_str(); + strBodyPartExamined = pAcquisitionInfo->GetSeriesInfo()->strBodyPartExamined.c_str(); + strSeriesDescription = pAcquisitionInfo->GetSeriesInfo()->strSeriesDescription.c_str(); + strOperatorsName = pAcquisitionInfo->GetSeriesInfo()->strOperatorsName.c_str(); + + nStudyIndex = pAcquisitionInfo->m_nIndexStudy; + nSeriesNumber = 0; + + if(strModality.size()==0) + { + CommonData* pCommonData = MainWindow::GetCommonData(); + strModality = pCommonData->GetModality(); + pAcquisitionInfo->GetSeriesInfo()->strModality = strModality.toStdString().c_str(); + } + + QList listResponse; + + //strQuery = QString("select max(SeriesNumber), ID, SeriesInstanceUID, SeriesDate, SeriesTime from series where StudyIndex=%1;").arg(nStudyIndex); + strQuery = QString("select SeriesNumber, ID, SeriesInstanceUID, SeriesDate, SeriesTime from series where StudyIndex=%1 and SeriesNumber=2;").arg(nStudyIndex); + ExecuteQuery(strQuery, &listResponse); + + + QStringList* pDataList = NULL; + + QString strSeriesNumber; + + QString strDate; + QString strTime; + + if(listResponse.size()==1) + { + pDataList = listResponse.at(0); + + if(pDataList->size()>0) + { + strSeriesNumber = (*pDataList)[0]; + nSeriesNumber = strSeriesNumber.toInt(); + } + } + + if(nSeriesNumber==0) + { + nSeriesNumber = 2; + + strSeriesInstanceUID = QString("%1.%2").arg(strStudyInstanceUID).arg(QString::number(nSeriesNumber)); + + strDate = QString("%1%2%3").arg(nDate.year(), 4, 10, QChar('0')).arg(nDate.month(), 2, 10, QChar('0')).arg(nDate.day(), 2, 10, QChar('0')); + strTime = QString("%1%2%3").arg(nTime.hour(), 2, 10, QChar('0')).arg(nTime.minute(), 2, 10, QChar('0')).arg(nTime.second(), 2, 10, QChar('0')); + + strQuery = QString("insert into series(`StudyIndex`, `SeriesNumber`, `SeriesInstanceUID`, `Modality`, `BodyPartExamined`, `SeriesDescription`, `OperatorsName`, `SeriesDate`, `SeriesTime`) values (%1, %2, '%3', '%4', '%5', '%6', '%7', '%8', '%9'); "). + arg(nStudyIndex).arg(nSeriesNumber).arg(strSeriesInstanceUID).arg(strModality).arg(strBodyPartExamined).arg(strSeriesDescription).arg(strOperatorsName).arg(strDate).arg(strTime); + Execute(strQuery); + + pAcquisitionInfo->m_nAcquisitionMovieMax = 0; + } + else + { + QString strSeriesNumber; + QString strSeriesIndex; + pDataList = listResponse.at(0); + + if(pDataList->size()>0) + { + strSeriesNumber = (*pDataList)[0]; + strSeriesIndex = (*pDataList)[1]; + nSeriesNumber = strSeriesNumber.toInt(); + + strDate = (*pDataList)[3]; + strTime = (*pDataList)[4]; + + if(strDate.length()==0) + { + strDate = QString("%1%2%3").arg(nDate.year(), 4, 10, QChar('0')).arg(nDate.month(), 2, 10, QChar('0')).arg(nDate.day(), 2, 10, QChar('0')); + } + if(strTime.length()==0) + { + strTime = QString("%1%2%3").arg(nTime.hour(), 2, 10, QChar('0')).arg(nTime.minute(), 2, 10, QChar('0')).arg(nTime.second(), 2, 10, QChar('0')); + } + + } + + pAcquisitionInfo->m_nAcquisitionMovieMax = GetVideoMaxAcquisitionNumber(strSeriesIndex); + } + + SDatabase::DeleteListReponse(listResponse); + + strQuery = QString("select SeriesNumber, ID, SeriesInstanceUID from series where StudyIndex=%1 and SeriesNumber=2;").arg(nStudyIndex); + ExecuteQuery(strQuery, &listResponse); + + + if(listResponse.size()>0) + { + QString strSeriesNumber; + QString strSeriesIndex; + pDataList = listResponse.at(0); + + if(pDataList->size()>0) + { + strSeriesNumber = pDataList->at(0); + strSeriesIndex = pDataList->at(1); + strSeriesInstanceUID = pDataList->at(2); + nSeriesNumber = strSeriesNumber.toInt(); + nSeriesIndex = strSeriesIndex.toInt(); + } + + pAcquisitionInfo->GetSeriesInfo()->strSeriesInstanceUID = strSeriesInstanceUID.toStdString().c_str(); + pAcquisitionInfo->GetSeriesInfo()->nSeriesNumber = nSeriesNumber; + pAcquisitionInfo->GetSeriesInfo()->nStudyIndex = nStudyIndex; + pAcquisitionInfo->m_nIndexSeries_Movie = nSeriesIndex; + pAcquisitionInfo->m_nSeriesNumber = nSeriesNumber; + + strDate = strDate.remove('/'); + strTime = strTime.remove(':'); + + pAcquisitionInfo->GetSeriesInfo()->strSeriesDate = strDate.toStdString().c_str(); + pAcquisitionInfo->GetSeriesInfo()->strSeriesTime = strTime.toStdString().c_str(); + pAcquisitionInfo->GetImageInfo()->nSeriesIndex = nSeriesIndex; + } + + SDatabase::DeleteListReponse(listResponse); + + return nSeriesIndex; +} + +int SDatabase::InsertImage(ACQUISITION_INFO *pAcquisitionInfo) +{ + if(pAcquisitionInfo->GetSeriesInfo()->strSeriesInstanceUID.size()==0) + { + //InsertSeriesImage(pAcquisitionInfo); + } + + if(pAcquisitionInfo->m_nIndexSeries_Image==0) + { + return -1; + } + + QDateTime dt = QDateTime::currentDateTime(); + int nYear = dt.date().year(); + int nMonth = dt.date().month(); + int nDay = dt.date().day(); + int nHour = dt.time().hour(); + int nMinute = dt.time().minute(); + int nSecond = dt.time().second(); + + QString strQuery; + QString strImageInstanceUID; + int nImageNumberMax = 0; + int nStudyIndex = 0; + + QString strAcquisitionDate = QString("%1%2%3").arg(nYear, 4, 10, QChar('0')).arg(nMonth, 2, 10, QChar('0')).arg(nDay, 2, 10, QChar('0')); + QString strAcquisitionTime = QString("%1%2%3").arg(nHour, 2, 10, QChar('0')).arg(nMinute, 2, 10, QChar('0')).arg(nSecond, 2, 10, QChar('0')); + QString strContentDate = strAcquisitionDate; + QString strContentTime = strAcquisitionTime; + QString strPatientOrientation; + QString strImageLaterality; + QString strImageComments; + + strPatientOrientation = pAcquisitionInfo->GetImageInfo()->strPatientOrientation.c_str(); + strImageLaterality = pAcquisitionInfo->GetImageInfo()->strImageLaterality.c_str(); + strImageComments = pAcquisitionInfo->GetImageInfo()->strImageComments.c_str(); + + pAcquisitionInfo->GetImageInfo()->strAcquisitionDate = strAcquisitionDate.toStdString().c_str(); + pAcquisitionInfo->GetImageInfo()->strAcquisitionTime = strAcquisitionTime.toStdString().c_str(); + + pAcquisitionInfo->GetImageInfo()->strContentDate = pAcquisitionInfo->GetImageInfo()->strAcquisitionDate; + pAcquisitionInfo->GetImageInfo()->strContentTime = pAcquisitionInfo->GetImageInfo()->strAcquisitionTime; + + + nStudyIndex = pAcquisitionInfo->m_nIndexStudy; + + nImageNumberMax = 0; + nImageNumberMax = pAcquisitionInfo->m_nAcquisitionImageMax; + nImageNumberMax++; + + pAcquisitionInfo->m_nAcquisitionImageMax = nImageNumberMax; + + int nAcquisitionNumber = nImageNumberMax; + int nInstanceNumber = nImageNumberMax; + + QString strStudyInstanceUID = pAcquisitionInfo->GetStudyInfo()->strStudyInstanceUID.c_str(); + QString strSeriesInstanceUID = QString("%1.1").arg(strStudyInstanceUID); + strImageInstanceUID = QString("%1.%2").arg(strSeriesInstanceUID).arg(nImageNumberMax); + + strQuery = QString("insert into AcquisitionTemp(`SeriesIndex`, `ImageNumber`, `ImageInstanceUID`, `FileLocation`, `StudyIndex` \ + , `AcquisitionDate`, `AcquisitionTime`, `ContentDate`, `ContentTime`, `AcquisitionNumber`, `InstanceNumber`, `PatientOrientation`, `ImageLaterality`, `ImageComments`, `FileType`) \ + values (%1, %2, '%3', '%4', %5, '%6', '%7', '%8', '%9', %10, %11, '%12', '%13', '%14', 0);").arg(pAcquisitionInfo->m_nIndexSeries_Image).arg(nImageNumberMax).arg(strImageInstanceUID).arg(pAcquisitionInfo->m_strImageFilename).arg(nStudyIndex).arg(strAcquisitionDate).arg(strAcquisitionTime).arg(strContentDate).arg(strContentTime).arg(nAcquisitionNumber).arg(nInstanceNumber).arg(strPatientOrientation).arg(strImageLaterality).arg(strImageComments); + + + pAcquisitionInfo->GetImageInfo()->nAcquisitionNumber = nImageNumberMax; + pAcquisitionInfo->GetImageInfo()->nImageNumber = nImageNumberMax; + pAcquisitionInfo->GetImageInfo()->nInstanceNumber = nImageNumberMax; + + Execute(strQuery); + + QList listResponse; + + strQuery = QString("select ID from AcquisitionTemp where FileLocation='%1';").arg(pAcquisitionInfo->m_strImageFilename); + ExecuteQuery(strQuery, &listResponse); + + int nRet = listResponse.size(); + + if(listResponse.size()>0) + { + QStringList* pListData = listResponse[0]; + QString strTmp = (*pListData)[0]; + nRet = strTmp.toInt(); + } + + SDatabase::DeleteListReponse(listResponse); + + //sqlite3_db_cacheflush(m_pSqliteDB); + //QProcess::execute("sync"); + + return nRet; + +} + +int SDatabase::InsertVideo(ACQUISITION_INFO *pAcquisitionInfo) +{ + if(pAcquisitionInfo->GetSeriesInfo()->strSeriesInstanceUID.size()==0) + { + //InsertSeriesImage(pAcquisitionInfo); + } + + if(pAcquisitionInfo->m_nIndexSeries_Movie==0) + { + return -1; + } + + QDateTime dt = QDateTime::currentDateTime(); + int nYear = dt.date().year(); + int nMonth = dt.date().month(); + int nDay = dt.date().day(); + int nHour = dt.time().hour(); + int nMinute = dt.time().minute(); + int nSecond = dt.time().second(); + + QString strQuery; + QString strImageInstanceUID; + int nImageNumberMax = 0; + int nStudyIndex = 0; + + QString strAcquisitionDate = QString("%1%2%3").arg(nYear, 4, 10, QChar('0')).arg(nMonth, 2, 10, QChar('0')).arg(nDay, 2, 10, QChar('0')); + QString strAcquisitionTime = QString("%1%2%3").arg(nHour, 2, 10, QChar('0')).arg(nMinute, 2, 10, QChar('0')).arg(nSecond, 2, 10, QChar('0')); + QString strContentDate = strAcquisitionDate; + QString strContentTime = strAcquisitionTime; + QString strPatientOrientation; + QString strImageLaterality; + QString strImageComments; + + strPatientOrientation = pAcquisitionInfo->GetImageInfo()->strPatientOrientation.c_str(); + strImageLaterality = pAcquisitionInfo->GetImageInfo()->strImageLaterality.c_str(); + strImageComments = pAcquisitionInfo->GetImageInfo()->strImageComments.c_str(); + + pAcquisitionInfo->GetImageInfo()->strAcquisitionDate = strAcquisitionDate.toStdString().c_str(); + pAcquisitionInfo->GetImageInfo()->strAcquisitionTime = strAcquisitionTime.toStdString().c_str(); + + pAcquisitionInfo->GetImageInfo()->strContentDate = pAcquisitionInfo->GetImageInfo()->strAcquisitionDate; + pAcquisitionInfo->GetImageInfo()->strContentTime = pAcquisitionInfo->GetImageInfo()->strAcquisitionTime; + + + nStudyIndex = pAcquisitionInfo->m_nIndexStudy; + + nImageNumberMax = 0; + nImageNumberMax = pAcquisitionInfo->m_nAcquisitionMovieMax; + nImageNumberMax++; + + pAcquisitionInfo->m_nAcquisitionMovieMax = nImageNumberMax; + + int nAcquisitionNumber = nImageNumberMax; + int nInstanceNumber = nImageNumberMax; + + QString strStudyInstanceUID = pAcquisitionInfo->GetStudyInfo()->strStudyInstanceUID.c_str(); + QString strSeriesInstanceUID = QString("%1.2").arg(strStudyInstanceUID); + strImageInstanceUID = QString("%1.%2").arg(strSeriesInstanceUID).arg(nImageNumberMax); + + strQuery = QString("insert into AcquisitionTemp(`SeriesIndex`, `ImageNumber`, `ImageInstanceUID`, `FileLocation`, `StudyIndex` \ + , `AcquisitionDate`, `AcquisitionTime`, `ContentDate`, `ContentTime`, `AcquisitionNumber`, `InstanceNumber`, `PatientOrientation`, `ImageLaterality`, `ImageComments`, `FileType`) \ + values (%1, %2, '%3', '%4', %5, '%6', '%7', '%8', '%9', %10, %11, '%12', '%13', '%14', 1);").arg(pAcquisitionInfo->m_nIndexSeries_Movie).arg(nImageNumberMax).arg(strImageInstanceUID).arg(pAcquisitionInfo->m_strVideoFilename).arg(nStudyIndex).arg(strAcquisitionDate).arg(strAcquisitionTime).arg(strContentDate).arg(strContentTime).arg(nAcquisitionNumber).arg(nInstanceNumber).arg(strPatientOrientation).arg(strImageLaterality).arg(strImageComments); + + + pAcquisitionInfo->GetImageInfo()->nAcquisitionNumber = nImageNumberMax; + pAcquisitionInfo->GetImageInfo()->nImageNumber = nImageNumberMax; + pAcquisitionInfo->GetImageInfo()->nInstanceNumber = nImageNumberMax; + + Execute(strQuery); + + QList listResponse; + + strQuery = QString("select ID from AcquisitionTemp where FileLocation='%1';").arg(pAcquisitionInfo->m_strVideoFilename); + ExecuteQuery(strQuery, &listResponse); + + int nRet = listResponse.size(); + + if(listResponse.size()>0) + { + QStringList* pListData = listResponse[0]; + QString strTmp = (*pListData)[0]; + nRet = strTmp.toInt(); + } + + SDatabase::DeleteListReponse(listResponse); + + //QProcess::execute("sync"); + + return nRet; +} + +QList* SDatabase::GetResult() +{ + return m_pResult; +} + + +int SDatabase::GetHistory(SEARCH_ITEM* pSearchItem) +{ + QString strSearchDate = pSearchItem->m_strStudyDate; + QString strSearchName = pSearchItem->m_strPatientName; + + QString strDateStart = strSearchDate.mid(0, 10); + QString strDateEnd = strSearchDate.mid(11, 10); + + QString strQuery; + + QList listResponse; + + strQuery = QString("select * from StorageInfo where StudyDate<='%1' and StudyDate>='%2' and ImageDelete=0 group by PatientIndex;").arg(strDateEnd).arg(strDateStart); + ExecuteQuery(strQuery, &listResponse); + + int nRet = 0; + nRet = listResponse.size(); + + SDatabase::DeleteListReponse(listResponse); + + return nRet; +} + +int SDatabase::GetHistoryStudy(SEARCH_ITEM* pSearchItem, bool bWithDelete) +{ + QString strSearchDate = pSearchItem->m_strStudyDate; + QString strSearchName = pSearchItem->m_strPatientName; + QString strSearchID = pSearchItem->m_strPatientID; + + QString strDateStart = strSearchDate.mid(0, 10); + QString strDateEnd = strSearchDate.mid(11, 10); + + strSearchName = QString("%%1%").arg(pSearchItem->m_strPatientName); + strSearchID = QString("%%1%").arg(pSearchItem->m_strPatientID); + strDateStart.remove('/'); + strDateEnd.remove('/'); + + QString strQuery; + + if(bWithDelete==true) + { + strQuery = QString("select * from HistoryStudyWithDelete where StudyDate<='%1' and StudyDate>='%2' and PatientName like '%%3%' order by CreateDateTime desc;").arg(strDateEnd).arg(strDateStart).arg(strSearchName); + } + else + { + //strQuery = QString("select * from HistoryStudy where StudyDate<='%1' and StudyDate>='%2' and PatientName like '%3' and PatientID like '%4' order by CreateDateTime desc;").arg(strDateEnd).arg(strDateStart).arg(strSearchName.toStdString()).arg(strSearchID.toStdString()); + + strQuery.sprintf("select * from HistoryStudy where StudyDate<='%s' and StudyDate>='%s' and PatientName like '%s' and PatientID like '%s' order by CreateDateTime desc;", strDateEnd.toStdString().c_str(), strDateStart.toStdString().c_str(), strSearchName.toStdString().c_str(), strSearchID.toStdString().c_str()); + //strQuery.sprintf("select * from HistoryStudy where StudyDate<='%s' and StudyDate>='%s' and PatientName like '%s' and PatientID like '%s' order by CreateDateTime desc;", "123", "456", strSearchName.toStdString().c_str(), strSearchID.toStdString().c_str()); + + } + + //qDebug() << strQuery; + + ExecuteQuery(strQuery, m_pResult, 999999); + + int nRet = m_pResult->size(); + + + + return nRet; +} + +int SDatabase::ImageDeleteFromImage(QString strFile, bool bDelete) +{ + QString strQuery; + + int nDelete = 0; + if(bDelete==true) + { + nDelete = 1; + } + + strQuery = QString("update Image SET ImageDelete='%1' where FileLocation='%2';").arg(nDelete).arg(strFile); + + int nRet = Execute(strQuery); + //QProcess::execute("sync"); + + return nRet; +} + +int SDatabase::ImageDeleteFromAcqusitionTemp(QString strFile, bool bDelete) +{ + QString strQuery; + + int nDelete = 0; + if(bDelete==true) + { + nDelete = 1; + } + + strQuery = QString("update AcquisitionTemp SET ImageDelete='%1' where FileLocation='%2';").arg(nDelete).arg(strFile); + + int nRet = Execute(strQuery); + //QProcess::execute("sync"); + + return nRet; +} + + +int SDatabase::GetImageWithStudyIndex(int nIndex, QList& listResponse) +{ + QString strQuery; + + strQuery = QString("select * from StorageInfo where StudyIndex=%1 and ImageDelete=0 order by ImageIndex desc;").arg(nIndex); + ExecuteQuery(strQuery, &listResponse); + + int nRet = listResponse.size(); + + return nRet; +} + +int SDatabase::GetImageWithStudyIndexASC(int nIndex, QList& listResponse) +{ + QString strQuery; + + strQuery = QString("select * from StorageInfo where StudyIndex=%1 and ImageDelete=0 order by ImageIndex asc;").arg(nIndex); + ExecuteQuery(strQuery, &listResponse); + + int nRet = listResponse.size(); + + return nRet; +} + + +int SDatabase::GetAcquisitionNumber(QString strFile) +{ + QString strQuery; + int nAcquisitionNumber = 0; + + bool bFinish = false; + + int i=0; + //for(i=0 ; i<10 && bFinish==false ; i++) + { + strQuery = QString("select `AcquisitionNumber` from StorageInfo where `FileLocation`='%1';").arg(strFile); + + QList listResponse; + + ExecuteQuery(strQuery, &listResponse); + + if(listResponse.size()>0) + { + QString strAcquisitionNumber; + QStringList* pDataList = listResponse.at(0); + if(pDataList->size()>0) + { + strAcquisitionNumber = pDataList->at(0); + nAcquisitionNumber = strAcquisitionNumber.toInt(); + bFinish = true; + } + else + { + bFinish = false; + } + + + } + + SDatabase::DeleteListReponse(listResponse); + } + + + return nAcquisitionNumber; +} + +int SDatabase::GetSeriesImageIndexWithInstanceUID(QString* pStrStudyInstanceUID) +{ + QString strQuery; + + //strQuery = QString("select `ID` from Series where `SeriesInstanceUID`='%1';").arg(*pStrInstanceUID); + + strQuery = QString("select `ID` from Series where `StudyIndex`=(select `ID` from Study where StudyInstanceUID='%1') and SeriesNumber='1';").arg(*pStrStudyInstanceUID); + + QList listResponse; + + ExecuteQuery(strQuery, &listResponse); + + int nSeriesIndexID = 0; + + if(listResponse.size()>0) + { + QString strSeriesIndexID; + QStringList* pDataList = listResponse.at(0); + if(pDataList->size()>0) + { + strSeriesIndexID = pDataList->at(0); + } + + nSeriesIndexID = strSeriesIndexID.toInt(); + } + + SDatabase::DeleteListReponse(listResponse); + + return nSeriesIndexID; +} + +int SDatabase::GetSeriesMovieIndexWithInstanceUID(QString* pStrStudyInstanceUID) +{ + QString strQuery; + + strQuery = QString("select `ID` from Series where `StudyIndex`=(select `ID` from Study where StudyInstanceUID='%1') and SeriesNumber='2';").arg(*pStrStudyInstanceUID); + + QList listResponse; + + ExecuteQuery(strQuery, &listResponse); + + int nSeriesIndexID = 0; + + if(listResponse.size()>0) + { + QString strSeriesIndexID; + QStringList* pDataList = listResponse.at(0); + if(pDataList->size()>0) + { + strSeriesIndexID = pDataList->at(0); + } + + nSeriesIndexID = strSeriesIndexID.toInt(); + } + + SDatabase::DeleteListReponse(listResponse); + + return nSeriesIndexID; +} + +vector SDatabase::GetImageListWithStudy(QString* pStrStudyDate, QString* pStrPatientID) +{ + vector list; + + QString strQuery; + + strQuery = QString("select FileLocation from StorageInfo where StudyDate='%1' and PatientID='%2' and ImageDelete=0 and FileType=0 order by ImageIndex desc").arg(*pStrStudyDate).arg(*pStrPatientID); + + QList listResponse; + + ExecuteQuery(strQuery, &listResponse); + + int i=0; + for(i=0 ; i SDatabase::GetVideoListWithStudy(QString* pStrStudyDate, QString* pStrPatientID) +{ + vector list; + + QString strQuery; + + strQuery = QString("select FileLocation from StorageInfo where StudyDate='%1' and PatientID='%2' and ImageDelete=0 and FileType=1 order by ImageIndex desc").arg(*pStrStudyDate).arg(*pStrPatientID); + + QList listResponse; + + ExecuteQuery(strQuery, &listResponse); + + int i=0; + for(i=0 ; iWriteLog(strLog); +} + +void SDatabase::SendUpdateAcquisitionTemp(QString strFilename) +{ + QString strQuery; + + strQuery = QString("update AcquisitionTemp SET ImageSend=1 where FileLocation='%1';").arg(strFilename); + + Execute(strQuery); + + //QString strLog = QString("Send File: %1\n").arg(strFilename); + //WRITE_FUNCTION_LOG_PARAM(strFilename); + //MainWindow::GetCommonData()->WriteLog(strLog); +} + +QList* SDatabase::GetScheduledDeleteFileList() +{ + QDate date = QDate::currentDate(); + date = date.addDays(-60); + int nYear = date.year(); + int nMonth = date.month(); + int nDay = date.day(); + + QString strSearchDate = QString("%1%2%3").arg(nYear, 4, 10, QChar('0')).arg(nMonth, 2, 10, QChar('0')).arg(nDay, 2, 10, QChar('0')); + + QString strQuery; + strQuery = QString("select * from Image where AcquisitionDate < '%1' and ImageStorage=0;").arg(strSearchDate); + + ExecuteQuery(strQuery, NULL, 500); + + return m_pResult; +} + +void SDatabase::UpdateScheduledDeleteCompleteStudyDate() +{ + QDate date = QDate::currentDate(); + date = date.addDays(-60); + int nYear = date.year(); + int nMonth = date.month(); + int nDay = date.day(); + + QString strSearchDate = QString("%1%2%3").arg(nYear, 4, 10, QChar('0')).arg(nMonth, 2, 10, QChar('0')).arg(nDay, 2, 10, QChar('0')); + + QString strQuery; + strQuery = QString("update Image set ImageStorage=1 where AcquisitionDate < '%1' and ImageStorage=0;").arg(strSearchDate); + + Execute(strQuery); + +} + +QList* SDatabase::GetScheduledDeleteStudyDateList() +{ + QDate date = QDate::currentDate(); + date = date.addDays(-60); + int nYear = date.year(); + int nMonth = date.month(); + int nDay = date.day(); + + QString strSearchDate = QString("%1%2%3").arg(nYear, 4, 10, QChar('0')).arg(nMonth, 2, 10, QChar('0')).arg(nDay, 2, 10, QChar('0')); + + QString strQuery; + strQuery = QString("select DISTINCT(AcquisitionDate) from Image where AcquisitionDate < '%1' and ImageStorage=0;").arg(strSearchDate); + + ExecuteQuery(strQuery, NULL, 500); + + return m_pResult; +} + +bool SDatabase::AutoremoveImageTable() +{ + bool bRet = true; + int nRet = 0; + + QDate date = QDate::currentDate(); + date = date.addDays(-60); + int nYear = date.year(); + int nMonth = date.month(); + int nDay = date.day(); + + QString strSearchDate = QString("%1%2%3").arg(nYear, 4, 10, QChar('0')).arg(nMonth, 2, 10, QChar('0')).arg(nDay, 2, 10, QChar('0')); + + QString strQuery; + strQuery = QString("DELETE from Image where AcquisitionDate < '%1';").arg(strSearchDate); + nRet = Execute(strQuery); + + strQuery = QString("vacuum;"); + nRet = Execute(strQuery); + + + return bRet; +} + +void SDatabase::SetDeleteStorageFile(QString strFilename) +{ + QString strQuery; + strQuery = QString("update Image set ImageStorage=1 where FileLocation='%1';").arg(strFilename); + + Execute(strQuery); +} + +QList* SDatabase::GetVideoFileList() +{ + QString strQuery; + strQuery = QString("select FileLocation from Image where ImageStorage=0 and FileType=1 order by ID asc;"); + + ExecuteQuery(strQuery); + + return m_pResult; +} + +QString SDatabase::GetValueAdavancedTable(QString strColumn) +{ + QString strQuery = QString("select %1 from AdvancedSetting where ID=1;").arg(strColumn); + QString strData = ""; + ExecuteQuery(strQuery); + QList* pResult = NULL; + pResult = GetResult(); + if(pResult->size()>0) + { + QStringList* pListData = (*pResult)[0]; + pListData = (*pResult)[0]; + if(pListData->size()>0) + { + strData = (*pListData)[0]; + } + } + + return strData; +} + + +void SDatabase::CheckAdavancedTable() +{ + QString strQuery; + strQuery = "select * from AdvancedSetting;"; + ExecuteQuery(strQuery); + QList* pResult = NULL; + pResult = GetResult(); + + if(pResult->size()==0) + { + MakeTableAdvancedSetting(); + QString strInitAdvancedSetting = "insert into AdvancedSetting (EnableNetworkShare) values ('Disabled');"; + Execute(strInitAdvancedSetting); + } + else + { + QString strAutoCaptureSendDICOM = ""; + QString strAutoExitCaptureSendDICOM = ""; + QString strAutoVideoCapture = ""; + QString strEnableNetworkShare = ""; + QString strNetworkAutoSend = ""; + QString strNetworkShareIP = ""; + QString strNetworkShareFolder = ""; + QString strNetworkSMBVersion = ""; + QString strNetworkShareID = ""; + QString strNetworkSharePassword = ""; + QString strDICOMCharacterSet = ""; + QString strAutoCloseSendFinish = ""; + QString strAutoLogin = ""; + QString strDICOMCompress = ""; + QString strVideoMode = ""; + QString strCropMode = ""; + QString strUseFixWidthLevel = ""; + QString strUseLogLevel = ""; + QString strScreenSaverTime = ""; + + strAutoCaptureSendDICOM = GetValueAdavancedTable("AutoCaptureSendDICOM"); + strAutoExitCaptureSendDICOM = GetValueAdavancedTable("AutoExitCaptureSendDICOM"); + strAutoVideoCapture = GetValueAdavancedTable("AutoVideoCapture"); + strEnableNetworkShare = GetValueAdavancedTable("EnableNetworkShare"); + strNetworkAutoSend = GetValueAdavancedTable("NetworkAutoSend"); + strNetworkShareIP = GetValueAdavancedTable("NetworkShareIP"); + strNetworkShareFolder = GetValueAdavancedTable("NetworkShareFolder"); + strNetworkSMBVersion = GetValueAdavancedTable("NetworkSMBVersion"); + strNetworkShareID = GetValueAdavancedTable("NetworkShareID"); + strNetworkSharePassword = GetValueAdavancedTable("NetworkSharePassword"); + strDICOMCharacterSet = GetValueAdavancedTable("DICOMCharacterSet"); + strAutoCloseSendFinish = GetValueAdavancedTable("AutoCloseSendFinish"); + strAutoLogin = GetValueAdavancedTable("AutoLogin"); + strDICOMCompress = GetValueAdavancedTable("DICOMCompress"); + strVideoMode = GetValueAdavancedTable("VideoMode"); + strCropMode = GetValueAdavancedTable("CropMode"); + strUseFixWidthLevel = GetValueAdavancedTable("UseFixWidthLevel"); + strUseLogLevel = GetValueAdavancedTable("UseLogLevel"); + strScreenSaverTime = GetValueAdavancedTable("ScreenSaverTime"); + + if(strAutoCaptureSendDICOM.size()==0 || strAutoExitCaptureSendDICOM.size()==0 || strAutoVideoCapture.size()==0 || + strDICOMCharacterSet.size()==0 || strAutoCloseSendFinish.size()==0 || strAutoLogin.size()==0 || + strDICOMCompress.size()==0 || strVideoMode.size()==0 || strCropMode.size()==0 || strUseFixWidthLevel.size()==0 || + strUseLogLevel.size()==0 || strScreenSaverTime.size()==0 + ) + { + if(strAutoCaptureSendDICOM.size()==0) + { + strAutoCaptureSendDICOM = "0"; + } + if(strAutoExitCaptureSendDICOM.size()==0) + { + strAutoExitCaptureSendDICOM = "0"; + } + if(strAutoVideoCapture.size()==0) + { + strAutoVideoCapture = "0"; + } + if(strDICOMCharacterSet.size()==0) + { + strDICOMCharacterSet = "EUC-KR"; + } + if(strAutoCloseSendFinish.size()==0) + { + strAutoCloseSendFinish = "0"; + } + if(strAutoLogin.size()==0) + { + strAutoLogin = "1"; + } + if(strDICOMCompress.size()==0) + { + strDICOMCompress = "0"; + } + if(strVideoMode.size()==0) + { + strVideoMode = "0"; + } + if(strCropMode.size()==0) + { + strCropMode = "0"; + } + if(strUseFixWidthLevel.size()==0) + { + strUseFixWidthLevel = "0"; + } + if(strUseLogLevel.size()==0) + { + strUseLogLevel = "0"; + } + if(strScreenSaverTime.size()==0) + { + strScreenSaverTime = "0"; + } + + MakeTableAdvancedSetting(); + QString strInitAdvancedSetting = QString("insert into AdvancedSetting (\ + AutoCaptureSendDICOM, AutoExitCaptureSendDICOM, AutoVideoCapture, \ + EnableNetworkShare, NetworkAutoSend, NetworkShareIP, NetworkShareFolder, \ + NetworkSMBVersion, NetworkShareID, NetworkSharePassword, DICOMCharacterSet, AutoCloseSendFinish, AutoLogin, DICOMCompress, VideoMode, CropMode, UseFixWidthLevel, UseLogLevel, ScreenSaverTime) \ + values ('%1','%2','%3','%4','%5','%6','%7','%8','%9','%10', '%11', '%12', '%13', '%14', '%15', '%16', '%17', '%18', '%19');") + .arg(strAutoCaptureSendDICOM).arg(strAutoExitCaptureSendDICOM).arg(strAutoVideoCapture) + .arg(strEnableNetworkShare).arg(strNetworkAutoSend).arg(strNetworkShareIP).arg(strNetworkShareFolder) + .arg(strNetworkSMBVersion).arg(strNetworkShareID).arg(strNetworkSharePassword).arg(strDICOMCharacterSet) + .arg(strAutoCloseSendFinish).arg(strAutoLogin).arg(strDICOMCompress).arg(strVideoMode).arg(strCropMode) + .arg(strUseFixWidthLevel).arg(strUseLogLevel).arg(strScreenSaverTime); + Execute(strInitAdvancedSetting); + } + + } +} + +void SDatabase::CheckLoginTable() +{ + QString strQuery = "select * from LoginUser;"; + ExecuteQuery(strQuery); + QList* pResult = GetResult(); + if(pResult->size()==0) + { + MakeTableUser(); + QString strInitLoginUser = "insert into LoginUser (LoginID, LoginPassword) values ('admin', 'smartquadra')"; + Execute(strInitLoginUser); + } +} + + +void SDatabase::MakeViewTable() +{ + + Execute("DROP VIEW IF EXISTS Storage;" + "CREATE VIEW Storage as select d2.SeriesNumber, d3.ID as ImageIndex, d1.ID as StudyIndex, d2.ID as SeriesIndex, d1.PatientIndex, d2.Modality, d1.StudyDate, d1.StudyTime, d3.FileLocation, d1.StudyInstanceUID, d2.SeriesInstanceUID, d3.ImageInstanceUID, d3.CreateDateTime, d3.ImageDelete, d3.ImageSend, d3.FileType, d3.AcquisitionDate, d3.AcquisitionTime, d3.AcquisitionNumber, d3.ImageStorage from Study as d1 join (Series as d2 join Image as d3 on d3.seriesIndex=d2.id) on d1.id=d2.studyindex;"); + + Execute("DROP VIEW IF EXISTS StorageInfo;" + "CREATE VIEW StorageInfo as select d1.*, d3.PatientID, d3.PatientName, d3.PatientAge, d3.PatientSex, (select count(*) from Storage as d2 where d1.StudyInstanceUID=d2.StudyInstanceUID) as TotalImageCount from Storage as d1 join Patient as d3 on (d1.PatientIndex=d3.ID)"); + + //Execute("DROP VIEW IF EXISTS HistoryStudy;" + //"CREATE VIEW HistoryStudy as select d4.ID, d4.PatientIndex, d5.PatientID, d5.PatientName, d5.PatientAge, d5.PatientSex, d5.PatientBirthDate, d5.PatientWeight, d4.CreateDateTime, d4.StudyDate, d4.StudyTime, d4.StudyCodeValue, d4.PatientLocation, d4.AccessionNumber, d4.ReferringPhysiciansName, d4.StudyInstanceUID, d4.SeriesInstanceUID, d4.StudyDescription, d4.SeriesDescription, d4.OperatorsName, d4.ImageCount, d4.ImageSend, d4.Modality, d4.SeriesDate, d4.SeriesTime, d4.SeriesNumber from (select *, (select count(*) from Image as d3 where d3.StudyIndex=d1.ID and d3.ImageDelete=0) as ImageCount, (select sum(ImageSend) from Image as d3 where d3.StudyIndex=d1.ID and d3.ImageDelete=0) as ImageSend from Study as d1 join Series as d2 on (d2.StudyIndex=d1.ID)) as d4 join Patient as d5 on (d4.PatientIndex=d5.ID)"); + + + /* + Execute("DROP VIEW IF EXISTS HistoryStudy;" + "CREATE VIEW HistoryStudy as " + "select d4.StudyIndex, d4.PatientIndex, d5.PatientID, d5.PatientName, d5.PatientAge, d5.PatientSex, d5.PatientBirthDate, d5.PatientWeight, d4.CreateDateTime, d4.StudyDate, d4.StudyTime, d4.StudyCodeValue, d4.PatientLocation, d4.AccessionNumber, d4.ReferringPhysiciansName, d4.StudyInstanceUID, d4.SeriesInstanceUID, d4.StudyDescription, d4.SeriesDescription, d4.OperatorsName, d4.ImageCount, d4.ImageSend, d4.Modality, d4.SeriesDate, d4.SeriesTime, max(d4.SeriesNumber), d4.VideoCount " + "from (select *, (select count(*) from Image as d3 where d3.StudyIndex=d1.ID and d3.SeriesIndex=1 and d3.ImageDelete=0) as ImageCount, " + "(select count(*) from Image as d3 where d3.StudyIndex=d1.ID and d3.SeriesIndex=2 and d3.ImageDelete=0) as VideoCount, " + "(select sum(ImageSend) from Image as d3 where d3.StudyIndex=d1.ID) as ImageSend " + "from Study as d1 join Series as d2 on (d2.StudyIndex=d1.ID)) as d4 join Patient as d5 on (d4.PatientIndex=d5.ID)"); + + Execute("DROP VIEW IF EXISTS HistoryStudyWithDelete;" + "CREATE VIEW HistoryStudyWithDelete as " + "select d4.StudyIndex, d4.PatientIndex, d5.PatientID, d5.PatientName, d5.PatientAge, d5.PatientSex, d5.PatientBirthDate, d5.PatientWeight, d4.CreateDateTime, d4.StudyDate, d4.StudyTime, d4.StudyCodeValue, d4.PatientLocation, d4.AccessionNumber, d4.ReferringPhysiciansName, d4.StudyInstanceUID, d4.SeriesInstanceUID, d4.StudyDescription, d4.SeriesDescription, d4.OperatorsName, d4.ImageCount, d4.ImageSend, d4.Modality, d4.SeriesDate, d4.SeriesTime, max(d4.SeriesNumber), d4.VideoCount " + "from (select *, (select count(*) from Image as d3 where d3.StudyIndex=d1.ID and d3.SeriesIndex=1) as ImageCount, " + "(select count(*) from Image as d3 where d3.StudyIndex=d1.ID and d3.SeriesIndex=2) as VideoCount, " + "(select sum(ImageSend) from Image as d3 where d3.StudyIndex=d1.ID) as ImageSend " + "from Study as d1 join Series as d2 on (d2.StudyIndex=d1.ID)) as d4 join Patient as d5 on (d4.PatientIndex=d5.ID)"); + */ + + Execute("DROP VIEW IF EXISTS HistoryStudy;" + "CREATE VIEW HistoryStudy as " + "select StudyIndex, PatientIndex, PatientID, PatientName, PatientAge, PatientSex, PatientBirthDate, PatientWeight, CreateDateTime, StudyDate, StudyTime, StudyCodeValue, PatientLocation, AccessionNumber, ReferringPhysiciansName, StudyInstanceUID, SeriesInstanceUID, StudyDescription, SeriesDescription, OperatorsName, ImageCount, ImageSendCount, Modality, SeriesDate, SeriesTime, SeriesNumber, VideoCount from (select DISTINCT(d1.ID), d3.StudyIndex, d1.PatientIndex, d4.PatientID, d4.PatientName, d4.PatientAge, d4.PatientSex, d4.PatientBirthDate, d4.PatientWeight, d4.CreateDateTime, d1.StudyDate, d1.StudyTime, d1.StudyCodeValue, d1.PatientLocation, d1.AccessionNumber, d1.ReferringPhysiciansName, d1.StudyInstanceUID, d2.SeriesInstanceUID, d1.StudyDescription, d2.SeriesDescription, d2.OperatorsName, (select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=0 and Image.ImageDelete=0 and Image.ImageSend=1) as ImageSendCount, (select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=0 and Image.ImageDelete=0) as ImageCount, d2.Modality, d2.SeriesDate, d2.SeriesTime, d2.SeriesNumber, (select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=1 and Image.ImageDelete=0) as VideoCount from Study as d1 join Series as d2 on (d1.ID=d2.StudyIndex) join Image as d3 on(d2.ID=d3.SeriesIndex and d2.SeriesNumber=1) join Patient as d4 on (d4.ID=d1.PatientIndex))"); + + + Execute("DROP VIEW IF EXISTS HistoryStudyWithDelete;" + "CREATE VIEW HistoryStudyWithDelete as " + "select StudyIndex, PatientIndex, PatientID, PatientName, PatientAge, PatientSex, PatientBirthDate, PatientWeight, CreateDateTime, StudyDate, StudyTime, StudyCodeValue, PatientLocation, AccessionNumber, ReferringPhysiciansName, StudyInstanceUID, SeriesInstanceUID, StudyDescription, SeriesDescription, OperatorsName, ImageCount, ImageSend, Modality, SeriesDate, SeriesTime, SeriesNumber, VideoCount from (select DISTINCT(d1.ID), d3.StudyIndex, d1.PatientIndex, d4.PatientID, d4.PatientName, d4.PatientAge, d4.PatientSex, d4.PatientBirthDate, d4.PatientWeight, d4.CreateDateTime, d1.StudyDate, d1.StudyTime, d1.StudyCodeValue, d1.PatientLocation, d1.AccessionNumber, d1.ReferringPhysiciansName, d1.StudyInstanceUID, d2.SeriesInstanceUID, d1.StudyDescription, d2.SeriesDescription, d2.OperatorsName, (select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=0 ) as ImageCount, d3.ImageSend, d2.Modality, d2.SeriesDate, d2.SeriesTime, d2.SeriesNumber, (select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=1) as VideoCount from Study as d1 join Series as d2 on (d1.ID=d2.StudyIndex) join Image as d3 on(d2.ID=d3.SeriesIndex and d2.SeriesNumber=1) join Patient as d4 on (d4.ID=d1.PatientIndex))"); + + + + + /* + Execute( + "DROP VIEW IF EXISTS HistoryStudy; " + "CREATE VIEW HistoryStudy as " + "select StudyIndex, PatientIndex, PatientID, PatientName, PatientAge, PatientSex, PatientBirthDate, PatientWeight, CreateDateTime, StudyDate, StudyTime, StudyCodeValue, PatientLocation, AccessionNumber, " + "ReferringPhysiciansName, StudyInstanceUID, SeriesInstanceUID, StudyDescription, SeriesDescription, OperatorsName, ImageCount, ImageSendCount, Modality, SeriesDate, SeriesTime, SeriesNumber, VideoCount " + "from (select DISTINCT(d1.ID), d1.PatientIndex, d1.StudyDate, d1.StudyTime, d1.StudyCodeValue, d1.PatientLocation, d1.AccessionNumber, d1.ReferringPhysiciansName, d1.StudyInstanceUID, d1.StudyDescription, " + "(select d4.PatientID from patient as d4 where d4.ID=d1.PatientIndex) as PatientID," + "(select d4.PatientName from patient as d4 where d4.ID=d1.PatientIndex) as PatientName," + "(select d4.PatientAge from patient as d4 where d4.ID=d1.PatientIndex) as PatientAge," + "(select d4.PatientSex from patient as d4 where d4.ID=d1.PatientIndex) as PatientSex," + "(select d4.PatientBirthDate from patient as d4 where d4.ID=d1.PatientIndex) as PatientBirthDate, " + "(select d4.PatientWeight from patient as d4 where d4.ID=d1.PatientIndex) as PatientWeight, " + "(select d1.CreateDateTime from patient as d4 where d4.ID=d1.PatientIndex) as CreateDateTime, " + //"(select d2.StudyIndex from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as StudyIndex, " + "(d1.ID) as StudyIndex, " + "(select d2.SeriesInstanceUID from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as SeriesInstanceUID, " + "(select d2.SeriesDescription from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as SeriesDescription, " + "(select d2.OperatorsName from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as OperatorsName, " + "(select d2.Modality from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as Modality, " + "(select d2.SeriesDate from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as SeriesDate, " + "(select d2.SeriesTime from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as SeriesTime, " + "(select d2.SeriesNumber from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as SeriesNumber, " + "(select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=0 and Image.ImageDelete=0 and Image.ImageSend=1) as ImageSendCount, " + "(select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=0 and Image.ImageDelete=0) as ImageCount, " + "(select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=1 and Image.ImageDelete=0) as VideoCount " + "from Study as d1);" + ); + + Execute( + "DROP VIEW IF EXISTS HistoryStudyWithDelete; " + "CREATE VIEW HistoryStudyWithDelete as " + "select StudyIndex, PatientIndex, PatientID, PatientName, PatientAge, PatientSex, PatientBirthDate, PatientWeight, CreateDateTime, StudyDate, StudyTime, StudyCodeValue, PatientLocation, AccessionNumber, " + "ReferringPhysiciansName, StudyInstanceUID, SeriesInstanceUID, StudyDescription, SeriesDescription, OperatorsName, ImageCount, ImageSendCount, Modality, SeriesDate, SeriesTime, SeriesNumber, VideoCount " + "from (select DISTINCT(d1.ID), d1.PatientIndex, d1.StudyDate, d1.StudyTime, d1.StudyCodeValue, d1.PatientLocation, d1.AccessionNumber, d1.ReferringPhysiciansName, d1.StudyInstanceUID, d1.StudyDescription, " + "(select d4.PatientID from patient as d4 where d4.ID=d1.PatientIndex) as PatientID," + "(select d4.PatientName from patient as d4 where d4.ID=d1.PatientIndex) as PatientName," + "(select d4.PatientAge from patient as d4 where d4.ID=d1.PatientIndex) as PatientAge," + "(select d4.PatientSex from patient as d4 where d4.ID=d1.PatientIndex) as PatientSex," + "(select d4.PatientBirthDate from patient as d4 where d4.ID=d1.PatientIndex) as PatientBirthDate, " + "(select d4.PatientWeight from patient as d4 where d4.ID=d1.PatientIndex) as PatientWeight, " + "(select d1.CreateDateTime from patient as d4 where d4.ID=d1.PatientIndex) as CreateDateTime, " + //"(select d2.StudyIndex from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as StudyIndex, " + "(d1.ID) as StudyIndex, " + "(select d2.SeriesInstanceUID from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as SeriesInstanceUID, " + "(select d2.SeriesDescription from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as SeriesDescription, " + "(select d2.OperatorsName from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as OperatorsName, " + "(select d2.Modality from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as Modality, " + "(select d2.SeriesDate from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as SeriesDate, " + "(select d2.SeriesTime from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as SeriesTime, " + "(select d2.SeriesNumber from series as d2 where d1.ID=d2.StudyIndex and d2.SeriesNumber=1) as SeriesNumber, " + "(select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=0 and Image.ImageSend=1) as ImageSendCount, " + "(select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=0 ) as ImageCount, " + "(select count(*) from Image where Image.StudyIndex=d1.ID and Image.FileType=1 ) as VideoCount " + "from Study as d1);" + ); +*/ + + + + + Execute( + "DROP VIEW IF EXISTS HistoryStudy; " + "CREATE VIEW HistoryStudy as " + "select Q.StudyIndex, Q.PatientIndex, " + "(select d4.PatientID from patient as d4 where d4.ID=Q.PatientIndex) as PatientID, " + "(select d4.PatientName from patient as d4 where d4.ID=Q.PatientIndex) as PatientName, " + "(select d4.PatientAge from patient as d4 where d4.ID=Q.PatientIndex) as PatientAge, " + "(select d4.PatientSex from patient as d4 where d4.ID=Q.PatientIndex) as PatientSex, " + "(select d4.PatientBirthDate from patient as d4 where d4.ID=Q.PatientIndex) as PatientBirthDate, " + "(select d4.PatientWeight from patient as d4 where d4.ID=Q.PatientIndex) as PatientWeight, " + "(select Q.CreateDateTime from patient as d4 where d4.ID=Q.PatientIndex) as CreateDateTime, " + "Q.StudyDate as StudyDate, Q.StudyTime as StudyTime, Q.StudyCodeValue as StudyCodeValue, Q.PatientLocation as PatientLocation, Q.AccessionNumber as AccessionNumber, " + "ReferringPhysiciansName, StudyInstanceUID, " + "(select d2.SeriesInstanceUID from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as SeriesInstanceUID, " + "StudyDescription, " + "(select d2.SeriesDescription from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as SeriesDescription, " + "(select d2.OperatorsName from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as OperatorsName, " + "(select count(*) from Image where Image.StudyIndex=Q.StudyIndex and Image.FileType=0 and Image.ImageDelete=0) as ImageCount, " + "(select count(*) from Image where Image.StudyIndex=Q.StudyIndex and Image.FileType=0 and Image.ImageDelete=0 and Image.ImageSend=1) as ImageSendCount, " + "(select d2.Modality from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as Modality, " + "(select d2.SeriesDate from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as SeriesDate, " + "(select d2.SeriesTime from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as SeriesTime, " + "(select d2.SeriesNumber from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as SeriesNumber, " + "(select count(*) from Image where Image.StudyIndex=Q.StudyIndex and Image.FileType=1 and Image.ImageDelete=0) as VideoCount " + "from (select DISTINCT(d1.ID), d1.PatientIndex, d1.StudyDate, d1.StudyTime, d1.StudyCodeValue, d1.PatientLocation, d1.AccessionNumber, " + " d1.ReferringPhysiciansName, d1.StudyInstanceUID, d1.StudyDescription, " + " (d1.ID) as StudyIndex, " + " (d1.PatientIndex) as PatientIndex," + " (d1.CreateDateTime)" + " from Study as d1) as Q; " + ); + + Execute( + "DROP VIEW IF EXISTS HistoryStudyWithDelete; " + "CREATE VIEW HistoryStudyWithDelete as " + "select Q.StudyIndex, Q.PatientIndex, " + "(select d4.PatientID from patient as d4 where d4.ID=Q.PatientIndex) as PatientID, " + "(select d4.PatientName from patient as d4 where d4.ID=Q.PatientIndex) as PatientName, " + "(select d4.PatientAge from patient as d4 where d4.ID=Q.PatientIndex) as PatientAge, " + "(select d4.PatientSex from patient as d4 where d4.ID=Q.PatientIndex) as PatientSex, " + "(select d4.PatientBirthDate from patient as d4 where d4.ID=Q.PatientIndex) as PatientBirthDate, " + "(select d4.PatientWeight from patient as d4 where d4.ID=Q.PatientIndex) as PatientWeight, " + "(select Q.CreateDateTime from patient as d4 where d4.ID=Q.PatientIndex) as CreateDateTime, " + "Q.StudyDate as StudyDate, Q.StudyTime as StudyTime, Q.StudyCodeValue as StudyCodeValue, Q.PatientLocation as PatientLocation, Q.AccessionNumber as AccessionNumber, " + "ReferringPhysiciansName, StudyInstanceUID, " + "(select d2.SeriesInstanceUID from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as SeriesInstanceUID, " + "StudyDescription, " + "(select d2.SeriesDescription from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as SeriesDescription, " + "(select d2.OperatorsName from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as OperatorsName, " + "(select count(*) from Image where Image.StudyIndex=Q.StudyIndex and Image.FileType=0) as ImageCount, " + "(select count(*) from Image where Image.StudyIndex=Q.StudyIndex and Image.FileType=0 and Image.ImageSend=1) as ImageSendCount, " + "(select d2.Modality from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as Modality, " + "(select d2.SeriesDate from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as SeriesDate, " + "(select d2.SeriesTime from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as SeriesTime, " + "(select d2.SeriesNumber from series as d2 where Q.StudyIndex=d2.StudyIndex and d2.SeriesNumber=1) as SeriesNumber, " + "(select count(*) from Image where Image.StudyIndex=Q.StudyIndex and Image.FileType=1) as VideoCount " + "from (select DISTINCT(d1.ID), d1.PatientIndex, d1.StudyDate, d1.StudyTime, d1.StudyCodeValue, d1.PatientLocation, d1.AccessionNumber, " + " d1.ReferringPhysiciansName, d1.StudyInstanceUID, d1.StudyDescription, " + " (d1.ID) as StudyIndex, " + " (d1.PatientIndex) as PatientIndex," + " (d1.CreateDateTime)" + " from Study as d1) as Q; " + ); + + Execute( + "DROP VIEW IF EXISTS Storage;" + "CREATE VIEW Storage as " + "select " + "(select d1.ID from Study as d1 where d3.StudyIndex=d1.ID) as StudyIndex," + "(select d1.PatientIndex from Study as d1 where d3.StudyIndex=d1.ID) as PatientIndex," + "(select d1.StudyDate from Study as d1 where d3.StudyIndex=d1.ID) as StudyDate," + "(select d1.StudyTime from Study as d1 where d3.StudyIndex=d1.ID) as StudyTime," + "(select d1.StudyInstanceUID from Study as d1 where d3.StudyIndex=d1.ID) as StudyInstanceUID," + "(select d2.SeriesNumber from Series as d2 where d2.ID=d3.SeriesIndex) as SeriesNumber, " + "(select d2.Modality from Series as d2 where d2.ID=d3.SeriesIndex) as Modality, " + "(select d2.SeriesInstanceUID from Series as d2 where d2.ID=d3.SeriesIndex) as SeriesInstanceUID, " + "d3.SeriesIndex as SeriesIndex, " + "d3.ID as ImageIndex," + "d3.FileLocation as FileLocation," + "d3.ImageInstanceUID as ImageInstanceUID," + "d3.CreateDateTime as CreateDateTime," + "d3.ImageDelete as ImageDelete," + "d3.ImageSend as ImageSend," + "d3.FileType as FileType," + "d3.AcquisitionDate as AcquisitionDate," + "d3.AcquisitionTime as AcquisitionTime," + "d3.AcquisitionNumber as AcquisitionNumber," + "d3.ImageStorage as ImageStorage, " + "d3.ImageNumber as ImageNumber " + " from Image as d3;" + ); + + + Execute( + "DROP VIEW IF EXISTS StorageInfo;" + "CREATE VIEW StorageInfo as " + "select " + "(select d1.ID from Study as d1 where d3.StudyIndex=d1.ID) as StudyIndex," + "(select d1.PatientIndex from Study as d1 where d3.StudyIndex=d1.ID) as PatientIndex," + "(select d1.StudyDate from Study as d1 where d3.StudyIndex=d1.ID) as StudyDate," + "(select d1.StudyTime from Study as d1 where d3.StudyIndex=d1.ID) as StudyTime," + "(select d1.StudyInstanceUID from Study as d1 where d3.StudyIndex=d1.ID) as StudyInstanceUID," + "(select d2.SeriesNumber from Series as d2 where d2.ID=d3.SeriesIndex) as SeriesNumber, " + "(select d2.Modality from Series as d2 where d2.ID=d3.SeriesIndex) as Modality, " + "(select d2.SeriesInstanceUID from Series as d2 where d2.ID=d3.SeriesIndex) as SeriesInstanceUID, " + "d3.SeriesIndex as SeriesIndex, " + "d3.ID as ImageIndex," + "d3.FileLocation as FileLocation," + "d3.ImageInstanceUID as ImageInstanceUID," + "d3.CreateDateTime as CreateDateTime," + "d3.ImageDelete as ImageDelete," + "d3.ImageSend as ImageSend," + "d3.FileType as FileType," + "d3.AcquisitionDate as AcquisitionDate," + "d3.AcquisitionTime as AcquisitionTime," + "d3.AcquisitionNumber as AcquisitionNumber," + "d3.ImageStorage as ImageStorage," + "(select p.PatientID from Patient as p where (select d1.PatientIndex from Study as d1 where d3.StudyIndex=d1.ID)=p.ID) as PatientID," + "(select p.PatientName from Patient as p where (select d1.PatientIndex from Study as d1 where d3.StudyIndex=d1.ID)=p.ID) as PatientName," + "(select p.PatientAge from Patient as p where (select d1.PatientIndex from Study as d1 where d3.StudyIndex=d1.ID)=p.ID) as PatientAge, " + "(select p.PatientSex from Patient as p where (select d1.PatientIndex from Study as d1 where d3.StudyIndex=d1.ID)=p.ID) as PatientSex, " + "d3.ImageNumber as ImageNumber " + " from Image as d3; " + ); +} + + +bool SDatabase::IsExecute() +{ + return m_bExecute; +} + + +int SDatabase::GetStudyIndexWithStudyInstanceUID(QString strStudyInstanceUID) +{ + QString strQuery; + strQuery = QString("select ID from Study where StudyInstanceUID='%1';").arg(strStudyInstanceUID); + + QList listResponse; + + int nStudyIndex = 0; + + ExecuteQuery(strQuery, &listResponse); + + if(listResponse.size()>0) + { + QString strStudyIndex; + QStringList* pDataList = listResponse.at(0); + if(pDataList->size()>0) + { + strStudyIndex = pDataList->at(0); + nStudyIndex = strStudyIndex.toInt(); + } + } + + SDatabase::DeleteListReponse(listResponse); + + return nStudyIndex; +} + + +vector SDatabase::GetSendList(int nStudyIndex) +{ + int i=0; + vector listFile; + QString strQuery; + strQuery = QString("select `FileLocation`, `ID`, `FileType` from Image where `StudyIndex`='%1' and `ImageSend`='0' and `FileType`='0' and `ImageDelete`='0' order by `AcquisitionNumber`; ").arg(nStudyIndex); + + //qDebug() << strQuery; + + QList listSendFile; + ExecuteQuery(strQuery, &listSendFile); + + for(i=0 ; i SDatabase::GetSendListAcquisitionTemp(int nStudyIndex) +{ + int i=0; + vector listFile; + + QString strQuery; + strQuery = QString("select `FileLocation`, `ID`, `FileType` from AcquisitionTemp where `StudyIndex`='%1' and `ImageSend`='0' and `FileType`='0' and `ImageDelete`='0' order by `AcquisitionNumber`; ").arg(nStudyIndex); + + //qDebug() << strQuery; + + QList listSendFile; + ExecuteQuery(strQuery, &listSendFile); + + for(i=0 ; i2220850 && nFileSize<7230854) + { + listFile.push_back(strFileLocation); + } + } + } + + SDatabase::DeleteListReponse(listSendFile); + + return listFile; +} + + +int SDatabase::GetImageMaxAcquisitionNumber(QString& strIndex) +{ + int nMaxAcquisitionNumber = 0; + + + QString strQuery; + strQuery = QString("select max(`AcquisitionNumber`) from Image where `SeriesIndex`='%1'; ").arg(strIndex); + + //qDebug() << strQuery; + + QList listMaxNumber; + ExecuteQuery(strQuery, &listMaxNumber); + + if(listMaxNumber.size()==1) + { + QStringList* pListData = listMaxNumber[0]; + if(pListData!=NULL) + { + if(pListData->size()==1) + { + QString strData = (*pListData)[0]; + nMaxAcquisitionNumber = strData.toInt(); + } + } + } + + SDatabase::DeleteListReponse(listMaxNumber); + + return nMaxAcquisitionNumber; +} + +int SDatabase::GetVideoMaxAcquisitionNumber(QString& strIndex) +{ + int nMaxAcquisitionNumber = 0; + + + QString strQuery; + strQuery = QString("select max(`AcquisitionNumber`) from Image where `SeriesIndex`='%1'; ").arg(strIndex); + + //qDebug() << strQuery; + + QList listMaxNumber; + ExecuteQuery(strQuery, &listMaxNumber); + + if(listMaxNumber.size()==1) + { + QStringList* pListData = listMaxNumber[0]; + if(pListData!=NULL) + { + if(pListData->size()==1) + { + QString strData = (*pListData)[0]; + nMaxAcquisitionNumber = strData.toInt(); + } + } + } + + SDatabase::DeleteListReponse(listMaxNumber); + + return nMaxAcquisitionNumber; +} + +void SDatabase::AddAcquisitionTempToImage() +{ + //QString strUpdate = QString("update Image set ImageDelete=t1.`ImageDelete`, ImageStorage=t1.`ImageStorage`, ImageSend=t1.`ImageSend`, ImageType=t1.`ImageType`, FileType=t1.`FileType` from AcquisitionTemp as t1 join Image as t2 on t1.`FileLocation`=t2.`FileLocation` WHERE Image.`FileLocation`=t1.`FileLocation`;"); + //QString strUpdate = QString("UPDATE Image SET `ImageDelete`=t1.`ImageDelete`, `ImageStorage`=t1.`ImageStorage`, `ImageSend`=t1.`ImageSend`, `ImageType`=t1.`ImageType`, `FileType`=t1.`FileType` FROM (SELECT * FROM AcquisitionTemp) as t1 WHERE Image.FileLocation = t1.FileLocation;"); + QString strQuery = QString("select t2.ID, t2.ImageDelete, t2.ImageStorage, t2.ImageSend, t2.ImageType, t2.FileType, t2.FileLocation from Image as t1 join AcquisitionTemp as t2 on t1.ID=t2.ID;"); + + QList listUpdateData; + ExecuteQuery(strQuery, &listUpdateData); + + if(listUpdateData.size()>0) + { + Begin(); + int i=0; + for(i=0 ; i= 0 ;"); + Execute("UPDATE SQLITE_SEQUENCE SET seq=0 WHERE name='AcquisitionTemp' ;"); +} + +void SDatabase::AddImageToAcquisitionTemp(int nStudyIndex) +{ + QString strInsert; + strInsert = QString("INSERT INTO AcquisitionTemp(`ID`, `CreateDateTime`, `StudyIndex`, `SeriesIndex`, `ImageNumber`, `ImageDelete`, `ImageStorage`, `ImageSend`, `FileType`, " + "`ImageInstanceUID`, `FileLocation`, `ImageType`, `AcquisitionDate`, `AcquisitionTime`, `ContentDate`, `ContentTime`, `AcquisitionNumber`, " + "`InstanceNumber`, `PatientOrientation`, `ImageLaterality`, `ImageComments`) " + "SELECT `ID`, `CreateDateTime`, `StudyIndex`, `SeriesIndex`, `ImageNumber`, `ImageDelete`, `ImageStorage`, `ImageSend`, `FileType`, " + "`ImageInstanceUID`, `FileLocation`, `ImageType`, `AcquisitionDate`, `AcquisitionTime`, `ContentDate`, `ContentTime`, `AcquisitionNumber`, " + "`InstanceNumber`, `PatientOrientation`, `ImageLaterality`, `ImageComments` FROM IMAGE WHERE `StudyIndex`='%1' and `ImageDelete`='0' order by `ID` asc; ").arg(nStudyIndex); + + Execute(strInsert); +} + + +void SDatabase::Begin() +{ + char err[1024]; + memset(err, 0, 1024); + sqlite3_exec((sqlite3*)m_pSqliteDB, "BEGIN TRANSACTION", NULL, NULL, (char**)err); +} + +void SDatabase::End() +{ + char err[1024]; + memset(err, 0, 1024); + sqlite3_exec((sqlite3*)m_pSqliteDB, "END TRANSACTION", NULL, NULL, (char**)err); +} + + +void SDatabase::DeleteListReponse(QList& listResponse) +{ + QList::iterator it; + + for(it=listResponse.begin() ; it!=listResponse.end() ; ++it) + { + QStringList* pDataList = *it; + if(pDataList!=NULL) + { + pDataList->clear(); + SAFE_DELETE(pDataList); + } + } + listResponse.clear(); +} diff --git a/sdatabase.h b/sdatabase.h new file mode 100644 index 0000000..8594c92 --- /dev/null +++ b/sdatabase.h @@ -0,0 +1,182 @@ +#ifndef SDATABASE_H +#define SDATABASE_H + +#include + +#include + +//#include "sqlite3.h" + +#include "acquisition_info.h" + +#include "common.h" + +namespace SUTIL +{ + class SDatabase : public QObject + { + Q_OBJECT + public: + explicit SDatabase(const QString& connectionName, QObject *parent = nullptr); + virtual ~SDatabase(); + + // 트랜잭션 함수 이름 명확화 + bool BeginTransaction(); + bool Commit(); + bool Rollback(); + + int OpenDatabase(QString strFilename); + void CloseDatabase(); + + static void DeleteListReponse(QList& listResponse); + + + // ExecuteQuery와 Execute를 하나로 통합하고 파라미터 바인딩을 지원하도록 개선 + bool ExecuteQuery(const QString& strQuery, QList& resultList); + bool ExecuteNonQuery(const QString& strQuery); + // SQL Injection 방지를 위한 파라미터 바인딩 버전 (강력 추천) + bool ExecuteQuery(const QString& strQuery, const QVariantList& params, QList& resultList); + bool ExecuteNonQuery(const QString& strQuery, const QVariantList& params); + + void MakeTableDataInfo(); + + void MakeViewTable(); + + void MakeTableUser(); + void MakeTableAdvancedSetting(); + void MakeTableReserved(); + + void MakeAcquisitionTempTable(); + + void AddAcquisitionTempToImage(); + void ClearAcquisitionTempTable(); + + bool AddImageToAcquisitionTemp(int nStudyIndex); + + void CheckAdavancedTable(); + void CheckLoginTable(); + + QString GetValueAdavancedTable(const QString& strColumn); + + //void Clear(); + + //bool IsExecute(); + + bool AutoremoveImageTable(); + + QList QueryWorklistTableHeader(); + QList QueryWorklistTableHeaderVisible(); + QList QueryWorklistTableHeaderInvisible(); + QList QueryHistoryTableHeader(); + QList QueryHistoryTableHeaderVisible(); + QList QueryHistoryTableHeaderInvisible(); + + int InsertPatient(ACQUISITION_INFO* pAcquisitionInfo); + + int InsertStudy(ACQUISITION_INFO* pAcquisitionInfo); + + + + int InsertSeriesImage(ACQUISITION_INFO* pAcquisitionInfo); + int InsertSeriesMovie(ACQUISITION_INFO* pAcquisitionInfo); + + + int InsertImage(ACQUISITION_INFO* pAcquisitionInfo); + int InsertVideo(ACQUISITION_INFO* pAcquisitionInfo); + + int UpdateImage(ACQUISITION_INFO* pAcquisitionInfo, const vector& listCaptureImage); + int UpdateImageOnAcquistionTemp(ACQUISITION_INFO* pAcquisitionInfo, const vector& listCaptureImage); + + int GetHistory(SEARCH_ITEM* pSearchItem); + + QList GetHistoryStudy(SEARCH_ITEM* pSearchItem, bool bWithDelete=false); + + QList GetImageWithStudyIndex(int nIndex); + QList GetImageWithStudyIndexASC(int nIndex); + + bool ImageDeleteFromImage(const QString& strFile, bool bDelete); + bool ImageDeleteFromAcqusitionTemp(const QString& strFile, bool bDelete); + + bool ImageDeleteFromImageInstanceUID(const QString& strInstanceUID, bool bDelete); + + int GetAcquisitionNumber(const QString& strFile); + + int GetSeriesImageIndexWithInstanceUID(const QString& strStudyInstanceUID); + int GetSeriesVideoIndexWithInstanceUID(const QString& strStudyInstanceUID); + + vector GetImageListWithStudy(const QString& strStudyDate, const QString& strPatientID); + vector GetImageListWithStudyIndex(const QString& strStudyIndex); + + vector GetVideoListWithStudy(const QString& strStudyDate, const QString& strPatientID); + vector GetVideoListWithStudyIndex(const QString& strStudyIndex); + + void SendUpdate(const QString& strFilename); + + void SendUpdateAcquisitionTemp(const QString& strFilename); + + + int GetImageMaxAcquisitionNumber(const QString& strSeriesIndex); + int GetVideoMaxAcquisitionNumber(const QString& strSeriesIndex); + + + //QList* GetResult(); + + QList GetScheduledDeleteFileList(); + + + QStringList GetScheduledDeleteStudyDateList(); + + void UpdateScheduledDeleteCompleteStudyDate(); + + bool SetDeleteStorageFile(const QString& strFile); + + QStringList GetVideoFileList(); + + int GetStudyIndexWithStudyInstanceUID(const QString& strStudyInstanceUID); + + + vector GetSendList(int nStudyIndex); + + + QList GetExitSendListInfo(int nStudyIndex); + + vector GetSendListAcquisitionTemp(int nStudyIndex); + + bool CacheWrite(); + + QString connectionName(); + + vector GetAllFilesForStudyIndex(int studyIndex); + + + signals: + + public slots: + + public: + int getOrInsertSeries(ACQUISITION_INFO *pAcquisitionInfo, int seriesNumber); + int upsertImages(const QString& tableName, ACQUISITION_INFO* pAcquisitionInfo, const vector& listCaptureImage); + QVariant executeScalar(const QString& query, const QVariantList& params = QVariantList()); + + int getSeriesIndex(const QString& studyInstanceUID, int seriesNumber); + + bool updateSendStatus(const QString& tableName, const QString& filename); + + bool IsExecute(); + + protected: + // --- 변경된 멤버 변수 --- + QString m_connectionName; // 각 인스턴스의 고유 DB 커넥션 이름 + bool m_bExecute; + + static uint64_t m_nUsage; + + // QMutex m_Lock; // 불필요 + // sqlite3* m_pSqliteDB; // 불필요 + // QList* m_pResult; // 불필요, 함수 인자로 처리 + }; +} + + +#endif // SDATABASE_H + diff --git a/sdayview.cpp b/sdayview.cpp new file mode 100644 index 0000000..5eb9469 --- /dev/null +++ b/sdayview.cpp @@ -0,0 +1,280 @@ +#include "sdayview.h" + +#include + +#include +#include + +#include "formcalendarview.h" + +SDayView::SDayView(QWidget *parent) : QWidget(parent) +{ + m_nDay = 0; + m_bSelected = false; + m_nIndexRow = -1; + m_nIndexColumn = -1; + m_bCurrentMonth = false; +} + +SDayView::~SDayView() +{ + +} + +void SDayView::paintEvent(QPaintEvent *event) +{ + QPainter painter(this); + + QSize nSize = size(); + QDate today = QDate::currentDate(); + + QRect rectDisplay(0, 0, nSize.width(), nSize.height()); + QRect rectRange = QRect(0, 0, 0, 0); + + QColor colorPen(200, 200, 200); + + int nCenterX = nSize.width()/2; + int nCenterY = nSize.height()/2; + + painter.save(); + painter.setRenderHint(QPainter::Antialiasing, true); + + //Draw Background + painter.fillRect(rectDisplay, QColor(255, 255, 255)); + + if(FormCalendarView::GetDateStart()!=FormCalendarView::GetDateEnd()) + { + if(m_Date==FormCalendarView::GetDateStart()) + { + rectDisplay = QRect((nSize.width()-nSize.height()+20)/2, 10, nSize.height()-20, nSize.height()-20); + rectRange = QRect(nSize.width()/2, nSize.height()*0.2, nSize.width()/2+1, nSize.height()*0.6); + } + else if(m_Date==FormCalendarView::GetDateEnd()) + { + rectRange = QRect(0, nSize.height()*0.2, nSize.width()/2, nSize.height()*0.6); + } + else + { + rectRange = QRect(0, nSize.height()*0.2, nSize.width(), nSize.height()*0.6); + } + } + + + painter.setPen(colorPen); + + if(m_bSelected==true) + { + //painter.fillRect(rectDisplay, QColor(100, 100, 100)); + } + + //painter.restore(); + //return; + + + int nDate = m_Date.toJulianDay(); + int nDateStart = FormCalendarView::GetDateStart().toJulianDay(); + int nDateEnd = FormCalendarView::GetDateEnd().toJulianDay(); + + if(nDate >= nDateStart && nDate <= nDateEnd) + { + painter.fillRect(rectRange, QColor(214, 224, 229)); + } + + int nRadius = nSize.width(); + if(nSize.height()0) + { + if(m_bCurrentMonth==true) + { + colorText = Qt::black; + } + else + { + colorText = QColor(102, 102, 102); + } + + if(m_Date.dayOfWeek()==7) + { + if(m_bCurrentMonth==true) + { + colorText = Qt::red; + } + } + else if(m_Date.dayOfWeek()==6) + { + if(m_bCurrentMonth==true) + { + colorText = QColor(0, 25, 255); + } + } + + if(m_Date==FormCalendarView::GetDateStart() || m_Date==FormCalendarView::GetDateEnd()) + { + colorText = Qt::white; + } + + painter.setPen(colorText); + + //QFont fontRoboto("Roboto Medium"); + //QFont fontRoboto("Roboto Regular"); + QFont fontRoboto("Roboto"); + fontRoboto.setPixelSize(20); + + painter.setFont(fontRoboto); + painter.drawText(rectDisplay, Qt::AlignCenter , strDay); + } + + + if(today==m_Date) + { + painter.setPen(Qt::black); + QRect rectToday = rectDisplay; + + if(nSize.width() > nSize.height()) + { + rectToday = QRect(nCenterX-20, nCenterY-30, 40, 14); + painter.setPen(Qt::red); + + QFont fontToday("Roboto"); + fontToday.setPixelSize(12); + painter.setFont(fontToday); + painter.drawText(rectToday, Qt::AlignCenter, "TODAY"); + } + + //QRect rectEllipse = rectDisplay; + //rectEllipse = QRect(nCenterX-nCenterY+nMargins, nMargins, nCenterY*2-nMargins*2, nCenterY*2-nMargins*2); + //rectEllipse = QRect(nCenterX-4, nCenterY+14, 8, 8); + //QBrush brush(QColor(0, 0, 0), Qt::SolidPattern); + //QPainterPath path; + //path.addEllipse(rectEllipse); + //painter.setBrush(brush); + //painter.drawPath(path); + } + + painter.restore(); + + +} + + +void SDayView::SetRowColumn(int nRow, int nColumn) +{ + m_nIndexRow = nRow; + m_nIndexColumn = nColumn; +} + +int SDayView::GetIndexRow() +{ + return m_nIndexRow; +} + +int SDayView::GetIndexColumn() +{ + return m_nIndexColumn; +} + +void SDayView::SetDate(QDate nDate) +{ + m_Date = nDate; + m_nDay = m_Date.day(); +} + +void SDayView::SetDate(QDate nDate, bool bCurrentMonth) +{ + SetDate(nDate); + m_bCurrentMonth = bCurrentMonth; +} + +void SDayView::ClearDate() +{ + m_nDay = 0; + m_Date = QDate(1900, 1, 1); +} + +QDate SDayView::GetDate() +{ + return m_Date; +} + +int SDayView::GetYear() +{ + return m_Date.year(); +} + +int SDayView::GetMonth() +{ + return m_Date.month(); +} + +int SDayView::GetDay() +{ + return m_Date.day(); +} + +void SDayView::Select() +{ + m_bSelected = true; +} + +void SDayView::Unselect() +{ + m_bSelected = false; +} + +bool SDayView::IsSelected() +{ + return m_bSelected; +} + +void SDayView::mousePressEvent(QMouseEvent *event) +{ + +} + +void SDayView::mouseReleaseEvent(QMouseEvent *event) +{ + Clicked(m_nIndexRow, m_nIndexColumn); + if(m_bSelected==true) + { + Unselect(); + } + else + { + Select(); + } + + update(); + +} + +void SDayView::resizeEvent(QResizeEvent *event) +{ + QWidget::resizeEvent(event); + update(); +} diff --git a/sdayview.h b/sdayview.h new file mode 100644 index 0000000..5149be2 --- /dev/null +++ b/sdayview.h @@ -0,0 +1,58 @@ +#ifndef SDAYVIEW_H +#define SDAYVIEW_H + +#include +#include +#include + +class SDayView : public QWidget +{ + Q_OBJECT +public: + explicit SDayView(QWidget *parent = nullptr); + virtual ~SDayView(); + + virtual void paintEvent(QPaintEvent *event); + + void SetRowColumn(int nRow, int nColumn); + + int GetIndexRow(); + + int GetIndexColumn(); + + void SetDate(QDate nDate); + void SetDate(QDate nDate, bool bCurrentMonth); + QDate GetDate(); + + void ClearDate(); + + int GetYear(); + int GetMonth(); + int GetDay(); + + void Select(); + void Unselect(); + + bool IsSelected(); + + virtual void mousePressEvent(QMouseEvent *event); + virtual void mouseReleaseEvent(QMouseEvent *event); + virtual void resizeEvent(QResizeEvent *event); + +signals: + void Clicked(int nIndexRow, int nIndexColumn); + +protected: + bool m_bSelected; + int m_nIndexRow; + int m_nIndexColumn; + bool m_bCurrentMonth; + + QDate m_Date; + int m_nDay; + +signals: + +}; + +#endif // SDAYVIEW_H diff --git a/sdcmfindscu.cpp b/sdcmfindscu.cpp new file mode 100644 index 0000000..25e4c87 --- /dev/null +++ b/sdcmfindscu.cpp @@ -0,0 +1,6 @@ +#include "sdcmfindscu.h" + +SDCMFindSCU::SDCMFindSCU() +{ + +} diff --git a/sdcmfindscu.h b/sdcmfindscu.h new file mode 100644 index 0000000..bcabd2d --- /dev/null +++ b/sdcmfindscu.h @@ -0,0 +1,12 @@ +#ifndef SDCMFINDSCU_H +#define SDCMFINDSCU_H + +#include "dcmtk/dcmnet/dfindscu.h" + +class SDCMFindSCU : public DcmFindSCU +{ +public: + SDCMFindSCU(); +}; + +#endif // SDCMFINDSCU_H diff --git a/sdcmfindscudatacallback.cpp b/sdcmfindscudatacallback.cpp new file mode 100644 index 0000000..358a6f8 --- /dev/null +++ b/sdcmfindscudatacallback.cpp @@ -0,0 +1,625 @@ +#include "sdcmfindscudatacallback.h" + +#include +#include +#include +#include + +#include +#include +#include + +#include "mainwindow.h" +#include "charconvert.h" + +/* +SDCMFindSCUDataCallback::SDCMFindSCUDataCallback() +{ + m_pDCMViewList = NULL; + m_pDCMDumpList = NULL; +} +*/ + + +SDCMFindSCUDataCallback::SDCMFindSCUDataCallback(DcmFindSCUExtractMode extractResponses, + int cancelAfterNResponses, + const char *outputDirectory, + STD_NAMESPACE ofstream *outputStream, + const unsigned int limitOutput)//:DcmFindSCUCallback()//DcmFindSCUDefaultCallback(extractResponses, cancelAfterNResponses, outputDirectory, outputStream)//, limitOutput) +{ + m_pDCMViewList = NULL; + + m_pDCMDumpList = NULL; +} + + +SDCMFindSCUDataCallback::~SDCMFindSCUDataCallback() +{ + if(m_pDCMViewList!=NULL) + { + Clear(); + } + + if(m_pDCMDumpList!=NULL) + { + + } +} + + +void SDCMFindSCUDataCallback::callback(T_DIMSE_C_FindRQ *request, + int& responseCount, + T_DIMSE_C_FindRSP *rsp, + DcmDataset *responseIdentifiers) +{ + //OFString temp_str; + //DIMSE_dumpMessage(temp_str, *rsp, DIMSE_INCOMING); + + CommonData* pCommonData = MainWindow::GetCommonData(); + QString strEnc = pCommonData->GetDICOMCharacterSet(); + + unsigned long i = 0; + OFString tagValue; + + int nCount = 0; + DcmTag tag; + DcmItem* pSubItem = NULL; + DcmElement* pElement = NULL; + + OFString strData; + DcmTagKey dcmKey; + + + + //responseIdentifiers->saveFile("worklist.dcm"); + + WorklistResponseData wrd; + + WorklistResponseData* wr = &wrd; + + /* + OFString strEnc = FindCharacterSet(responseIdentifiers); + //responseIdentifiers->findAndGetOFStringArray(DCM_SpecificCharacterSet, strEnc); + if (strEnc.length()==0) + { + //if(CSDCM) + strEnc = "ISO_IR 192"; + } + CharacterSetConversion(responseIdentifiers, strEnc); + */ + +#ifdef DCMTK_ENABLE_CHARSET_CONVERSION + + //OFCondition cond1 = responseIdentifiers->convertToUTF8(); +#endif + + //CSDCM test1; + + + for (i = 0; icard(); i++) + { + strData.clear(); + + pElement = NULL; + pElement = responseIdentifiers->getElement(i); + + int nGroup = pElement->getGTag(); + int nElement = pElement->getETag(); + + DcmTag tag(nGroup, nElement); + + DcmEVR vr; + + + DcmTagKey tagKey; + pElement->getTagVal(tagKey); + + vr = pElement->getVR(); + + + + if(vr==EVR_SQ) + { + ReadSequence(pElement, wr); + } + else + { + pElement->getOFStringArray(strData); + DcmEVR vrChild = pElement->getVR(); + + if(vrChild==EVR_PN || vrChild==EVR_LO) + { + //strData = CharConvert::EUCKRtoUTF8(strData.data()).toStdString().c_str(); + if(strEnc=="EUC-KR") + { + strData = CharConvert::Convert(strData.data(), "UTF-8").toStdString().c_str(); + } + } + wr->InsertData(tag, strData); + + //test1.InsertTagValue(tag, strData); + + } + + if (tag == DCM_PatientName) + { + //char* pTest123 = new char[1024]; + //ZeroMemory(pTest123, 1024); + //pElement->getString(pTest123); + wr->InsertData(tag, strData); + } + + if(tag==DCM_Modality) + { + + } + + + } + + + + if (wr->m_Study.strStudyDate.length() == 0) + { + wr->m_Study.strStudyDate = wr->m_ScheduledData.strScheduledProcedureStepStartDate; + } + + if (wr->m_Study.strStudyTime.length() == 0) + { + wr->m_Study.strStudyTime = wr->m_ScheduledData.strScheduledProcedureStepStartTime; + } + + //m_pDCMViewList->Add(wr); + //m_pDCMViewList->push_back(wrd); + + if(wr->m_ScheduledData.strScheduledStepDescription.length()>0) + { + wr->m_Study.strStudyDescription = wr->m_ScheduledData.strScheduledStepDescription; + + //QString strTest1 = CharConvert::EUCKRtoUTF8(wr->m_ScheduledData.strScheduledStepDescription.c_str()); + + if(strEnc=="EUC-KR") + { + //QString strTest1 = CharConvert::Convert(wr->m_ScheduledData.strScheduledStepDescription.c_str(), strEnc); + //wr->m_Study.strStudyDescription = strTest1.toStdString().c_str(); + } + } + + if(wr->m_Series.strSeriesDescription.length()==0) + { + wr->m_Series.strSeriesDescription = wr->m_Study.strStudyDescription; + } + else + { + //QString strTest1 = CharConvert::EUCKRtoUTF8(wr->m_ScheduledData.strScheduledStepDescription.c_str()); + + if(strEnc=="EUC-KR") + { + //QString strTest1 = CharConvert::Convert(wr->m_Series.strSeriesDescription.c_str(), strEnc); + //wr->m_Series.strSeriesDescription = strTest1.toStdString().c_str(); + } + } + + m_pDCMViewList->push_back(wrd); + + + +} + + +void SDCMFindSCUDataCallback::AddView(WORD wGroup, WORD wElement) +{ + /* + SDCM_GROUP_ELEMENT* pNewGroupElement = NULL; + SDCM_GROUP_ELEMENT* pGroupElement = NULL; + SDCM_GROUP_ELEMENT nGroupElement(wGroup, wElement); + + POSITION pos = NULL; + BOOL bExist = FALSE; + pos = m_pViewReservedList->GetHeadPosition(); + + while(pos!=NULL) + { + pGroupElement = m_pViewReservedList->GetNext(pos)->GetData(); + if(nGroupElement==*pGroupElement) + { + bExist = TRUE; + break; + } + } + + if(bExist==FALSE) + { + pNewGroupElement = new SDCM_GROUP_ELEMENT(wGroup, wElement); + m_pViewReservedList->Add(pNewGroupElement); + } + */ +} + + +int SDCMFindSCUDataCallback::GetWorklistSize() +{ + return m_pDCMViewList->size(); + //return m_pDCMViewList->GetCount(); +} + +void SDCMFindSCUDataCallback::SetWorklistData(vector* pWorklistData) +{ + m_pDCMViewList = pWorklistData; +} + +void SDCMFindSCUDataCallback::SetWorklistDump(vector* pDCMDump) +{ + m_pDCMDumpList = pDCMDump; +} + +/* +vector* SDCMFindSCUDataCallback::GetWorklistData() +{ + return m_pDCMViewList; +} +*/ + +vector* SDCMFindSCUDataCallback::GetDCMDumpList() +{ + return m_pDCMDumpList; +} + +void SDCMFindSCUDataCallback::Clear() +{ + //m_pDCMViewList->DeleteAll(); + + if(m_pDCMViewList==NULL) + { + return; + } + + int i=0; + + for(i=0 ; isize() ; i++) + { + //WorklistResponseData + } + + m_pDCMViewList->clear(); + + + if(m_pDCMDumpList==NULL) + { + return; + } + + + + for(i=0 ; isize() ; i++) + { + CSDCM* pDCM = (*m_pDCMDumpList)[i]; + delete pDCM; + } + + m_pDCMDumpList->clear(); +} + +int SDCMFindSCUDataCallback::CharacterSetConversion(DcmItem* pDcmItem, OFString strEnc) +{ + + int nConv = 0; + int i = 0; + OFString strData; + + /* + + CStringA strConv; + if (strEnc == "ISO_IR 192") + { + strConv = "UTF-8"; + } + else if (strEnc == "ISO_IR 100") + { + strConv = "ASCII"; + } + else if (strEnc == "ISO 2022 IR 149") + { + strConv = "ISO-2022-KR"; + } + + strConv = "EUC-KR"; + + for (i = 0; i < pDcmItem->card(); i++) + { + strData.empty(); + DcmElement* pElement = NULL; + + pElement = pDcmItem->getElement(i); + + DcmTag tag; + tag = pElement->getTag(); + int nGroup = tag.getGroup(); + int nElement = tag.getElement(); + + DcmEVR vr; + vr = pElement->getVR(); + + if (tag == DCM_ScheduledProcedureStepSequence) + { + DcmSequenceOfItems* seq = NULL; + seq = (DcmSequenceOfItems*)pElement; + + if (seq != NULL) + { + int j = 0; + int nSubData = seq->card(); + DcmItem* pItem = seq->getItem(0); + + if (pItem != NULL) + { + DcmElement* pSubElement = NULL; + nSubData = pItem->card(); + for (j = 0; jgetElement(j); + + if (pSubElement->getVR() == EVR_PN) + { + int nRet = 0; + nRet = ConvertPatientName(pSubElement, strConv); + pSubElement->getOFStringArray(strData); + + if (nRet>=0) + { + nConv++; + } + else + { + + } + } + + if (pSubElement != NULL) + { + tag = pSubElement->getTag(); + pSubElement->getOFStringArray(strData); + } + } + + } + } + } + else + { + pElement->getOFStringArray(strData); + } + + if (vr == EVR_PN) + { + int nRet = 0; + nRet = ConvertPatientName(pElement, strConv); + pElement->getOFStringArray(strData); + + if (nRet >= 0) + { + nConv++; + } + else + { + + } + + + } + } + */ + + return nConv; +} + +int SDCMFindSCUDataCallback::ConvertPatientName(DcmElement* pElement, OFString strEncDICOM) +{ + int nRet = 0; + /* + + CStringA strEncSystem = CSDCMStringEncoder::GetStringEncSystem(); + + OFString strData; + pElement->getOFStringArray(strData); + + OFString strConv; + nRet = CSDCMStringEncoder::ConvertString(strData, strConv, strEncDICOM, strEncSystem); + + if (nRet >= 0) + { + pElement->putOFStringArray(strConv); + + pElement->getOFStringArray(strData); + } + */ + + return nRet; +} + +OFString SDCMFindSCUDataCallback::FindCharacterSet(DcmItem* pDcmItem) +{ + int i = 0; + OFString strData = ""; + + /* + for (i = 0; i < pDcmItem->card(); i++) + { + strData.clear(); + + DcmElement* pElement = NULL; + pElement = pDcmItem->getElement(i); + DcmTag tag = pElement->getTag(); + int nGroup = tag.getGroup(); + int nElement = tag.getElement(); + + DcmEVR vr; + vr = pElement->getVR(); + + if (tag == DCM_ScheduledProcedureStepSequence) + { + DcmSequenceOfItems* seq = NULL; + seq = (DcmSequenceOfItems*)pElement; + + if (seq != NULL) + { + int j = 0; + int nSubData = seq->card(); + DcmItem* pItem = seq->getItem(0); + + if (pItem != NULL) + { + DcmElement* pSubElement = NULL; + nSubData = pItem->card(); + for (j = 0; j < nSubData; j++) + { + pSubElement = NULL; + pSubElement = pItem->getElement(j); + + + + if (pSubElement != NULL) + { + tag = pSubElement->getTag(); + + if (tag == DCM_SpecificCharacterSet) + { + pSubElement->getOFStringArray(strData); + return strData; + } + + + } + } + + } + } + } + else if(tag==DCM_SpecificCharacterSet) + { + pElement->getOFStringArray(strData); + return strData; + + } + } + */ + + return ""; +} + +void SDCMFindSCUDataCallback::ReadSequence(DcmElement* pElement, WorklistResponseData* wr) +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + QString strEnc = pCommonData->GetDICOMCharacterSet(); + + DcmSequenceOfItems* seq = NULL; + seq = (DcmSequenceOfItems*)pElement; + + //CSDCM test1; + DcmTag tag; + DcmItem* pSubItem = NULL; + + + OFString strData; + DcmTagKey dcmKey; + + DcmEVR vr; + + + DcmTagKey tagKey; + pElement->getTagVal(tagKey); + + vr = pElement->getVR(); + + + if (seq != NULL) + { + //CSDCM* pChild = test1.InsertSequence(tag); + int j = 0; + + int nSubData = seq->card(); + DcmItem* pItem = seq->getItem(0); + + if (pItem != NULL) + { + DcmElement* pSubElement = NULL; + nSubData = pItem->card(); + for (j = 0; jgetElement(j); + + if (pSubElement != NULL) + { + tag = pSubElement->getTag(); + pSubElement->getOFStringArray(strData); + + DcmEVR vrChild = pSubElement->getVR(); + + if(vrChild==EVR_SQ) + { + + ReadSequence(pSubElement, wr); + } + + if(vrChild==EVR_PN || vrChild==EVR_LO) + { + //strData = CharConvert::EUCKRtoUTF8(strData.data()).toStdString().c_str(); + if(strEnc=="EUC-KR") + { + strData = CharConvert::Convert(strData.data(), "UTF-8").toStdString().c_str(); + } + + + } + wr->InsertData(tag, strData); + + //pChild->InsertTagValue(tag, strData); + } + } + + } + } + + + /* + if (tag == DCM_ScheduledProcedureStepSequence) + { + DcmSequenceOfItems* seq = NULL; + seq = (DcmSequenceOfItems*)pElement; + + if (seq != NULL) + { + int j = 0; + + int nSubData = seq->card(); + DcmItem* pItem = seq->getItem(0); + + if (pItem != NULL) + { + DcmElement* pSubElement = NULL; + nSubData = pItem->card(); + for (j = 0; jgetElement(j); + + if (pSubElement != NULL) + { + tag = pSubElement->getTag(); + pSubElement->getOFStringArray(strData); + + if(tag==DCM_PatientName) + { + strData = MainWindow::EUCKRtoUTF8(strData.data()).toStdString(); + } + wr->InsertData(tag, strData); + } + } + + } + } + } + */ +} diff --git a/sdcmfindscudatacallback.h b/sdcmfindscudatacallback.h new file mode 100644 index 0000000..3d29af2 --- /dev/null +++ b/sdcmfindscudatacallback.h @@ -0,0 +1,72 @@ +#ifndef SDCMFINDSCUDATACALLBACK_H +#define SDCMFINDSCUDATACALLBACK_H + +#include "dcmtk/dcmnet/dfindscu.h" +#include "dcmtk/oflog/oflog.h" + +#include "SDCMCommonStructure.h" + + +#include +#include +using namespace std; + + + + +class SDCMFindSCUDataCallback : public DcmFindSCUCallback +{ +public: + //SDCMFindSCUDataCallback(); + + SDCMFindSCUDataCallback( + DcmFindSCUExtractMode extractResponses, + int cancelAfterNResponses, + const char *outputDirectory = NULL, + STD_NAMESPACE ofstream *outputStream = NULL, + const unsigned int limitOutput = 0); + + + /// destructor + virtual ~SDCMFindSCUDataCallback(); + + + + virtual void callback( + T_DIMSE_C_FindRQ *request, + int& responseCount, + T_DIMSE_C_FindRSP *rsp, + DcmDataset *responseIdentifiers); + + void AddView(WORD wGroup, WORD wElement); + + int GetWorklistSize(); + + void Clear(); + + void ReadSequence(DcmElement* pElement, WorklistResponseData* wr); + + //CSList* GetWorklistData(); + //vector* GetWorklistData(); + + vector* GetDCMDumpList(); + + void SetWorklistData(vector* pWorklistData); + void SetWorklistDump(vector* pDCMDump); + + int CharacterSetConversion(DcmItem* pDcmItem, OFString strEnc); + + int ConvertPatientName(DcmElement* pElement, OFString strConv); + + OFString FindCharacterSet(DcmItem* pDcmItem); +protected: + vector* m_pViewReservedList; + + vector* m_pDCMViewList; + vector* m_pDCMDumpList; + + OFLogger* m_pLogger; + +}; + +#endif // SDCMFINDSCUDATACALLBACK_H diff --git a/sdcmworklist.cpp b/sdcmworklist.cpp new file mode 100644 index 0000000..3262ba0 --- /dev/null +++ b/sdcmworklist.cpp @@ -0,0 +1,618 @@ +#include "sdcmworklist.h" + +#include "mainwindow.h" + +#include + +#include "charconvert.h" +#include + +static void progressCallback(void* callbackData, T_DIMSE_C_FindRQ* request, int responseCount, T_DIMSE_C_FindRSP* rsp, DcmDataset* responseIdentifiers) +{ + +} + +SDCMWorklist::SDCMWorklist() +{ + m_pOverrideKeys = new OFList; + + + //m_strIP = "10.10.16.28"; + //m_nPort = 104; + m_strIP = "10.20.236.27"; + //m_nPort = 127; + m_nPort = 128; + + m_strAETitle = "GI_TEST"; + m_strServerAETitle = "TY_WORK_2727"; + m_pAbstractSyntax = UID_FINDModalityWorklistInformationModel; + m_NetworkTransferSyntax = EXS_LittleEndianExplicit; //EXS_Unknown + //m_NetworkTransferSyntax = EXS_LittleEndianImplicit; //EXS_Unknown + m_BlockMode = DIMSE_BLOCKING; + + m_DimseTimeout = 20; + //m_nMaxReceivePDULength = ASC_DEFAULTMAXPDU; + m_nMaxReceivePDULength = ASC_MAXIMUMPDUSIZE; + m_bSecure = false; + m_bAbortAssociation = false; + m_nRetryCount = 5; + //m_ExtractMode = FEM_dicomFile; + m_ExtractMode = FEM_none; + m_CancelAfterNResponses = -1; + m_ACSETimeout = 20; +} + +SDCMWorklist::~SDCMWorklist() +{ + if(m_pOverrideKeys!=NULL) + { + m_pOverrideKeys->clear(); + delete m_pOverrideKeys; + m_pOverrideKeys = NULL; + } +} + +void SDCMWorklist::Init() +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + SEARCH_ITEM* pSearchItem = pCommonData->GetSearchItemWorklist(); + + QTextCodec* codecKR = QTextCodec::codecForName("eucKR"); + + QString strModality = pCommonData->GetModality(); + m_pOverrideKeys->clear(); + + QString strDICOMCharacter = pCommonData->GetDICOMCharacterSet(); + if(strDICOMCharacter=="EUC-KR") + { + m_pOverrideKeys->push_back("0008,0005=ISO 2022 IR 149"); //DCM_SpecificCharacterSet + } + else if(strDICOMCharacter=="UTF-8") + { + m_pOverrideKeys->push_back("0008,0005=ISO_IR 192"); //DCM_SpecificCharacterSet + } + else if(strDICOMCharacter=="ASCII") + { + m_pOverrideKeys->push_back("0008,0005=ISO_IR 100"); //DCM_SpecificCharacterSet + } + + + m_pOverrideKeys->push_back("0008,0012"); //DCM_InstanceCreationDate + m_pOverrideKeys->push_back("0008,0013"); //DCM_InstanceCreationTime + m_pOverrideKeys->push_back("0008,0014"); //DCM_InstanceCreatorUID + m_pOverrideKeys->push_back("0008,0016"); //DCM_SOPClassUID + m_pOverrideKeys->push_back("0008,0018"); //DCM_SOPInstanceUID + m_pOverrideKeys->push_back("0008,0050"); //DCM_AccessionNumber + //m_pOverrideKeys->push_back("0008,0080"); //DCM_InstitutionName + //m_pOverrideKeys->push_back("0008,0081"); //DCM_InstitutionAddress + { + //DCM_InstitutionCodeSequence + //m_pOverrideKeys->push_back("(0008,0082)[0].(0008,0100)"); //DCM_CodeValue + //m_pOverrideKeys->push_back("(0008,0082)[0].(0008,0102)"); //DCM_CodingSchemeDesignator + //m_pOverrideKeys->push_back("(0008,0082)[0].(0008,0103)"); //DCM_CodingSchemeVersion + //m_pOverrideKeys->push_back("(0008,0082)[0].(0008,0104)"); //DCM_CodeMeaning + } + + m_pOverrideKeys->push_back("0008,0090"); //DCM_ReferringPhysicianName + //m_pOverrideKeys->push_back("0008,0092"); //DCM_ReferringPhysicianAddress + //m_pOverrideKeys->push_back("0008,0094"); //DCM_ReferringPhysicianTelephoneNumbers + + { + { + //DCM_ReferringPhysicianIdentificationSequence --> DCM_InstitutionCodeSequence + //m_pOverrideKeys->push_back("(0008,0096)[0].(0008,0082)[0].(0008,0100)"); //DCM_CodeValue + //m_pOverrideKeys->push_back("(0008,0096)[0].(0008,0082)[0].(0008,0102)"); //DCM_CodingSchemeDesignator + //m_pOverrideKeys->push_back("(0008,0096)[0].(0008,0082)[0].(0008,0103)"); //DCM_CodingSchemeVersion + //m_pOverrideKeys->push_back("(0008,0096)[0].(0008,0082)[0].(0008,0104)"); //DCM_CodeMeaning + } + + { + //DCM_ReferringPhysicianIdentificationSequence --> DCM_PersonIdentificationCodeSequence + //m_pOverrideKeys->push_back("(0008,0096)[0].(0040,1101)[0].(0008,0100)"); //DCM_CodeValue + //m_pOverrideKeys->push_back("(0008,0096)[0].(0040,1101)[0].(0008,0102)"); //DCM_CodingSchemeDesignator + //m_pOverrideKeys->push_back("(0008,0096)[0].(0040,1101)[0].(0008,0103)"); //DCM_CodingSchemeVersion + //m_pOverrideKeys->push_back("(0008,0096)[0].(0040,1101)[0].(0008,0104)"); //DCM_CodeMeaning + } + + //m_pOverrideKeys->push_back("(0008,0096)[0].(0040,1102)"); //DCM_PersonAddress + //m_pOverrideKeys->push_back("(0008,0096)[0].(0040,1103)"); //DCM_PersonTelephoneNumbers + } + + { + //DCM_CodingSchemeIdentificationSequence + //m_pOverrideKeys->push_back("(0008,0110)[0].(0008,0102)"); //DCM_CodingSchemeDesignator + //m_pOverrideKeys->push_back("(0008,0110)[0].(0008,0103)"); //DCM_CodingSchemeVersion + } + + //m_pOverrideKeys->push_back("0008,0201"); //DCM_TimezoneOffsetFromUTC + //m_pOverrideKeys->push_back("0008,1040"); //DCM_InstitutionalDepartmentName + //m_pOverrideKeys->push_back("0008,1080"); //DCM_AdmittingDiagnosesDescription + + { + //DCM_AdmittingDiagnosesCodeSequence + //m_pOverrideKeys->push_back("(0008,1084)[0].(0008,0100)"); //DCM_CodeValue + //m_pOverrideKeys->push_back("(0008,1084)[0].(0008,0102)"); //DCM_CodingSchemeDesignator + //m_pOverrideKeys->push_back("(0008,1084)[0].(0008,0103)"); //DCM_CodingSchemeVersion + //m_pOverrideKeys->push_back("(0008,1084)[0].(0008,0104)"); //DCM_CodeMeaning + } + + { + //DCM_ReferencedStudySequence + //m_pOverrideKeys->push_back("(0008,1110)[0].(0008,1150)"); //DCM_ReferencedSOPClassUID + //m_pOverrideKeys->push_back("(0008,1110)[0].(0008,1155)"); //DCM_ReferencedSOPInstanceUID + } + + { + //DCM_ReferencedPatientSequence + //m_pOverrideKeys->push_back("(0008,1120)[0].(0008,1150)"); //DCM_ReferencedSOPClassUID + //m_pOverrideKeys->push_back("(0008,1120)[0].(0008,1155)"); //DCM_ReferencedSOPInstanceUID + } + + { + //DCM_ReferencedVisitSequence + //m_pOverrideKeys->push_back("(0008,1125)[0].(0008,1150)"); //DCM_ReferencedSOPClassUID + //m_pOverrideKeys->push_back("(0008,1125)[0].(0008,1155)"); //DCM_ReferencedSOPInstanceUID + } + + { + //m_pOverrideKeys->push_back("0010,0010"); //DCM_PatientName + QString strPatientName = QString("0010,0010"); + if(pSearchItem->m_strPatientName.size()>0) + { + QString strPatientName = QString("0010,0010=%1").arg(pSearchItem->m_strPatientName); + QByteArray strPatientNameKor = codecKR->fromUnicode(strPatientName); + + m_pOverrideKeys->push_back(strPatientNameKor.data()); + } + else + { + m_pOverrideKeys->push_back(strPatientName.toStdString().c_str()); + } + + } + + { + //m_pOverrideKeys->push_back("0010,0020"); //DCM_PatientID + QString strPatientID = QString("0010,0020"); + if(pSearchItem->m_strPatientID.size()>0) + { + QString strPatientID = QString("0010,0020=%1").arg(pSearchItem->m_strPatientID); + QByteArray strPatientIDKor = codecKR->fromUnicode(strPatientID); + + m_pOverrideKeys->push_back(strPatientIDKor.data()); + + } + else + { + m_pOverrideKeys->push_back(strPatientID.toStdString().c_str()); + } + + } + + + m_pOverrideKeys->push_back("0010,0021"); //DCM_IssuerOfPatientID + m_pOverrideKeys->push_back("0010,0030"); //DCM_PatientBirthDate + //m_pOverrideKeys->push_back("0010,0032"); //DCM_PatientBirthTime + m_pOverrideKeys->push_back("0010,0040"); //DCM_PatientSex + { + //DCM_PatientInsurancePlanCodeSequence + //m_pOverrideKeys->push_back("(0010,0050)[0].(0008,0100)"); //DCM_CodeValue + //m_pOverrideKeys->push_back("(0010,0050)[0].(0008,0102)"); //DCM_CodingSchemeDesignator + //m_pOverrideKeys->push_back("(0010,0050)[0].(0008,0103)"); //DCM_CodingSchemeVersion + //m_pOverrideKeys->push_back("(0010,0050)[0].(0008,0104)"); //DCM_CodeMeaning + } + { + //DCM_PatientPrimaryLanguageCodeSequence + //m_pOverrideKeys->push_back("(0010,0101)[0].(0008,0100)"); //DCM_CodeValue + //m_pOverrideKeys->push_back("(0010,0101)[0].(0008,0102)"); //DCM_CodingSchemeDesignator + //m_pOverrideKeys->push_back("(0010,0101)[0].(0008,0103)"); //DCM_CodingSchemeVersion + //m_pOverrideKeys->push_back("(0010,0101)[0].(0008,0104)"); //DCM_CodeMeaning + { + //DCM_PatientPrimaryLanguageCodeSequence --> DCM_PatientPrimaryLanguageModifierCodeSequence + //m_pOverrideKeys->push_back("(0010,0101)[0].(0010,0102)[0].(0008,0100)"); //DCM_CodeValue + //m_pOverrideKeys->push_back("(0010,0101)[0].(0010,0102)[0].(0008,0102)"); //DCM_CodingSchemeDesignator + //m_pOverrideKeys->push_back("(0010,0101)[0].(0010,0102)[0].(0008,0103)"); //DCM_CodingSchemeVersion + //m_pOverrideKeys->push_back("(0010,0101)[0].(0010,0102)[0].(0008,0104)"); //DCM_CodeMeaning + } + } + + //m_pOverrideKeys->push_back("0010,1000"); //DCM_RETIRED_OtherPatientIDs + //m_pOverrideKeys->push_back("0010,1001"); //DCM_OtherPatientNames + //m_pOverrideKeys->push_back("0010,1005"); //DCM_PatientBirthName + m_pOverrideKeys->push_back("0010,1010"); //DCM_PatientAge + m_pOverrideKeys->push_back("0010,1020"); //DCM_PatientSize + m_pOverrideKeys->push_back("0010,1030"); //DCM_PatientWeight + m_pOverrideKeys->push_back("0010,1040"); //DCM_PatientAddress + //m_pOverrideKeys->push_back("0010,1060"); //DCM_PatientMotherBirthName + //m_pOverrideKeys->push_back("0010,1080"); //DCM_MilitaryRank + //m_pOverrideKeys->push_back("0010,1081"); //DCM_BranchOfService + //m_pOverrideKeys->push_back("0010,1090"); //DCM_RETIRED_MedicalRecordLocator + m_pOverrideKeys->push_back("0010,2000"); //DCM_MedicalAlerts + m_pOverrideKeys->push_back("0010,2110"); //DCM_Allergies + //m_pOverrideKeys->push_back("0010,2150"); //DCM_CountryOfResidence + //m_pOverrideKeys->push_back("0010,2152"); //DCM_RegionOfResidence + //m_pOverrideKeys->push_back("0010,2154"); //DCM_PatientTelephoneNumbers + //m_pOverrideKeys->push_back("0010,2160"); //DCM_EthnicGroup + //m_pOverrideKeys->push_back("0010,2180"); //DCM_Occupation + m_pOverrideKeys->push_back("0010,21a0"); //DCM_SmokingStatus + //m_pOverrideKeys->push_back("0010,21b0"); //DCM_AdditionalPatientHistory + m_pOverrideKeys->push_back("0010,21c0"); //DCM_PregnancyStatus + //m_pOverrideKeys->push_back("0010,21d0"); //DCM_LastMenstrualDate + //m_pOverrideKeys->push_back("0010,21f0"); //DCM_PatientReligiousPreference + m_pOverrideKeys->push_back("0010,4000"); //DCM_PatientComments + + m_pOverrideKeys->push_back("0020,000d"); //DCM_StudyInstanceUID + + m_pOverrideKeys->push_back("0038,0300"); //DCM_CurrentPatientLocation + + /* + { + //DCM_ContributingEquipmentSequence + m_pOverrideKeys->push_back("(0018,a001)[0].(0008,0070)"); //DCM_Manufacturer + m_pOverrideKeys->push_back("(0018,a001)[0].(0008,0080)"); //DCM_InstitutionName + m_pOverrideKeys->push_back("(0018,a001)[0].(0008,0081)"); //DCM_InstitutionAddress + m_pOverrideKeys->push_back("(0018,a001)[0].(0008,1010)"); //DCM_StationName + m_pOverrideKeys->push_back("(0018,a001)[0].(0008,1040)"); //DCM_InstitutionalDepartmentName + m_pOverrideKeys->push_back("(0018,a001)[0].(0008,1090)"); //DCM_ManufacturerModelName + m_pOverrideKeys->push_back("(0018,a001)[0].(0018,1000)"); //DCM_DeviceSerialNumber + m_pOverrideKeys->push_back("(0018,a001)[0].(0018,1020)"); //DCM_SoftwareVersions + m_pOverrideKeys->push_back("(0018,a001)[0].(0018,1050)"); //DCM_SpatialResolution + m_pOverrideKeys->push_back("(0018,a001)[0].(0018,1090)"); //DCM_CardiacNumberOfImages + m_pOverrideKeys->push_back("(0018,a001)[0].(0018,1200)"); //DCM_DateOfLastCalibration + m_pOverrideKeys->push_back("(0018,a001)[0].(0018,1201)"); //DCM_TimeOfLastCalibration + m_pOverrideKeys->push_back("(0018,a001)[0].(0018,a002)"); //DCM_ContributionDateTime + m_pOverrideKeys->push_back("(0018,a001)[0].(0018,a003)"); //DCM_ContributionDescription + + { + //DCM_ContributingEquipmentSequence --> DCM_PurposeOfReferenceCodeSequence + m_pOverrideKeys->push_back("(0018,a001)[0].(0040,a170)[0].(0008,0100)"); //DCM_CodeValue + m_pOverrideKeys->push_back("(0018,a001)[0].(0040,a170)[0].(0008,0102)"); //DCM_CodingSchemeDesignator + m_pOverrideKeys->push_back("(0018,a001)[0].(0040,a170)[0].(0008,0103)"); //DCM_CodingSchemeVersion + m_pOverrideKeys->push_back("(0018,a001)[0].(0040,a170)[0].(0008,0104)"); //DCM_CodeMeaning + } + } + + m_pOverrideKeys->push_back("0020,000d"); //DCM_StudyInstanceUID + m_pOverrideKeys->push_back("0020,0013"); //DCM_InstanceNumber + + + { + //DCM_RequestingPhysicianIdentificationSequence + m_pOverrideKeys->push_back("(0032,1031)[0].(0008,0080)"); //DCM_InstitutionName + m_pOverrideKeys->push_back("(0032,1031)[0].(0008,0081)"); //DCM_InstitutionAddress + + { + //DCM_RequestingPhysicianIdentificationSequence --> DCM_InstitutionCodeSequence + m_pOverrideKeys->push_back("(0032,1031)[0].(0008,0082)[0].(0008,0100)"); //DCM_CodeValue + m_pOverrideKeys->push_back("(0032,1031)[0].(0008,0082)[0].(0008,0102)"); //DCM_CodingSchemeDesignator + m_pOverrideKeys->push_back("(0032,1031)[0].(0008,0082)[0].(0008,0103)"); //DCM_CodingSchemeVersion + m_pOverrideKeys->push_back("(0032,1031)[0].(0008,0082)[0].(0008,0104)"); //DCM_CodeMeaning + } + { + //DCM_RequestingPhysicianIdentificationSequence --> DCM_PersonIdentificationCodeSequence + m_pOverrideKeys->push_back("(0032,1031)[0].(0040,1101)[0].(0008,0100)"); //DCM_CodeValue + m_pOverrideKeys->push_back("(0032,1031)[0].(0040,1101)[0].(0008,0102)"); //DCM_CodingSchemeDesignator + m_pOverrideKeys->push_back("(0032,1031)[0].(0040,1101)[0].(0008,0103)"); //DCM_CodingSchemeVersion + m_pOverrideKeys->push_back("(0032,1031)[0].(0040,1101)[0].(0008,0104)"); //DCM_CodeMeaning + } + + m_pOverrideKeys->push_back("(0032,1031)[0].(0040,1102)"); //DCM_PersonAddress + m_pOverrideKeys->push_back("(0032,1031)[0].(0040,1103)"); //DCM_PersonTelephoneNumbers + } + + + m_pOverrideKeys->push_back("0032,1032"); //DCM_RequestingPhysician + m_pOverrideKeys->push_back("0032,1033"); //DCM_RequestingService + m_pOverrideKeys->push_back("0032,1060"); //DCM_RequestedProcedureDescription + + + { + //DCM_RequestedProcedureCodeSequence + m_pOverrideKeys->push_back("(0032,1064)[0].(0008,0100)"); //DCM_CodeValue + m_pOverrideKeys->push_back("(0032,1064)[0].(0008,0102)"); //DCM_CodingSchemeDesignator + m_pOverrideKeys->push_back("(0032,1064)[0].(0008,0103)"); //DCM_CodingSchemeVersion + m_pOverrideKeys->push_back("(0032,1064)[0].(0008,0104)"); //DCM_CodeMeaning + } + + { + //DCM_ReferencedPatientAliasSequence + m_pOverrideKeys->push_back("(0038,0004)[0].(0008,1150)"); //DCM_ReferencedSOPClassUID + m_pOverrideKeys->push_back("(0038,0004)[0].(0008,1155)"); //DCM_ReferencedSOPInstanceUID + } + + m_pOverrideKeys->push_back("0038,0008"); //DCM_VisitStatusID + m_pOverrideKeys->push_back("0038,0010"); //DCM_AdmissionID + m_pOverrideKeys->push_back("0038,0011"); //DCM_RETIRED_IssuerOfAdmissionID + m_pOverrideKeys->push_back("0038,0016"); //DCM_RouteOfAdmissions + m_pOverrideKeys->push_back("0038,0020"); //DCM_AdmittingDate + m_pOverrideKeys->push_back("0038,0021"); //DCM_AdmittingTime + m_pOverrideKeys->push_back("0038,0050"); //DCM_SpecialNeeds + + m_pOverrideKeys->push_back("0038,0400"); //DCM_PatientInstitutionResidence + m_pOverrideKeys->push_back("0038,0500"); //DCM_PatientState + m_pOverrideKeys->push_back("0038,4000"); //DCM_VisitComments + */ + + + { + //DCM_ScheduledProcedureStepSequence + QString strSearch = QString("(0040,0100)[0].0008,0060=%1").arg(strModality); + m_pOverrideKeys->push_back(strSearch.toStdString().c_str()); //DCM_Modality + //m_pOverrideKeys->push_back("(0040,0100)[0].0008,0060"); //DCM_Modality + m_pOverrideKeys->push_back("(0040,0100)[0].(0032,1070)"); //DCM_RequestedContrastAgent + m_pOverrideKeys->push_back("(0040,0100)[0].(0040,0011)"); //DCM_ScheduledProcedureStepLocation + m_pOverrideKeys->push_back("(0040,0100)[0].(0040,0001)"); //DCM_ScheduledStationAETitle + { + QString strDateStart; + QString strDateEnd; + + + + if(pSearchItem->m_strStudyDate.size()==21) + { + QString strTmp = pSearchItem->m_strStudyDate; + strDateStart = QString("%1%2%3").arg(strTmp.mid(0, 4)). + arg(strTmp.mid(5, 2)). + arg(strTmp.mid(8, 2)); + + strDateEnd = QString("%1%2%3").arg(strTmp.mid(11, 4)). + arg(strTmp.mid(16, 2)). + arg(strTmp.mid(19, 2)); + } + else + { + QDate date = QDate::currentDate(); + int nYear = date.year(); + int nMonth = date.month(); + int nDay = date.day(); + strDateStart = QString("%1%2%3").arg(QString::number(nYear).rightJustified(4, '0')).arg(QString::number(nMonth).rightJustified(2, '0')).arg(QString::number(nDay).rightJustified(2, '0')); + strDateEnd = strDateStart; + } + + //QString strSearchDateTmp = QString("0040,0002=%1-%2").arg(strDateStart).arg(strDateEnd); + QString strSearchDateTmp = QString("(0040,0100)[0].(0040,0002)=%1-%2").arg(strDateStart).arg(strDateEnd); + + + OFString strSearchDate = strSearchDateTmp.toStdString().c_str(); + + m_pOverrideKeys->push_back(strSearchDate); + + } + + //m_pOverrideKeys->push_back("(0040,0100)[0].(0040,0002)"); //DCM_ScheduledProcedureStepStartDate + + + m_pOverrideKeys->push_back("(0040,0100)[0].(0040,0003)"); //DCM_ScheduledProcedureStepStartTime + m_pOverrideKeys->push_back("(0040,0100)[0].(0040,0004)"); //DCM_ScheduledProcedureStepEndDate + m_pOverrideKeys->push_back("(0040,0100)[0].(0040,0005)"); //DCM_ScheduledProcedureStepEndTime + m_pOverrideKeys->push_back("(0040,0100)[0].(0040,0006)"); //DCM_ScheduledPerformingPhysicianName + m_pOverrideKeys->push_back("(0040,0100)[0].(0040,0007)"); //DCM_ScheduledProcedureStepDescription + { + //DCM_ScheduledProcedureStepSequence --> DCM_ScheduledProtocolCodeSequence + m_pOverrideKeys->push_back("(0040,0100)[0].(0040,0008)[0].(0008,0100)"); //DCM_CodeValue + //m_pOverrideKeys->push_back("(0040,0100)[0].(0040,0008)[0].(0008,0102)"); //DCM_CodingSchemeDesignator + //m_pOverrideKeys->push_back("(0040,0100)[0].(0040,0008)[0].(0008,0103)"); //DCM_CodingSchemeVersion + //m_pOverrideKeys->push_back("(0040,0100)[0].(0040,0008)[0].(0008,0104)"); //DCM_CodeMeaning + } + + /* + m_pOverrideKeys->push_back("(0040,0100)[0].(0040,0009)"); //DCM_ScheduledProcedureStepID + { + + //DCM_ScheduledProcedureStepSequence --> DCM_ScheduledPerformingPhysicianIdentificationSequence + m_pOverrideKeys->push_back("(0040,0100)[0].(0040,000b)[0].(0008,0080)"); //DCM_InstitutionName + m_pOverrideKeys->push_back("(0040,0100)[0].(0040,000b)[0].(0008,0081)"); //DCM_InstitutionAddress + { + //DCM_ScheduledProcedureStepSequence --> DCM_ScheduledPerformingPhysicianIdentificationSequence --> DCM_InstitutionCodeSequence + m_pOverrideKeys->push_back("(0040,0100)[0].(0040,000b)[0].(0008,0082)[0].(0008,0100)"); //DCM_CodeValue + m_pOverrideKeys->push_back("(0040,0100)[0].(0040,000b)[0].(0008,0082)[0].(0008,0102)"); //DCM_CodingSchemeDesignator + m_pOverrideKeys->push_back("(0040,0100)[0].(0040,000b)[0].(0008,0082)[0].(0008,0103)"); //DCM_CodingSchemeVersion + m_pOverrideKeys->push_back("(0040,0100)[0].(0040,000b)[0].(0008,0082)[0].(0008,0104)"); //DCM_CodeMeaning + } + { + //DCM_ScheduledProcedureStepSequence --> DCM_ScheduledPerformingPhysicianIdentificationSequence --> DCM_InstitutionCodeSequence + m_pOverrideKeys->push_back("(0040,0100)[0].(0040,000b)[0].(0040,1101)[0].(0008,0100)"); //DCM_CodeValue + m_pOverrideKeys->push_back("(0040,0100)[0].(0040,000b)[0].(0040,1101)[0].(0008,0102)"); //DCM_CodingSchemeDesignator + m_pOverrideKeys->push_back("(0040,0100)[0].(0040,000b)[0].(0040,1101)[0].(0008,0103)"); //DCM_CodingSchemeVersion + m_pOverrideKeys->push_back("(0040,0100)[0].(0040,000b)[0].(0040,1101)[0].(0008,0104)"); //DCM_CodeMeaning + } + m_pOverrideKeys->push_back("(0040,0100)[0].(0040,000b)[0].(0040,1102)"); //DCM_PersonAddress + m_pOverrideKeys->push_back("(0040,0100)[0].(0040,000b)[0].(0040,1103)"); //DCM_PersonTelephoneNumbers + } + */ + + m_pOverrideKeys->push_back("(0040,0100)[0].(0040,0010)"); //DCM_ScheduledStationName + m_pOverrideKeys->push_back("(0040,0100)[0].(0040,0011)"); //DCM_ScheduledProcedureStepLocation + m_pOverrideKeys->push_back("(0040,0100)[0].(0040,0012)"); //DCM_PreMedication + m_pOverrideKeys->push_back("(0040,0100)[0].(0040,0020)"); //DCM_ScheduledProcedureStepStatus + m_pOverrideKeys->push_back("(0040,0100)[0].(0040,0400)"); //DCM_CommentsOnTheScheduledProcedureStep + } + + + m_pOverrideKeys->push_back("0040,1001"); //DCM_RequestedProcedureID + m_pOverrideKeys->push_back("0040,1002"); //DCM_ReasonForTheRequestedProcedure + m_pOverrideKeys->push_back("0040,1003"); //DCM_RequestedProcedurePriority + m_pOverrideKeys->push_back("0040,1004"); //DCM_PatientTransportArrangements + m_pOverrideKeys->push_back("0040,1005"); //DCM_RequestedProcedureLocation + m_pOverrideKeys->push_back("0040,1008"); //DCM_ConfidentialityCode + m_pOverrideKeys->push_back("0040,1009"); //DCM_ReportingPriority + m_pOverrideKeys->push_back("0040,1010"); //DCM_NamesOfIntendedRecipientsOfResults + + + /* + { + //DCM_IntendedRecipientsOfResultsIdentificationSequence + m_pOverrideKeys->push_back("(0040,1011)[0].(0008,0080)"); //DCM_InstitutionName + m_pOverrideKeys->push_back("(0040,1011)[0].(0008,0081)"); //DCM_InstitutionAddress + { + //DCM_IntendedRecipientsOfResultsIdentificationSequence --> DCM_InstitutionCodeSequence + m_pOverrideKeys->push_back("(0040,1011)[0].(0008,0082)[0].(0008,0100)"); //DCM_CodeValue + m_pOverrideKeys->push_back("(0040,1011)[0].(0008,0082)[0].(0008,0102)"); //DCM_CodingSchemeDesignator + m_pOverrideKeys->push_back("(0040,1011)[0].(0008,0082)[0].(0008,0103)"); //DCM_CodingSchemeVersion + m_pOverrideKeys->push_back("(0040,1011)[0].(0008,0082)[0].(0008,0104)"); //DCM_CodeMeaning + } + { + //DCM_IntendedRecipientsOfResultsIdentificationSequence --> DCM_PersonIdentificationCodeSequence + m_pOverrideKeys->push_back("(0040,1011)[0].(0040,1101)[0].(0008,0100)"); //DCM_CodeValue + m_pOverrideKeys->push_back("(0040,1011)[0].(0040,1101)[0].(0008,0102)"); //DCM_CodingSchemeDesignator + m_pOverrideKeys->push_back("(0040,1011)[0].(0040,1101)[0].(0008,0103)"); //DCM_CodingSchemeVersion + m_pOverrideKeys->push_back("(0040,1011)[0].(0040,1101)[0].(0008,0104)"); //DCM_CodeMeaning + } + m_pOverrideKeys->push_back("(0040,1011)[0].(0040,1102)"); //DCM_PersonAddress + m_pOverrideKeys->push_back("(0040,1011)[0].(0040,1103)"); //DCM_PersonTelephoneNumbers + } + + m_pOverrideKeys->push_back("0040,1400"); //DCM_RequestedProcedureComments + m_pOverrideKeys->push_back("0040,2001"); //DCM_RETIRED_ReasonForTheImagingServiceRequest + m_pOverrideKeys->push_back("0040,2004"); //DCM_IssueDateOfImagingServiceRequest + m_pOverrideKeys->push_back("0040,2005"); //DCM_IssueTimeOfImagingServiceRequest + m_pOverrideKeys->push_back("0040,2008"); //DCM_OrderEnteredBy + m_pOverrideKeys->push_back("0040,2009"); //DCM_OrderEntererLocation + m_pOverrideKeys->push_back("0040,2010"); //DCM_OrderCallbackPhoneNumber + m_pOverrideKeys->push_back("0040,2016"); //DCM_PlacerOrderNumberImagingServiceRequest + m_pOverrideKeys->push_back("0040,2017"); //DCM_FillerOrderNumberImagingServiceRequest + m_pOverrideKeys->push_back("0040,2400"); //DCM_ImagingServiceRequestComments + m_pOverrideKeys->push_back("0040,3001"); //DCM_ConfidentialityConstraintOnPatientDataDescription + + + m_pOverrideKeys->push_back("0100,0410"); //DCM_SOPInstanceStatus + m_pOverrideKeys->push_back("0100,0420"); //DCM_SOPAuthorizationDateTime + m_pOverrideKeys->push_back("0100,0424"); //DCM_SOPAuthorizationComment + m_pOverrideKeys->push_back("0100,0426"); //DCM_AuthorizationEquipmentCertificationNumber + + { + //DCM_EncryptedAttributesSequence + m_pOverrideKeys->push_back("(0400,0500)[0].(0400,0510)"); //DCM_EncryptedContentTransferSyntaxUID + m_pOverrideKeys->push_back("(0400,0500)[0].(0400,0520)"); //DCM_EncryptedContent + } + + { + //DCM_MACParametersSequence + m_pOverrideKeys->push_back("(4ffe,0001)[0].(0400,0005)"); //DCM_MACIDNumber + m_pOverrideKeys->push_back("(4ffe,0001)[0].(0400,0010)"); //DCM_MACCalculationTransferSyntaxUID + m_pOverrideKeys->push_back("(4ffe,0001)[0].(0400,0015)"); //DCM_MACAlgorithm + m_pOverrideKeys->push_back("(4ffe,0001)[0].(0400,0020)"); //DCM_DataElementsSigned + } + + { + //DCM_Item + m_pOverrideKeys->push_back("(fffa,fffa)[0].(0400,0005)"); //DCM_MACIDNumber + m_pOverrideKeys->push_back("(fffa,fffa)[0].(0400,0100)"); //DCM_DigitalSignatureUID + m_pOverrideKeys->push_back("(fffa,fffa)[0].(0400,0105)"); //DCM_DigitalSignatureDateTime + m_pOverrideKeys->push_back("(fffa,fffa)[0].(0400,0110)"); //DCM_CertificateType + m_pOverrideKeys->push_back("(fffa,fffa)[0].(0400,0115)"); //DCM_CertificateOfSigner + m_pOverrideKeys->push_back("(fffa,fffa)[0].(0400,0120)"); //DCM_Signature + m_pOverrideKeys->push_back("(fffa,fffa)[0].(0400,0305)"); //DCM_CertifiedTimestampType + m_pOverrideKeys->push_back("(fffa,fffa)[0].(0400,0310)"); //DCM_CertifiedTimestamp + + } + */ + + +} + +int SDCMWorklist::Search() +{ + Init(); + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + + CommonData* pCommonData = MainWindow::GetCommonData(); + + + /* + QString strDateStart; + QString strDateEnd; + + if(pSearchItem->m_strStudyDate.size()==21) + { + QString strTmp = pSearchItem->m_strStudyDate; + strDateStart = QString("%1%2%3").arg(strTmp.mid(0, 4)). + arg(strTmp.mid(5, 2)). + arg(strTmp.mid(8, 2)); + + strDateEnd = QString("%1%2%3").arg(strTmp.mid(11, 4)). + arg(strTmp.mid(16, 2)). + arg(strTmp.mid(19, 2)); + } + else + { + QDate date = QDate::currentDate(); + int nYear = date.year(); + int nMonth = date.month(); + int nDay = date.day(); + strDateStart = QString("%1%2%3").arg(QString::number(nYear).rightJustified(4, '0')).arg(QString::number(nMonth).rightJustified(2, '0')).arg(QString::number(nDay).rightJustified(2, '0')); + strDateEnd = strDateStart; + } + + //QString strSearchDateTmp = QString("0040,0002=%1-%2").arg(strDateStart).arg(strDateEnd); + QString strSearchDateTmp = QString("(0040,0100)[0].(0040,0002)=%1-%2").arg(strDateStart).arg(strDateEnd); + + + OFString strSearchDate = strSearchDateTmp.toStdString().c_str(); + + m_pOverrideKeys->push_back(strSearchDate); + + OFString strOFModality; + strOFModality = "0008,0060=SC"; + m_pOverrideKeys->push_back(strOFModality); + */ + + DCM_dcmnetLogger.setLogLevel(dcmtk::log4cplus::FATAL_LOG_LEVEL); + + OFCondition cond = m_FindSCU.initializeNetwork(m_ACSETimeout); + + SDCMFindSCUDataCallback* pCallback = pCommonData->GetFindSCUDataCallback(); + + + //m_FindSCU.performQuery("192.168.1.125", m_nPort, "TEST1", "DCMSERVER", m_pAbstractSyntax, m_NetworkTransferSyntax, m_BlockMode, m_DimseTimeout, m_nMaxReceivePDULength, m_bSecure, m_bAbortAssociation, m_nRetryCount, m_ExtractMode, m_CancelAfterNResponses,m_pOverrideKeys, (DcmFindSCUCallback*)pCallback);// NULL, NULL, NULL, NULL); + + //DcmFindSCUDefaultCallback* pNewCallback = reinterpret_cast(pCallback); + //m_FindSCU.performQuery(m_strIP.c_str(), m_nPort, m_strAETitle.c_str(), m_strServerAETitle.c_str(), m_pAbstractSyntax, m_NetworkTransferSyntax, m_BlockMode, m_DimseTimeout, m_nMaxReceivePDULength, m_bSecure, m_bAbortAssociation, m_nRetryCount, m_ExtractMode, m_CancelAfterNResponses, m_pOverrideKeys, pNewCallback);//, NULL, NULL, NULL); + + //cond = m_FindSCU.performQuery(m_strIP.c_str(), m_nPort, m_strAETitle.c_str(), m_strServerAETitle.c_str(), m_pAbstractSyntax, m_NetworkTransferSyntax, m_BlockMode, m_DimseTimeout, m_nMaxReceivePDULength, m_bSecure, m_bAbortAssociation, m_nRetryCount, m_ExtractMode, m_CancelAfterNResponses, m_pOverrideKeys, (DcmFindSCUCallback*)pCallback);//, NULL, NULL, NULL); + + bool bComplete = false; + int nTry = 0; + while(bComplete==false && nTry < m_nRetryCount) + { + pCallback->Clear(); + const char* pStrIP = m_strIP.toStdString().c_str(); + cond = m_FindSCU.performQuery(m_strIP.toStdString().c_str(), m_nPort, m_strAETitle.toStdString().c_str(), m_strServerAETitle.toStdString().c_str(), m_pAbstractSyntax, m_NetworkTransferSyntax, m_BlockMode, m_DimseTimeout, m_nMaxReceivePDULength, m_bSecure, m_bAbortAssociation, 1, m_ExtractMode, m_CancelAfterNResponses, m_pOverrideKeys, (DcmFindSCUCallback*)pCallback);//, NULL, NULL, NULL); + if(cond.good()==true) + { + bComplete = true; + break; + } + nTry++; + } + + + m_FindSCU.dropNetwork(); + + if(cond.good()==true) + { + return 0; + } + + return -1; + +} + +DcmFindSCUExtractMode SDCMWorklist::GetExtractMode() +{ + return m_ExtractMode; +} + +int SDCMWorklist::GetCancelAfterNResponses() +{ + return m_CancelAfterNResponses; +} + +void SDCMWorklist::SetWorklistInfo(QString strIP, QString strPort, QString strServerAETitle, QString strClientAETitle) +{ + m_strIP = strIP; + m_nPort = strPort.toInt(); + + m_strAETitle = strClientAETitle; + m_strServerAETitle = strServerAETitle; +} diff --git a/sdcmworklist.h b/sdcmworklist.h new file mode 100644 index 0000000..4e7ad0f --- /dev/null +++ b/sdcmworklist.h @@ -0,0 +1,54 @@ +#ifndef SDCMWORKLIST_H +#define SDCMWORKLIST_H + +#include "dcmtk/dcmnet/dfindscu.h" +#include "dcmtk/dcmnet/diutil.h" +#include "dcmtk/dcmnet/dcmtrans.h" /* for dcmSocketSend/ReceiveTimeout */ +#include "dcmtk/dcmdata/cmdlnarg.h" +#include "dcmtk/ofstd/ofconapp.h" +#include "dcmtk/dcmdata/dcdict.h" +#include "dcmtk/dcmdata/dcostrmz.h" /* for dcmZlibCompressionLevel */ +#include "dcmtk/dcmtls/tlsopt.h" /* for DcmTLSOptions */ + +#include "sdcmfindscudatacallback.h" + +class SDCMWorklist +{ +public: + SDCMWorklist(); + + virtual ~SDCMWorklist(); + + int Search(); + void Init(); + + DcmFindSCUExtractMode GetExtractMode(); + int GetCancelAfterNResponses(); + + void SetWorklistInfo(QString strIP, QString strPort, QString strServerAETitle, QString strClientAETitle); + +protected: + DcmFindSCU m_FindSCU; + + OFList* m_pOverrideKeys; + + QString m_strIP; + int m_nPort; + + QString m_strAETitle; + QString m_strServerAETitle; + char * m_pAbstractSyntax; + E_TransferSyntax m_NetworkTransferSyntax; //EXS_Unknown + T_DIMSE_BlockingMode m_BlockMode; + + int m_DimseTimeout; + OFCmdUnsignedInt m_nMaxReceivePDULength; + OFBool m_bSecure; + OFBool m_bAbortAssociation; + int m_nRetryCount; + DcmFindSCUExtractMode m_ExtractMode; + int m_CancelAfterNResponses; + int m_ACSETimeout; +}; + +#endif // SDCMWORKLIST_H diff --git a/seventfilter.cpp b/seventfilter.cpp new file mode 100644 index 0000000..056a08f --- /dev/null +++ b/seventfilter.cpp @@ -0,0 +1,22 @@ +#include "seventfilter.h" + +#include "mainwindow.h" + +SEventFilter::SEventFilter(QObject *parent) : QObject(parent) +{ + +} + + +bool SEventFilter::eventFilter(QObject *watched, QEvent *event) +{ + QEvent::Type nType = event->type(); + if( nType == QEvent::MouseButtonPress || nType == QEvent::MouseMove + || nType == QEvent::MouseButtonDblClick || nType==QEvent::KeyPress ){ + //qDebug() << "Event hijacked in filter"; + //return true; + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + pMainWindow->ResetScreenSaverTimer(); + } + return QObject::eventFilter(watched, event); +} diff --git a/seventfilter.h b/seventfilter.h new file mode 100644 index 0000000..a9a0b1e --- /dev/null +++ b/seventfilter.h @@ -0,0 +1,21 @@ +#ifndef SEVENTFILTER_H +#define SEVENTFILTER_H + +#include +#include + +class SEventFilter : public QObject +{ + Q_OBJECT +public: + explicit SEventFilter(QObject *parent = nullptr); + +signals: + + + // QObject interface +public: + bool eventFilter(QObject *watched, QEvent *event); +}; + +#endif // SEVENTFILTER_H diff --git a/sexception.cpp b/sexception.cpp new file mode 100644 index 0000000..4d073c3 --- /dev/null +++ b/sexception.cpp @@ -0,0 +1,2 @@ +#include "sexception.h" + diff --git a/sexception.h b/sexception.h new file mode 100644 index 0000000..21eb85e --- /dev/null +++ b/sexception.h @@ -0,0 +1,21 @@ +#ifndef SEXCEPTION_H +#define SEXCEPTION_H + +#include + + +class SException : public QUnhandledException +{ +public: + void raise() const override + { + throw *this; + } + + SException* clone() const override + { + return new SException(*this); + } +}; + +#endif // SEXCEPTION_H diff --git a/singlebutton.cpp b/singlebutton.cpp new file mode 100644 index 0000000..6d7420a --- /dev/null +++ b/singlebutton.cpp @@ -0,0 +1,17 @@ +#include "singlebutton.h" + +SingleButton::SingleButton(QWidget *parent) : QPushButton(parent) +{ + +} + +SingleButton::~SingleButton() +{ + +} + + +void SingleButton::mouseDoubleClickEvent(QMouseEvent *event) +{ + +} diff --git a/singlebutton.h b/singlebutton.h new file mode 100644 index 0000000..a59cb23 --- /dev/null +++ b/singlebutton.h @@ -0,0 +1,21 @@ +#ifndef SINGLEBUTTON_H +#define SINGLEBUTTON_H + +#include + +class SingleButton : public QPushButton +{ + Q_OBJECT +public: + explicit SingleButton(QWidget *parent = nullptr); + virtual ~SingleButton(); + + + virtual void mouseDoubleClickEvent(QMouseEvent *event); + +signals: + +public slots: +}; + +#endif // SINGLEBUTTON_H diff --git a/slistwidget.cpp b/slistwidget.cpp new file mode 100644 index 0000000..0e753ed --- /dev/null +++ b/slistwidget.cpp @@ -0,0 +1,963 @@ +#include "slistwidget.h" + +#include + +#include + +#include "headertype1.h" + +#include "mainwindow.h" + +#include +#include + +#include + +SListWidget::SListWidget(QWidget *parent):QTableWidget(parent) +{ + //QTableView::setGridStyle(Qt::SolidLine); + //Init(); + + m_pSlideBarVertical = NULL; + m_pSlideBarHorizontal = NULL; + m_pSlideBarVerticalWidget = NULL; + m_pSlideBarHorizontalWidget = NULL; + + m_nCurrentPos = 0; + m_nTopDisplayIndex = 0; + m_CurrentSingle = SINGLE_NONE; + m_nMaxItemShow = 11; + m_nRowHeight = 56; + + horizontalScrollBar()->hide(); + connect(&m_TimerScrollHorizontal, SIGNAL(timeout()), this, SLOT(ScrollUpdateHorizontal())); +} + +SListWidget::~SListWidget() +{ + disconnect(&m_TimerScrollHorizontal, SIGNAL(timeout()), this, SLOT(ScrollUpdateHorizontal())); + + Clear(); + + if(m_pHeaderType1!=NULL) + { + delete m_pHeaderType1; + m_pHeaderType1 = NULL; + } +} + +void SListWidget::Init() +{ + QStringList tableHeader; + tableHeader << "Name" << "Phone Number"; + + setHorizontalHeaderLabels(tableHeader); + + setAlternatingRowColors(true); + setStyleSheet("QTableWidget {alternate-background-color: #f9f9f9; background-color: #eeeff0; }"); + + m_pHeaderType1 = new HeaderType1(Qt::Horizontal, this); + setHorizontalHeader(m_pHeaderType1); + + connect(m_pHeaderType1, SIGNAL(sectionResized(int, int, int)), this, SLOT(sectionResizedHorizontal(int , int , int))); + connect(m_pHeaderType1, SIGNAL(sectionHandleDoubleClicked(int)), this, SLOT(sectionHandleDoubleClickedHorizontal(int))); + + //MainWindow* pMainWindow = MainWindow::GetMainWindow(); + //connect(m_pHeaderType1, SIGNAL(Resort(int, int)), pMainWindow, SLOT(Test1(int, int))); + + { + //://image/Arrow_top_2.png + setSortingEnabled(false); + m_pHeaderType1->setSortIndicatorShown(true); + //pHeaderType1->setSortIndicator(0, Qt::DescendingOrder); + //pHeaderType1->setSortIndicator(1, Qt::DescendingOrder); + /* + pHeaderType1->setStyleSheet( + "QTableWidget {background-color: transparent; border: none; outline: none;}" + "QHeaderView { border:none; border-bottom: 3px solid rgb(0, 160, 230); background: rgb(57, 58, 60); min-height: 60px;}" + + "QHeaderView::section:horizontal { border:none; border-right: 1px solid white; color: white; background: transparent ; padding-left: 10px; }" + "QHeaderView::section:horizontal:hover { background: rgb(0, 160, 230);}" + "QHeaderView::section:horizontal:pressed { background: rgb(0, 180, 255);}" + "QHeaderView::up-arrow { width: 23px; height: 12px; padding-right: 25px; image: url(://image/Arrow_top_2.png); subcontrol-position: center right; }" + "QHeaderView::down-arrow { width: 23px; height: 12px; padding-right: 25px; image: url(://image/Arrow_under_2.png); subcontrol-position: center right; }"); + */ + } + + + + this->setEditTriggers(NoEditTriggers); + + setGridStyle(Qt::SolidLine); + //setSelectionMode(SelectionMode::SingleSelection); + setSelectionMode(SelectionMode::ExtendedSelection); + setSelectionBehavior(SelectionBehavior::SelectRows); +} + + +void SListWidget::SetData() +{ + //setColumnCount(2); + + + + int nData = 20; + + QTableWidgetItem* pItem = NULL; + //setRowCount(30); + setRowCount(nData); + + this->verticalHeader()->hide(); + //QScrollBar * pScrollVertical = this->verticalScrollBar(); + //QScrollBar * pScrollHorizontal = this->horizontalScrollBar(); + + //ChangeHeader(); + + //insertRow(0); + + Clear(); + + int i=0; + int j=0; + + + + for(i=0 ; i(i, nRowData)); + } + + for(i=0 ; i::iterator it; + int nDisplayIndex = 0; + for(it=m_ListData.begin() ; it!=m_ListData.end() ; ++it) + { + int nIndex = it->first; + RowData nRowData = it->second; + for(j=0 ; jsetTextAlignment(Qt::AlignCenter); + setItem(nDisplayIndex, j, pItem); + + m_ListItem.push_back(pItem); + } + + nDisplayIndex++; + } + + + setCurrentCell(-1, -1); + + + //QSize rectSize = size(); + //QSize rectVerticalScroll = pScrollVertical->size(); + //QSize rectHorizontalScroll = pScrollHorizontal->size(); + + //setColumnWidth(0, rectSize.width()-200); + //setColumnWidth(1, 200); + + j=0; + + m_TimerScrollHorizontal.start(10); + + +} + + + +void SListWidget::Resort(int nIndex, int nOrder) +{ + +} + + +HeaderType1* SListWidget::GetHeaderType1() +{ + return m_pHeaderType1; +} + + +void SListWidget::SingleDown() +{ + ListSingleDown(); + return; + + if(m_nTopDisplayIndex<30-(m_nMaxItemShow-1)) + { + qDebug() << "SingleDown m_nTopDisplayIndex: " << m_nTopDisplayIndex; + if(m_CurrentSingle!=SINGLE_DOWN) + { + //m_nTopDisplayIndex += 11; + m_CurrentSingle = SINGLE_DOWN; + } + + int nTmpCurrentItemPos = m_nTopDisplayIndex + 1; + + int nSlideMax = 199; + int nRange = (30-m_nMaxItemShow); + int nValue = (((float)nTmpCurrentItemPos / (float)nRange) *(float)nSlideMax +0.5f); + + if(nValue>nSlideMax) + { + nValue = nSlideMax; + } + else + { + m_nTopDisplayIndex = nTmpCurrentItemPos; + } + + SetSlideValue(nValue); + qDebug() << "value: " << nValue; + } + +} + +void SListWidget::SingleUp() +{ + ListSingleUp(); + return; + //int nCurrentPos = m_pSlideBarVertical->value(); + qDebug() << "SingleUp m_nTopDisplayIndex: " << m_nTopDisplayIndex; + if(m_nTopDisplayIndex>0 && m_nTopDisplayIndex<=30-(m_nMaxItemShow-1)) + { + QTableWidgetItem * pItem = NULL; + + if(m_CurrentSingle!=SINGLE_UP) + { + m_CurrentSingle = SINGLE_UP; + } + + m_nTopDisplayIndex--; + + int nSlideMax = 99; + int nRange = (30-m_nMaxItemShow); + int nValue = (((float)m_nTopDisplayIndex / (float)nRange) *(float)nSlideMax +0.5f); + //m_nCurrentPos = nValue; + SetSlideValue(nValue); + } +} + +void SListWidget::valueChangedScrollBarVertical(int value) +{ + /* + int nRange = (30-m_nMaxItemShow); + + int nRow = (((float)value/(float)99.0) * (float)(nRange) + 0.5f); + QTableWidgetItem * pItem = NULL; + + int nCurrentPos = m_pSlideBarVertical->value(); + + qDebug() << "m_nCurrentPos: " << m_nCurrentPos << " pos: " << nCurrentPos << " nRow: " << nRow; + + + if(m_nCurrentPossetValue(nCurrentPos); + + scrollToItem(pItem); + + m_nCurrentPos = value; + */ + QScrollBar* pScrollBar = verticalScrollBar(); + float fMaxValue = 199.0f; + float fMaxScrollBar = 0.0f; + + if(pScrollBar!=NULL) + { + fMaxScrollBar = pScrollBar->maximum(); + int nScrollOffset = ((((float)value)/fMaxValue) * fMaxScrollBar + 0.5f); + + if(nScrollOffset>fMaxScrollBar) + { + nScrollOffset = fMaxScrollBar; + } + pScrollBar->hide(); + pScrollBar->setValue(nScrollOffset); + } + +} + +void SListWidget::valueChangedScrollBarHorizontal(int value) +{ + float fMaxValue = 199.0f; + float fMaxScrollBar = horizontalScrollBar()->maximum(); + int nScrollOffset = ((((float)value)/fMaxValue) * fMaxScrollBar + 0.5f); + + if(nScrollOffset>fMaxScrollBar) + { + nScrollOffset = fMaxScrollBar; + } + + QScrollBar* pScrollBar = horizontalScrollBar(); + if(pScrollBar!=NULL) + { + pScrollBar->hide(); + + pScrollBar->setValue(nScrollOffset); + } + + //m_TimerScrollHorizontal.start(10); +} + + +void SListWidget::keyPressEvent(QKeyEvent *event) +{ + qDebug() << event->key(); + parent()->event(event); +} + + +void SListWidget::SetSlideBarVertical(SSlideBar* pSlideBar, QFrame* pFrame) +{ + m_pSlideBarVertical = pSlideBar; + m_pSlideBarVerticalWidget = pFrame; + m_pSlideBarVertical->SetSlideType(SSlideBar::SLIDE_VERTICAL); + m_pSlideBarVertical->setRange(0, 199); +} + +void SListWidget::SetSlideBarHorizontal(SSlideBar* pSlideBar, QFrame* pFrame) +{ + m_pSlideBarHorizontal = pSlideBar; + m_pSlideBarHorizontalWidget = pFrame; + m_pSlideBarHorizontal->SetSlideType(SSlideBar::SLIDE_HORIZONTAL); + m_pSlideBarHorizontal->setRange(0, 199); +} + + +void SListWidget::wheelEvent(QWheelEvent *event) +{ + int nDelta = event->delta(); + if(nDelta<0) + { + SingleDown(); + } + else if(nDelta>0) + { + SingleUp(); + } + + int nValue = m_pSlideBarVertical->value(); + + //m_pSlideBarVertical->wheelEvent(event); +} + +void SListWidget::ChangeHeader() +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + //map* pMapHistoryIndex = pCommonData->GetMapHistoryIndex(); + //pMapHistoryIndex->clear(); + + STableHeader* pTableHeader = NULL; + + if(m_nListType==SWIDGET_WORKLIST) + { + pTableHeader = pCommonData->GetWorklistTableHeader(); + } + else if(m_nListType==SWIDGET_HISTORY) + { + pTableHeader = pCommonData->GetHistoryTableHeader(); + } + else + { + return; + } + + vector* pListTableHeader = pTableHeader->GetListActive(); + + if(pListTableHeader->size()==0) + { + return; + } + + int i=0; + QStringList tableHeader; + for(i=0 ; isize() ; i++) + { + TableHeader* pHeader = (*pListTableHeader)[i]; + tableHeader << pHeader->m_strText; + + //pMapHistoryIndex->insert(map::value_type(i, i)); + + setColumnWidth(i, pHeader->m_nWidth); + } + setHorizontalHeaderLabels(tableHeader); + + + setColumnCount(pListTableHeader->size()); + m_pHeaderType1->ChangeHeader(tableHeader); + + for(i=0 ; iisActiveWindow()==false) + { + + } + + m_pHeaderType1->show(); + m_pHeaderType1->update(); + update(); + +} + +void SListWidget::Clear() +{ + int i=0; + int j=0; + + map::iterator it; + int nDisplayIndex = 0; + for(it=m_ListData.begin() ; it!=m_ListData.end() ; ++it) + { + int nIndex = it->first; + RowData nRowData = it->second; + for(j=0 ; j* pListWorklist = pCommonData->GetWorklistData(); + vector* pListActivate = pCommonData->GetWorklistTableHeader()->GetListActive(); + + Clear(); + + int nRow = m_nMaxItemShow; + if(nRowsize()) + { + nRow = pListWorklist->size(); + } + setRowCount(nRow); + + int nFontSize = 18; + int nDisplayType = MainWindow::GetCommonData()->GetDisplayType(); + if(nDisplayType==SDISPLAY_1280X1024) + { + nFontSize = 14; + } + + int i=0; + for(i=0 ; isize() ; i++) + { + WorklistResponseData& pWorklistData = (*pListWorklist)[i]; + int j=0; + vector::iterator it; + for(it=pListActivate->begin(), j=0 ; it!=pListActivate->end() ; ++it, j++) + { + TableHeader* pTableHeader = (*it); + int nIndex = pTableHeader->m_nIndex; + int nDefaultIndex = pTableHeader->m_nIndexDefault; + QString strData = ""; + + if(nDefaultIndex==SDI_PATIENT_ID) + { + strData = pWorklistData.m_Patient.strPatientID; + } + else if(nDefaultIndex==SDI_PATIENT_NAME) + { + strData = pWorklistData.m_Patient.strPatientName; + } + else if(nDefaultIndex==SDI_PATIENT_SEX) + { + strData = pWorklistData.m_Patient.strPatientSex; + } + else if(nDefaultIndex==SDI_PATIENT_WEIGHT) + { + strData = pWorklistData.m_Patient.strPatientWeight; + } + else if(nDefaultIndex==SDI_PATIENT_AGE) + { + strData = pWorklistData.m_Patient.strPatientAge; + } + else if(nDefaultIndex==SDI_PATIENT_LOCATION) + { + strData = pWorklistData.m_Patient.strPatientLocation; + } + else if(nDefaultIndex==SDI_PATIENT_BIRTH_DATE) + { + strData = pWorklistData.m_Patient.strPatientBirthDate; + ChangeDateDisplayFormat(strData); + } + else if(nDefaultIndex==SDI_STUDY_DATE) + { + strData = pWorklistData.m_Study.strStudyDate; + ChangeDateDisplayFormat(strData); + } + else if(nDefaultIndex==SDI_STUDY_TIME) + { + strData = pWorklistData.m_Study.strStudyTime; + ChangeTimeDisplayFormat(strData); + } + else if(nDefaultIndex==SDI_STUDY_DESCRIPTION) + { + strData = pWorklistData.m_Study.strStudyDescription; + } + else if(nDefaultIndex==SDI_SERIES_OPERATOR) + { + strData = pWorklistData.m_Study.strReferringPhysiciansName; + } + else if(nDefaultIndex==SDI_STUDY_CREATE_DATE) + { + strData = ""; + } + else if(nDefaultIndex==SDI_ACCESSION_NUMBER) + { + strData = pWorklistData.m_Study.strAccessionNumber; + } + else if(nDefaultIndex==SDI_STUDY_INSTANCE_UID) + { + strData = pWorklistData.m_Study.strStudyInstanceUID; + } + else if(nDefaultIndex==SDI_SERIES_BODYPART) + { + strData = pWorklistData.m_Series.strBodyPartExamined; + } + else if(nDefaultIndex==SDI_SERIES_MODALITY) + { + strData = pWorklistData.m_Series.strModality; + } + else if(nDefaultIndex==SDI_SERIES_DESCRIPTION) + { + strData = pWorklistData.m_Series.strSeriesDescription; + } + else if(nDefaultIndex==SDI_SERIES_INSTANCE_UID) + { + strData = pWorklistData.m_Series.strSeriesInstanceUID; + } + else if(nDefaultIndex==SDI_SCHEDULED_DATE) + { + strData = pWorklistData.m_ScheduledData.strScheduledProcedureStepStartDate; + ChangeDateDisplayFormat(strData); + } + else if(nDefaultIndex==SDI_SCHEDULED_TIME) + { + strData = pWorklistData.m_ScheduledData.strScheduledProcedureStepStartTime; + ChangeTimeDisplayFormat(strData); + } + else if(nDefaultIndex==SDI_SCHEDULED_PERFORMING_PHYSICIAN_NAME) + { + strData = pWorklistData.m_ScheduledData.strScheduledPerformingPhysicianName; + } + else if(nDefaultIndex==SDI_SCHEDULED_CODE_VALUE) + { + strData = pWorklistData.m_ScheduledData.strScheduledCodeValue; + } + else if(nDefaultIndex==SDI_INDEX) + { + strData = QString::number(i+1); + } + + QTableWidgetItem* pItem = new QTableWidgetItem(strData); + pItem->setTextAlignment(Qt::AlignCenter); + QFont font("Roboto"); + font.setPixelSize(nFontSize); + pItem->setFont(font); + setItem(i, nIndex, pItem); + + m_ListItem.push_back(pItem); + } + setRowHeight(i, m_nRowHeight); + } + + pCommonData->ReleaseWorklistData(); + + setCurrentCell(-1, -1); +} + +void SListWidget::UpdateHistoryList() +{ + setSortingEnabled(false); + + CommonData* pCommonData = MainWindow::GetCommonData(); + vector* pListHistoryStudy = pCommonData->GetHistorySearchResult(); + vector* pListActivate = pCommonData->GetHistoryTableHeader()->GetListActive(); + + Clear(); + + /* + //Study Date, Creation DateTime, Patient ID, Patient Name, Patient BirthDate, Patient Weight, PatientSex + //8, 7, 2, 3, 5, , 6 , 4 + map mapData; + mapData.insert(map::value_type(0, 8)); + mapData.insert(map::value_type(1, 7)); + mapData.insert(map::value_type(2, 2)); + mapData.insert(map::value_type(3, 3)); + mapData.insert(map::value_type(4, 5)); + mapData.insert(map::value_type(5, 6)); + mapData.insert(map::value_type(6, 4)); + */ + + int nRow = m_nMaxItemShow; + if(nRowsize()) + { + nRow = pListHistoryStudy->size(); + } + setRowCount(nRow); + + int nFontSize = 18; + int nDisplayType = MainWindow::GetCommonData()->GetDisplayType(); + if(nDisplayType==SDISPLAY_1280X1024) + { + nFontSize = 14; + } + + int i=0; + for(i=0 ; isize() ; i++) + { + HISTORY_STUDY* pHistoryStudy = (*pListHistoryStudy)[i]; + int j=0; + vector::iterator it; + int nDisplayIndex = 0; + for(it=pListActivate->begin() ; it!=pListActivate->end() ; ++it) + { + TableHeader* pTableHeader = (*it); + int nIndex = pTableHeader->m_nIndex; + int nDefaultIndex = pTableHeader->m_nIndexDefault; + QString strData = ""; + + //pHistoryStudy->GetData(nDefaultIndex); + + + //if(nIndexm_List.size()) + { + strData = pHistoryStudy->GetData(nDefaultIndex); + + if(nDefaultIndex==SDI_INDEX) + { + + + strData = pHistoryStudy->GetData(nDefaultIndex); + + } + else if(nDefaultIndex==SDI_PATIENT_SEX) + { + } + else if(nDefaultIndex==SDI_PATIENT_WEIGHT) + { + strData += " Kg"; + } + else if(nDefaultIndex==SDI_PATIENT_BIRTH_DATE) + { + ChangeDateDisplayFormat(strData); + } + else if(nDefaultIndex==SDI_STUDY_DATE) + { + ChangeDateDisplayFormat(strData); + } + else if(nDefaultIndex==SDI_STUDY_TIME) + { + ChangeTimeDisplayFormat(strData); + } + else if(nDefaultIndex==SDI_SCHEDULED_DATE) + { + ChangeDateDisplayFormat(strData); + } + else if(nDefaultIndex==SDI_SCHEDULED_TIME) + { + ChangeTimeDisplayFormat(strData); + } + + + +/* + QString* pData = pHistoryStudy->m_List[nDefaultIndex]; + strData = *pData; + + if(nDisplayIndex==6) + { + + } + else if(nDisplayIndex==5) + { + + } + */ + } + + QTableWidgetItem* pItem = new QTableWidgetItem(strData); + pItem->setTextAlignment(Qt::AlignCenter); + QFont font("Roboto"); + font.setPixelSize(nFontSize); + pItem->setFont(font); + setItem(i, nDisplayIndex, pItem); + + m_ListItem.push_back(pItem); + + + nDisplayIndex++; + } + + setRowHeight(i, m_nRowHeight); + } + + setCurrentCell(-1, -1); +} + +void SListWidget::resizeEvent(QResizeEvent *event) +{ + QSize nSize = size(); + + int nDisplayType = MainWindow::GetCommonData()->GetDisplayType(); + + int nFontSize = 24; + if(nDisplayType==SDISPLAY_1280X1024) + { + m_nMaxItemShow = 13; + m_nRowHeight = 46; + } + else if(nDisplayType==SDISPLAY_1920X1080) + { + m_nMaxItemShow = 11; + m_nRowHeight = 56; + } + + SetData(); + + +} + +void SListWidget::sectionResizedHorizontal(int logicalIndex, int oldSize, int newSize) +{ + QSize nSize = m_pHeaderType1->size(); + + int nWidth = m_pHeaderType1->GetDisplayWidth(); + + if(nWidth > nSize.width()+10) + { + m_pSlideBarHorizontalWidget->show(); + } + else + { + m_pSlideBarHorizontalWidget->hide(); + } +} + +void SListWidget::ScrollUpdateHorizontal() +{ + QSize nSize = m_pHeaderType1->size(); + + int nWidth = m_pHeaderType1->GetDisplayWidth(); + + if(nWidth > nSize.width()+10) + { + m_pSlideBarHorizontalWidget->show(); + } + else + { + m_pSlideBarHorizontalWidget->hide(); + } + + m_TimerScrollHorizontal.stop(); +} + +void SListWidget::sectionHandleDoubleClickedHorizontal(int logicalIndex) +{ + QSize nSize = m_pHeaderType1->size(); + + int nWidth = m_pHeaderType1->GetDisplayWidth(); + + m_TimerScrollHorizontal.start(100); +} + +void SListWidget::SetMaximumVisibleRow(int nRow) +{ + m_nMaxItemShow = nRow; +} + +void SListWidget::CheckHorizontalScroll() +{ + m_TimerScrollHorizontal.start(100); +} + + +void SListWidget::SetListType(int nType) +{ + m_nListType = nType; + + if(nType==SWIDGET_HISTORY) + { + setSelectionMode(SelectionMode::ExtendedSelection); + } + else if(nType==SWIDGET_WORKLIST) + { + setSelectionMode(SelectionMode::SingleSelection); + } + + // + + + m_pHeaderType1->SetListType(nType); +} + +void SListWidget::ChangeDateDisplayFormat(QString& strData) +{ + if(strData.length()>0) + { + strData.insert(6, '/'); + strData.insert(4, '/'); + } +} + +void SListWidget::ChangeTimeDisplayFormat(QString& strData) +{ + if(strData.length()>0) + { + strData.insert(4, ':'); + strData.insert(2, ':'); + } +} + + +void SListWidget::InitHeader() +{ + if(m_pHeaderType1!=NULL) + { + m_pHeaderType1->InitHeader(); + } +} + + +int SListWidget::GetSelectIndexWorklist(int nRow) +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + vector* pListActivate = pCommonData->GetWorklistTableHeader()->GetListActive(); + + int j=0; + vector::iterator it; + int nFindRowIndex = -1; + for(it=pListActivate->begin(), j=0 ; it!=pListActivate->end() ; ++it, j++) + { + TableHeader* pTableHeader = (*it); + int nIndex = pTableHeader->m_nIndex; + int nDefaultIndex = pTableHeader->m_nIndexDefault; + + if(nDefaultIndex==SDI_INDEX) + { + QTableWidgetItem* pItem = item(nRow, j); + QString strData = pItem->text(); + nFindRowIndex = strData.toInt(); + if(nFindRowIndex>0) + { + nFindRowIndex = nFindRowIndex - 1; + } + break; + } + } + + return nFindRowIndex; +} + +void SListWidget::SetResizeEnableHeader(bool bResize) +{ + m_pHeaderType1->SetResizeEnable(bResize); +} diff --git a/slistwidget.h b/slistwidget.h new file mode 100644 index 0000000..f7dcd3e --- /dev/null +++ b/slistwidget.h @@ -0,0 +1,116 @@ +#ifndef SLISTWIDGET_H +#define SLISTWIDGET_H + +#include + +#include +#include +using namespace std; + +#include "common.h" + +#include "headertype1.h" + +#include "sslidebar.h" + + + +enum SINGLE_ENUM +{ + SINGLE_NONE = 0, + SINGLE_UP = 1, + SINGLE_DOWN = 2 +}; + +class SListWidget : public QTableWidget +{ + Q_OBJECT +public: + explicit SListWidget(QWidget *parent = nullptr); + virtual ~SListWidget(); + + virtual void Init(); + + virtual void InitHeader(); + + virtual void ChangeHeader(); + + virtual void Clear(); + + virtual void UpdateHistoryList(); + virtual void UpdateWorklist(); + + virtual void SetData(); + + virtual void SetMaximumVisibleRow(int nRow); + + void SetResizeEnableHeader(bool bResize); + + HeaderType1* GetHeaderType1(); + + void keyPressEvent(QKeyEvent *event) override; + + void SetSlideBarVertical(SSlideBar* pSlideBar, QFrame* pFrame); + + void SetSlideBarHorizontal(SSlideBar* pSlideBar, QFrame* pFrame); + + virtual void wheelEvent(QWheelEvent *event); + void resizeEvent(QResizeEvent *event) override; + + void CheckHorizontalScroll(); + + void SetListType(int nType); + + void ChangeDateDisplayFormat(QString& strData); + void ChangeTimeDisplayFormat(QString& strData); + + int GetSelectIndexWorklist(int nRow); + + + +public slots: + void Resort(int nIndex, int order); + + void SingleDown(); + void SingleUp(); + + void valueChangedScrollBarVertical(int value); + void valueChangedScrollBarHorizontal(int value); + + void sectionResizedHorizontal(int logicalIndex, int oldSize, int newSize); + void sectionHandleDoubleClickedHorizontal(int logicalIndex); + + void ScrollUpdateHorizontal(); + +signals: + void SetSlideValue(int nValue); + + void ListSingleDown(); + void ListSingleUp(); + + +protected: + int m_nRowHeight; + QTimer m_TimerScrollHorizontal; + map m_ListData; + + HeaderType1* m_pHeaderType1; + + int m_nCurrentPos; + int m_nTopDisplayIndex; + + SINGLE_ENUM m_CurrentSingle; + + SSlideBar* m_pSlideBarVertical; + SSlideBar* m_pSlideBarHorizontal; + QFrame* m_pSlideBarHorizontalWidget; + QFrame* m_pSlideBarVerticalWidget; + + int m_nMaxItemShow; + + int m_nListType; + + vector m_ListItem; +}; + +#endif // SListWidget_H diff --git a/slistwidgetsetting.cpp b/slistwidgetsetting.cpp new file mode 100644 index 0000000..1cb03e1 --- /dev/null +++ b/slistwidgetsetting.cpp @@ -0,0 +1,109 @@ +#include "slistwidgetsetting.h" +#include + +#include "mainwindow.h" + + +SListWidgetSetting::SListWidgetSetting(QWidget *parent) : QListWidget(parent) +{ + verticalScrollBar()->hide(); + +} + +SListWidgetSetting::~SListWidgetSetting() +{ + +} + +void SListWidgetSetting::valueChangedScrollBarHorizontal(int nValue) +{ + int nMax = verticalScrollBar()->maximum(); + + float fRatio = (float)nValue / 299.0f; + int nPos = fRatio * nMax + 0.5f; + + if(nPos>nMax) + { + nPos = nMax; + } + + if(nPos<0) + { + nPos = 0; + } + + verticalScrollBar()->setValue(nPos); + +} + +void SListWidgetSetting::SetData(STableHeader* pTableHeader) +{ + int i=0; + CommonData* pCommonData = MainWindow::GetCommonData(); + + for(i=0 ; i* pListHeader = NULL; + + if(m_bActivate==true) + { + pListHeader = pTableHeader->GetListActive(); + } + else + { + pListHeader = pTableHeader->GetListInactive(); + } + + int nDisplayType = MainWindow::GetCommonData()->GetDisplayType(); + + int nFontSize = 24; + int nCellHeight = 80; + if(nDisplayType==SDISPLAY_1280X1024) + { + nCellHeight = 64; + } + else if(nDisplayType==SDISPLAY_1920X1080) + { + nCellHeight = 74; + } + + + for(i=0 ; isize() ; i++) + { + QListWidgetItem* pItem = NULL; + pItem = new QListWidgetItem(this); + pItem->setTextAlignment(Qt::AlignCenter); + //pItem->setSizeHint(QSize(pItem->sizeHint().width(), nCellHeight)); + pItem->setSizeHint(QSize(size().width(), nCellHeight)); + addItem(pItem); + + FormItemSelection* pItemWidget = new FormItemSelection(this); + setItemWidget(pItem, pItemWidget); + + TableHeader* pHeader = (*pListHeader)[i]; + + QString strText = pHeader->m_strText; + //pItemWidget->SetText(strText); + pItemWidget->SetTableHeader(pHeader); + } +} + +void SListWidgetSetting::SetActivate(bool bActivate) +{ + m_bActivate = bActivate; +} + +bool SListWidgetSetting::IsActivate() +{ + return m_bActivate; +} + +void SListWidgetSetting::SetListType(int nType) +{ + m_nListType = nType; +} diff --git a/slistwidgetsetting.h b/slistwidgetsetting.h new file mode 100644 index 0000000..24a0b52 --- /dev/null +++ b/slistwidgetsetting.h @@ -0,0 +1,33 @@ +#ifndef SLISTWIDGETSETTING_H +#define SLISTWIDGETSETTING_H + +#include +#include "formitemselection.h" +#include "commondata.h" + +class SListWidgetSetting : public QListWidget +{ + Q_OBJECT +public: + explicit SListWidgetSetting(QWidget *parent = nullptr); + virtual ~SListWidgetSetting(); + + void SetActivate(bool bActivate); + bool IsActivate(); + virtual void SetData(STableHeader* pTableHeader); + + void SetListType(int nType); + +public slots: + void valueChangedScrollBarHorizontal(int nValue); + +signals: + + +protected: + bool m_bActivate; + int m_nListType; + +}; + +#endif // SLISTWIDGETSETTING_H diff --git a/sslidebar.cpp b/sslidebar.cpp new file mode 100644 index 0000000..8b45482 --- /dev/null +++ b/sslidebar.cpp @@ -0,0 +1,233 @@ +#include "sslidebar.h" + +#include + +#include + +#include + +SSlideBar::SSlideBar(QWidget *parent) : QScrollBar(parent) +{ + m_bPressed = false; + m_bListUp = false; + + connect(&m_TimerPressed, SIGNAL(timeout()), this, SLOT(PressedTimer())); +} + +SSlideBar::SSlideBar(Qt::Orientation orient, QWidget *parent) : QScrollBar(orient, parent) +{ + +} + +SSlideBar::~SSlideBar() +{ + +} + + +bool SSlideBar::event(QEvent* pEvent) +{ + bool bRet = QScrollBar::event(pEvent); + + //qDebug() << pEvent->type(); + + + return bRet; +} + +void SSlideBar::triggerAction(SliderAction action) +{ + +} + + +void SSlideBar::mousePressEvent(QMouseEvent *pEvent) +{ + + grabMouse(); + + + int nY = pEvent->y(); + int nX = pEvent->x(); + + QSize nSize = size(); + + if(m_nSlideType==SLIDE_VERTICAL) + { + if(nY < nSize.height()-18 && nY>18) + { + QScrollBar::mousePressEvent(pEvent); + m_bPressed = true; + } + else + { + m_bPressed = false; + if(nY<18) + { + m_bListUp = true; + } + else if(nY>nSize.height()-18) + { + m_bListUp = false; + } + + //qDebug() << "mousePressEvent"; + + //PressedTimer(); + + m_TimerPressed.start(100); + } + } + else if(m_nSlideType==SLIDE_HORIZONTAL) + { + if(nX < nSize.width()-18 && nX>18) + { + QScrollBar::mousePressEvent(pEvent); + m_bPressed = true; + } + else + { + m_bPressed = false; + if(nX<18) + { + m_bListLeft = true; + } + else if(nX>nSize.width()-18) + { + m_bListLeft = false; + } + } + + //qDebug() << "mousePressEvent"; + + //PressedTimer(); + + m_TimerPressed.start(100); + } + + + +} + +void SSlideBar::mouseReleaseEvent(QMouseEvent *pEvent) +{ + releaseMouse(); + + m_TimerPressed.stop(); + + + int nY = pEvent->y(); + int nX = pEvent->x(); + + QSize nSize = size(); + + if(m_nSlideType==SLIDE_VERTICAL) + { + if(nY < nSize.height()-18 && nY>18) + { + QScrollBar::mouseReleaseEvent(pEvent); + } + else if(nY<18) + { + + } + else if(nY>nSize.height()-18) + { + + } + } + else if(m_nSlideType==SLIDE_HORIZONTAL) + { + if(nX < nSize.width()-18 && nX>18) + { + QScrollBar::mouseReleaseEvent(pEvent); + } + else if(nX<18) + { + SingleUp(); + } + else if(nX>nSize.height()-18) + { + SingleDown(); + } + } + + + + m_bPressed = false; + + + + + + qDebug() << "Released"; +} + +void SSlideBar::mouseMoveEvent(QMouseEvent *pEvent) +{ + if(m_bPressed==true) + { + QScrollBar::mouseMoveEvent(pEvent); + } +} + +void SSlideBar::PressedTimer() +{ + //qDebug() << "PressedTimer();"; + //m_TimerPressed.stop(); + + MoveScroll(); + + //m_TimerPressed.start(100); +} + +void SSlideBar::MoveScroll() +{ + + if(m_bListUp==true) + { + if(m_nSlideType==SLIDE_HORIZONTAL) + { + + } + else if(m_nSlideType==SLIDE_VERTICAL) + { + SingleUp(); + } + + } + else + { + if(m_nSlideType==SLIDE_HORIZONTAL) + { + + } + else if(m_nSlideType==SLIDE_VERTICAL) + { + SingleDown(); + } + + } + + + + + if(m_bListUp==true) + { + SingleUp(); + } + else + { + SingleDown(); + } +} + +void SSlideBar::wheelEvent(QWheelEvent *pEvent) +{ + QScrollBar::wheelEvent(pEvent); +} + +void SSlideBar::SetSlideType(SLIDEBAR_TYPE nType) +{ + m_nSlideType = nType; +} diff --git a/sslidebar.h b/sslidebar.h new file mode 100644 index 0000000..092e9e5 --- /dev/null +++ b/sslidebar.h @@ -0,0 +1,56 @@ +#ifndef SSLIDEBAR_H +#define SSLIDEBAR_H + +#include +#include +#include +#include +#include + +class SSlideBar : public QScrollBar +{ +public: + enum SLIDEBAR_TYPE + { + SLIDE_HORIZONTAL, + SLIDE_VERTICAL, + }; + + Q_OBJECT +public: + explicit SSlideBar(QWidget *parent = nullptr); + explicit SSlideBar(Qt::Orientation, QWidget *parent = nullptr); + virtual ~SSlideBar(); + + void SetSlideType(SLIDEBAR_TYPE nType); + + bool event(QEvent *event) override; + + void triggerAction(SliderAction action); + + void mousePressEvent(QMouseEvent *) override; + void mouseReleaseEvent(QMouseEvent *) override; + void mouseMoveEvent(QMouseEvent *) override; + + void wheelEvent(QWheelEvent *) override; + + virtual void MoveScroll(); + +protected: + int m_nSlideType; + bool m_bPressed; + bool m_bListUp; + bool m_bListLeft; + + QTimer m_TimerPressed; + +public slots: + void PressedTimer(); + +signals: + void SingleDown(); + void SingleUp(); + +}; + +#endif // SSLIDEBAR_H diff --git a/sslidebarhorizontal.cpp b/sslidebarhorizontal.cpp new file mode 100644 index 0000000..b730a22 --- /dev/null +++ b/sslidebarhorizontal.cpp @@ -0,0 +1,29 @@ +#include "sslidebarhorizontal.h" + +SSlideBarHorizontal::SSlideBarHorizontal(QWidget *parent) : SSlideBar(parent) +{ + +} + +SSlideBarHorizontal::SSlideBarHorizontal(Qt::Orientation orientation, QWidget *parent) : SSlideBar(orientation, parent) +{ + +} + +SSlideBarHorizontal::~SSlideBarHorizontal() +{ + +} + +void SSlideBarHorizontal::MoveScroll() +{ + + if(m_bListLeft==true) + { + + } + else + { + + } +} diff --git a/sslidebarhorizontal.h b/sslidebarhorizontal.h new file mode 100644 index 0000000..7c1fd53 --- /dev/null +++ b/sslidebarhorizontal.h @@ -0,0 +1,20 @@ +#ifndef SSLIDEBARHORIZONTAL_H +#define SSLIDEBARHORIZONTAL_H + +#include "sslidebar.h" + +class SSlideBarHorizontal : public SSlideBar +{ + Q_OBJECT +public: + explicit SSlideBarHorizontal(QWidget *parent = nullptr); + explicit SSlideBarHorizontal(Qt::Orientation, QWidget *parent = nullptr); + virtual ~SSlideBarHorizontal(); + + virtual void MoveScroll(); + +signals: + +}; + +#endif // SSLIDEBARHORIZONTAL_H diff --git a/stableheader.cpp b/stableheader.cpp new file mode 100644 index 0000000..9c33382 --- /dev/null +++ b/stableheader.cpp @@ -0,0 +1,266 @@ +#include "stableheader.h" + +#include "SDCMCommonStructure.h" + +map STableHeader::m_MapHeaderWorklist; +map STableHeader::m_MapHeaderHistory; + +STableHeader::STableHeader() +{ + /* + QStringList strList; + strList << "ID" << "Name" << "Sex" << "Weight" << "BirthDate" << "Age" << "Location" << "Study Instance UID" << "Study Description" << "Study Date" << "Study Create Date" << "Refer Doctor" << "Series Instance UID" << "Operator" << "Modality" << "Bodypart" << "Instance UID" << "Instance Create Date" << "Instance Create Time" << "Scheduled Date" << "Scheduled Time" << "Procedure Step ID" << "Procedure ID" << "Requested Comments" << "Index" << "Image Count"; + + int i=0; + for(i=0 ; im_nIndex = i; + pHeader->m_nIndexDefault = i; + pHeader->m_strText = strList[i]; + pHeader->m_bSelect = false; + pHeader->m_nWidth = 150; + if(i==2 || i==3) + { + pHeader->m_nWidth = 80; + } + m_MapHeaderWorklist[i] = pHeader; + + //m_ListHeader.push_back(pHeader); + } + + for(i=0 ; i* STableHeader::GetListActive() +{ + return &m_ListActive; +} + +vector* STableHeader::GetListInactive() +{ + return &m_ListInactive; +} + + +void STableHeader::UpdateTableHeaderInfo(map& nMapData) +{ + int i=0; + + m_ListActive.clear(); + m_ListInactive.clear(); + + + map nTmp; + for(i=0 ; i::iterator it; + for(it=nTmp.begin() ; it!=nTmp.end() ; ++it) + { + int nIndex = it->second; + TableHeader* pHeader = m_MapHeaderWorklist[nIndex]; + + m_ListInactive.push_back(pHeader); + } + + + +} + + +void STableHeader::CopyWorklistFrom(const STableHeader* pTableHeader) +{ + int i=0; + m_ListActive.clear(); + m_ListInactive.clear(); + + for(i=0 ; im_ListActive.size() ; i++) + { + TableHeader* pHeader =pTableHeader->m_ListActive[i]; + //int nIndex = pHeader->m_nIndex; + int nIndex = pHeader->m_nIndexDefault; + + //pHeader = m_MapHeaderWorklist[nIndex]; + m_ListActive.push_back(pHeader); + } + + for(i=0 ; im_ListInactive.size() ; i++) + { + TableHeader* pHeader =pTableHeader->m_ListInactive[i]; + //int nIndex = pHeader->m_nIndex; + int nIndex = pHeader->m_nIndexDefault; + + //pHeader = m_MapHeaderWorklist[nIndex]; + m_ListInactive.push_back(pHeader); + } +} + +void STableHeader::CopyHistoryFrom(const STableHeader* pTableHeader) +{ + int i=0; + m_ListActive.clear(); + m_ListInactive.clear(); + + for(i=0 ; im_ListActive.size() ; i++) + { + TableHeader* pHeader =pTableHeader->m_ListActive[i]; + int nIndex = pHeader->m_nIndex; + + //pHeader = m_MapHeaderHistory[nIndex]; + m_ListActive.push_back(pHeader); + } + + for(i=0 ; im_ListInactive.size() ; i++) + { + TableHeader* pHeader =pTableHeader->m_ListInactive[i]; + int nIndex = pHeader->m_nIndex; + + //pHeader = m_MapHeaderHistory[nIndex]; + m_ListInactive.push_back(pHeader); + } +} + + +void STableHeader::SetDataWorklist(const QList& resultQuery) +{ + ClearMapDataWorklist(); + int i=0; + m_ListActive.clear(); + m_ListInactive.clear(); + for(i=0 ; im_nIndex = nDisplayIndex; + pHeader->m_nIndexDefault = nDefaultIndex; + pHeader->m_strText = strValueString; + pHeader->m_bSelect = false; + pHeader->m_nWidth = nDisplayWidth; + + m_MapHeaderWorklist[i] = pHeader; + + if(nVisible==1) + { + m_ListActive.push_back(pHeader); + } + else if(nVisible==0) + { + m_ListInactive.push_back(pHeader); + } + } +} + +void STableHeader::SetDataHistory(const QList& resultQuery) +{ + ClearMapDataHistory(); + int i=0; + m_ListActive.clear(); + m_ListInactive.clear(); + for(i=0 ; im_nIndex = nDisplayIndex; + pHeader->m_nIndexDefault = nDefaultIndex; + pHeader->m_strText = strValueString; + pHeader->m_bSelect = false; + pHeader->m_nWidth = nDisplayWidth; + + m_MapHeaderHistory[i] = pHeader; + + if(nVisible==1) + { + m_ListActive.push_back(pHeader); + } + else if(nVisible==0) + { + m_ListInactive.push_back(pHeader); + } + } +} diff --git a/stableheader.h b/stableheader.h new file mode 100644 index 0000000..d238760 --- /dev/null +++ b/stableheader.h @@ -0,0 +1,37 @@ +#ifndef STABLEHEADER_H +#define STABLEHEADER_H + +#include "common.h" + +class STableHeader +{ +public: + STableHeader(); + virtual ~STableHeader(); + + vector* GetListActive(); + vector* GetListInactive(); + + void UpdateTableHeaderInfo(map& nMapData); + + void SetDataWorklist(const QList& resultQuery); + void SetDataHistory(const QList& resultQuery); + + void CopyWorklistFrom(const STableHeader* pTableHeader); + void CopyHistoryFrom(const STableHeader* pTableHeader); + + static void ClearMapData(); + + static void ClearMapDataWorklist(); + static void ClearMapDataHistory(); + + +protected: + //vector m_ListHeader; + static map m_MapHeaderWorklist; + static map m_MapHeaderHistory; + vector m_ListActive; + vector m_ListInactive; +}; + +#endif // STABLEHEADER_H diff --git a/stextedit.cpp b/stextedit.cpp new file mode 100644 index 0000000..993857b --- /dev/null +++ b/stextedit.cpp @@ -0,0 +1,163 @@ +#include "stextedit.h" + +#include +#include +#include +#include +#include + +STextEdit::STextEdit(QWidget *parent) : QPlainTextEdit(parent) +{ + +} + +STextEdit::~STextEdit() +{ + +} + + +void STextEdit::keyPressEvent(QKeyEvent *e) +{ + int nKey = e->key(); + + qDebug() << "KeyDown: " << nKey << "Type: " << e->type(); + + //65293 : Enter + //65288 : Backspace + //65361 : Left + //65363 : Right + //65362 : Up + //65364 : Down + //65535 : Delete + //65360 : Home + //65367 : End + + //16777251 : 한글키 + + + if(nKey != 16777220 && nKey != 16777221 && nKey!=65293) + { + if(nKey==65288) + { + Qt::KeyboardModifier m; + QKeyEvent newEvent(e->type(), Qt::Key_Backspace, e->modifiers()); + QPlainTextEdit::keyPressEvent(&newEvent); + return; + } + else if(nKey==65289) + { + Qt::KeyboardModifier m; + QKeyEvent newEvent(e->type(), Qt::Key_Tab, e->modifiers()); + QPlainTextEdit::keyPressEvent(&newEvent); + focusNextPrevChild(true); + return; + } + else if(nKey==65361) + { + Qt::KeyboardModifier m; + QKeyEvent newEvent(e->type(), Qt::Key_Left, e->modifiers()); + QPlainTextEdit::keyPressEvent(&newEvent); + return; + } + else if(nKey==65363) + { + Qt::KeyboardModifier m; + QKeyEvent newEvent(e->type(), Qt::Key_Right, e->modifiers()); + QPlainTextEdit::keyPressEvent(&newEvent); + return; + } + else if(nKey==65362) + { + Qt::KeyboardModifier m; + QKeyEvent newEvent(e->type(), Qt::Key_Up, e->modifiers()); + QPlainTextEdit::keyPressEvent(&newEvent); + return; + } + else if(nKey==65364) + { + Qt::KeyboardModifier m; + QKeyEvent newEvent(e->type(), Qt::Key_Down, e->modifiers()); + QPlainTextEdit::keyPressEvent(&newEvent); + return; + } + else if(nKey==65360) + { + Qt::KeyboardModifier m; + QKeyEvent newEvent(e->type(), Qt::Key_Home, e->modifiers()); + QPlainTextEdit::keyPressEvent(&newEvent); + return; + } + else if(nKey==65367) + { + Qt::KeyboardModifier m; + QKeyEvent newEvent(e->type(), Qt::Key_End, e->modifiers()); + QPlainTextEdit::keyPressEvent(&newEvent); + return; + } + else if(nKey==65535) + { + Qt::KeyboardModifier m; + //Key_Hangul + /* + QKeyEvent newEvent(e->type(), Qt::Key_Hangul_End, e->modifiers()); + QPlainTextEdit::keyPressEvent(&newEvent); + QKeyEvent newEventUp(e->type(), Qt::Key_Alt, e->modifiers()); + QPlainTextEdit::keyReleaseEvent(&newEventUp); + */ + + QKeyEvent newEventDeleteDown(e->type(), Qt::Key_Delete, m); + QPlainTextEdit::keyPressEvent(&newEventDeleteDown); + QThread::msleep(40); + QPlainTextEdit::keyReleaseEvent(&newEventDeleteDown); + + return; + + } + + QPlainTextEdit::keyPressEvent(e); + } + + +} + +void STextEdit::keyReleaseEvent(QKeyEvent *e) +{ + int nKey = e->key(); + if(nKey != 16777220 && nKey != 16777221) + { + QPlainTextEdit::keyReleaseEvent(e); + } + + if(nKey==Qt::Key_F10) + { + parent()->event(e); + } + + qDebug() << "KeyRelease: " << nKey; +} + +void STextEdit::mousePressEvent(QMouseEvent *e) +{ + qDebug() << "MousePress: " << e->type(); + QPlainTextEdit::mousePressEvent(e); +} + +void STextEdit::mouseMoveEvent(QMouseEvent *e) +{ + qDebug() << "MousePress: " << e->type(); + //QPlainTextEdit::mouseMoveEvent(e); +} + +void STextEdit::mouseReleaseEvent(QMouseEvent *e) +{ + qDebug() << "MousePress: " << e->type(); + QPlainTextEdit::mouseReleaseEvent(e); +} + + +void STextEdit::inputMethodEvent(QInputMethodEvent *pEvent) +{ + qDebug() << "inputMehodEvent: " << pEvent->type(); + QPlainTextEdit::inputMethodEvent(pEvent); +} diff --git a/stextedit.h b/stextedit.h new file mode 100644 index 0000000..bb498d0 --- /dev/null +++ b/stextedit.h @@ -0,0 +1,28 @@ +#ifndef STEXTEDIT_H +#define STEXTEDIT_H + +#include +//#include + +class STextEdit : public QPlainTextEdit +//class STextEdit : public QLineEdit +{ + Q_OBJECT +public: + explicit STextEdit(QWidget *parent = nullptr); + virtual ~STextEdit(); + + virtual void keyPressEvent(QKeyEvent *e) override; + virtual void keyReleaseEvent(QKeyEvent *e) override; + + virtual void mousePressEvent(QMouseEvent *e) override; + virtual void mouseMoveEvent(QMouseEvent *e) override; + virtual void mouseReleaseEvent(QMouseEvent *e) override; + + virtual void inputMethodEvent(QInputMethodEvent *) override; + +signals: + +}; + +#endif // STEXTEDIT_H diff --git a/sthreadimagesave.cpp b/sthreadimagesave.cpp new file mode 100644 index 0000000..63b24f4 --- /dev/null +++ b/sthreadimagesave.cpp @@ -0,0 +1,2287 @@ +#include +#include +#include + #include +#include +#include +#include + +#include "sthreadimagesave.h" + +#include "mainwindow.h" +#include +#include "formcapture.h" + +#include "SDCMSendImpl.h" +#include "SDCMImage.h" +#include "cscallbacksendprogress.h" +#include +#include +#include +#include +#include +#include + + +SThreadImageSave::SThreadImageSave():QSThread() +{ + m_bDeferredInitMainWidget = false; + m_pCURL = NULL; + SCURL::Init(); + + //m_pDatabase = NULL; + + + + /* + m_nDetectOffsetX = 554; + m_nDetectOffsetY = 76; + m_nDetectWidth = 1064; + m_nDetectHeight = 920; + m_bDetectReady = false; + m_pImageDetect = new uint8_t[1920*1080*3]; + m_nCurrentState = 0; + + m_bLoadImage = false; + + QString strPath = QDir::currentPath(); + + QDir().mkdir("/data/image"); + QDir().mkdir("/data/video"); + + #ifdef _SYOLOV5 + m_pDetectObject = new SYolov5; + m_pDetectObject->Init("best.engine"); + #endif + + + + m_pImageTest = new QImage("test.png"); + + *m_pImageTest = m_pImageTest->convertToFormat(QImage::Format_RGB888); + */ + + connect(&m_TimerMissBeep, SIGNAL(timeout()), this, SLOT(MissCaptureBeep())); + +} + +SThreadImageSave::~SThreadImageSave() +{ + + disconnect(&m_TimerMissBeep, SIGNAL(timeout()), this, SLOT(MissCaptureBeep())); + + //SAFE_DELETE(m_pDatabase); + + +} + +void SThreadImageSave::OpenDatabase() +{ + return; + //m_pDatabase = new SDatabase; + //m_pDatabase->OpenDatabase("/home/birdhead/test.db", true); +} + +void SThreadImageSave::Init() +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + int nVideoWidth = pCommonData->GetVideoWidth(); + int nVideoHeight = pCommonData->GetVideoHeight(); + + m_bErrorSamba = false; + m_nExportType = 0; + m_bMissCapture = false; + m_nDetectOffsetX = 554; + m_nDetectOffsetY = 76; + m_nDetectWidth = 1064; + m_nDetectHeight = 920; + m_bDetectReady = false; + m_pImageDetect = new uint8_t[nVideoWidth*nVideoHeight*3]; + m_pImageDetectSrc = new uint8_t[nVideoWidth*nVideoHeight*3]; + m_nCurrentState = 0; + + m_bLoadImage = false; + + QString strPath = QDir::currentPath(); + + QDir().mkdir("/data/image"); + QDir().mkdir("/data/video"); + + #ifdef _SYOLOV5 + m_pDetectObject = new SYolov5; + m_pDetectObject->Init("/home/birdhead/best.engine"); + //m_pDetectObject->Init("last.engine"); + #endif + + + m_bCancelLoad = false; + + + m_pImageTest = NULL; + + //m_pImageTest = new QImage("test.png"); + + //*m_pImageTest = m_pImageTest->convertToFormat(QImage::Format_RGB888); + + +} + + +void SThreadImageSave::InnerRun() +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + if(pCommonData==NULL) + { + usleep(1000); + return; + } + + if(m_nCurrentState&0x01) + { + SaveCaptureImage(); + } + else if(m_nCurrentState&0x02) + { + SaveCaptureImage(); + //m_nCurrentState = 0; + } + else if(m_nCurrentState&0x08) + { + m_bCancelLoad = false; + + LoadHistoryImage(); + + m_nCurrentState = 0; + + } + + if(m_nCurrentState&0x20) + { + SaveCaptureImageToFile(); + usleep(20*1000); + } + + if(m_nCurrentState&0x80) + { + if(m_nExportType==0) + { + //ExportUSB(); + ExportUSB_mp4(); + } + else if(m_nExportType==1) + { + ExportNetworkDirectory(); + } + + + m_bExport = false; + + if(m_nCurrentState&0x80) + { + m_nCurrentState = (m_nCurrentState & ~0x80); + } + + } + + if(m_nCurrentState&0x100) + { + CleanStorage(); + CompleteCleanStorage(); + m_nCurrentState = 0; + m_bDeferredInitMainWidget = true; + } + + else if(m_nCurrentState&0x200) + { + m_bCancelLoad = false; + + LoadAcquisitionFromHistory(); + + m_nCurrentState = 0x2000; + + } + else if(m_nCurrentState&0x400) + { + m_bExecuteUSBBackup = true; + USBBackup(); + m_bExecuteUSBBackup = false; + } + + + if(m_nCurrentState&0x10) + { + if(m_bDetectReady==true) + { + m_LockDetect.lock(); + { + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + FormCapture* pFormCapture = (FormCapture*)pMainWindow->GetFormCapture(); + + if(pCommonData->IsActiveDetect()==true) + { + #ifdef _SYOLOV5 + vector listRect; + vector listRectDisplay; + + //uchar* pData = m_pImageTest->bits(); + //listRect = m_pDetectObject->Detection(pData, 640, 640); + //listRect = m_pDetectObject->Detection(m_pImageDetect, 1920, 1080); + + pCommonData->ConvertColor2(m_pImageDetectSrc, m_pImageDetect, m_nDetectOffsetX, m_nDetectOffsetY, m_nDetectWidth, m_nDetectHeight); + + listRect = m_pDetectObject->Detection(m_pImageDetect, m_nDetectWidth, m_nDetectHeight, 0.15, 0.15); + + if(listRect.size()>0) + { + int i=0; + + float fRatioX = (float)m_nDetectWidth / 640.0f; + float fRatioY = (float)m_nDetectHeight / 640.0f; + + for(i=0 ; i0) + { + + + //float fLeft = (yr.fCenterX - yr.fWidth/2)/640.0f * (float)m_nDetectWidth + m_nDetectOffsetX; + //float fTop = (yr.fCenterY - yr.fHeight/2)/640.0f * (float)m_nDetectHeight + m_nDetectOffsetY; + //float fWidth = (yr.fWidth)/640.0f * (float)m_nDetectWidth; + //float fHeight = (yr.fHeight)/640.0f * (float)m_nDetectHeight; + + float fLeft = yr.fLeft + m_nDetectOffsetX; + float fTop = yr.fTop + m_nDetectOffsetY; + float fWidth = yr.fWidth; + float fHeight = yr.fHeight; + + QRect rectDisplay = QRect((int)fLeft, (int)fTop, (int)fWidth, (int)fHeight); + //QRect rectTmp = QRect((int)fLeft, (int)fTop, (int)yr.fWidth, (int)yr.fHeight); + //QRect rectTmp = QRect((int)(yr.fLeft*fRatioX), (int)(yr.fTop*fRatioY), (int)(yr.fWidth*fRatioX), (int)(yr.fHeight*fRatioX)); + //QRect rectDisplay = QRect((int)(rectTmp.x()+m_nDetectOffsetX), (int)(rectTmp.y()+m_nDetectOffsetY), (int)(rectTmp.width()), (int)(rectTmp.height())); + + listRectDisplay.push_back(rectDisplay); + } + + + } + } + + + pFormCapture->UpdateObjectDisplay(listRectDisplay); + usleep(10); + #endif + } + else + { + vector listRectDisplay; + pFormCapture->UpdateObjectDisplay(listRectDisplay); + } + m_LockDetect.unlock(); + m_bDetectReady = false; + } + } + + + } + else + { + //usleep(100*1000); + msleep(1); + } + + + + + +} + +CAPTURE_IMAGE* SThreadImageSave::SetImageCapture(uint8_t* pImage, int nWidth, int nHeight) +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + + CAPTURE_IMAGE* pCaptureImage = NULL; + pCaptureImage = pCommonData->AddCaptureImage(pImage, nWidth, nHeight, DISPLAY_IMAGE); + + m_nCurrentState = (m_nCurrentState | 0x01); + + return pCaptureImage; +} + +CAPTURE_IMAGE* SThreadImageSave::SetVideoCapture(uint8_t* pImage, int nWidth, int nHeight) +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + + CAPTURE_IMAGE* pCaptureImage = NULL; + pCaptureImage = pCommonData->AddCaptureImage(pImage, nWidth, nHeight, DISPLAY_VIDEO); + + m_nCurrentState = (m_nCurrentState | 0x02); + + return pCaptureImage; +} + + + +/* +vector* SThreadImageSave::GetWorklistData() +{ + return m_pWorklistData; +} +*/ + +vector* SThreadImageSave::GetWorklistDump() +{ + return m_pDCMDumpList; +} + + + +void SThreadImageSave::SaveCaptureImage() +{ + + int i=0; + bool bSaveFile = false; + CommonData* pCommonData = MainWindow::GetCommonData(); + + int nVideoWidth = pCommonData->GetVideoWidth(); + int nVideoHeight = pCommonData->GetVideoHeight(); + + vector* pListCaptureImage = pCommonData->GetListCaptureImage(); + { + + for(i=0 ; isize() ; i++) + { + CAPTURE_IMAGE* pCaptureImage = (*pListCaptureImage)[i]; + if(pCaptureImage->m_strImageFilename=="") + { + pCommonData->ReleaseListCaptureImage(); + pCommonData->ConvertCaptureImage(pCaptureImage, nVideoWidth, nVideoHeight); + + if(pCaptureImage->m_nType==DISPLAY_IMAGE) + { + captureImage(pCaptureImage); + } + else + { + captureVideo(pCaptureImage); + } + + bSaveFile = true; + break; + } + } + } + + if(bSaveFile==false) + { + pCommonData->ReleaseListCaptureImage(); + } + + + + if(bSaveFile==false) + { + m_nCurrentState = (m_nCurrentState & ~0x20); + usleep(30*1000); + } + else + { + m_nCurrentState = (m_nCurrentState | 0x20); + } + + + //m_nCurrentState = 5; +} + + + +void SThreadImageSave::LoadHistoryImage() +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + HISTORY_STUDY* pHistoryStudy = pCommonData->GetCurrentHistoryStudy(); + + //int nStudyIndex = pCommonData->GetHistorySearchStudyIndex(); + + if(pHistoryStudy==NULL) + { + pCommonData->ReleaseCurrentHistoryStudy(); + return; + } + + m_bLoadImage = true; + + QString strStudyIndex = *pHistoryStudy->pStrStudyIndex; + pCommonData->ReleaseCurrentHistoryStudy(); + + int nStudyIndex = strStudyIndex.toInt(); + + pCommonData->ClearHistoryImage(); + + + + + QList listResponse; + QList::iterator it; + + //m_pDatabase->GetImageWithStudyIndex(nStudyIndex, listResponse); + listResponse = m_ListImageWithStudy; + + + + //QList* pResult = pDatabase->GetResult(); + + int nTotalCount = listResponse.size(); + + if(nTotalCount<=0) + { + listResponse.clear(); + } + + + + + vector* pListHistoryImage = pCommonData->GetListHistoryImage(); + + QString strImageExtension = *pCommonData->GetImageExtension(); + + QImage* pImageLoad = new QImage; + int i=0; + for(i=0 ; im_nType = DISPLAY_VIDEO; + QString strFindImageFile = GetFindImageWithMovieFile(strFile); + QString strFind; + strFind = strFindImageFile + ".png"; + QFileInfo fi_png(strFind); + if(fi_png.exists()==true) + { + pImageSelect->m_strFile = strFind; + } + else + { + strFind = strFindImageFile + ".jpg"; + QFileInfo fi_jpg(strFind); + if(fi_jpg.exists()==true) + { + pImageSelect->m_strFile = strFind; + } + else + { + strFind = strFindImageFile + ".bmp"; + QFileInfo fi_bmp(strFind); + if(fi_bmp.exists()==true) + { + pImageSelect->m_strFile = strFind; + } + + } + + } + + strFile = strFind; + + + + + } + else if(strFileType=="0") + { + pImageSelect->m_nType = DISPLAY_IMAGE; + } + + pImageSelect->m_strDate = strDate; + pImageSelect->m_strTime = strTime; + + { + pImageLoad->load(strFile); + int nWidth = pImageLoad->width()/2; + int nHeight = pImageLoad->height()/2; + + QImage imageHalf = pImageLoad->scaled(nWidth, nHeight); + + if(imageHalf.format()!=QImage::Format_RGB888) + { +#ifdef _PC + imageHalf = imageHalf.convertToFormat(QImage::Format_RGB888); +#elif _XAVIER_NX + imageHalf = imageHalf.convertToFormat(QImage::Format_RGB888); +#elif _JETSON_TX2_NX + imageHalf = imageHalf.convertToFormat(QImage::Format_RGB888); + //pImageLoad->convert(QImage::Format_RGB888); +#endif + } + + int nFormat = (int)imageHalf.format(); + + pImageSelect->CreateImage(nWidth, nHeight, nFormat); + + const uchar* pImageData = imageHalf.constBits(); + memcpy(pImageSelect->m_pImageData, pImageData, nWidth*nHeight*3); + } + + + //pImageSelect->m_pImage = pImage; + pImageSelect->m_bSelect = true; + pImageSelect->m_strFile = strFile; + pImageSelect->m_bSend = bSend; + pImageSelect->m_bDelete = bDelete; + + pImageSelect->m_strStudyInstanceUID = strStudyInstanceUID; + pImageSelect->m_strSeriesInstanceUID = strSeriesInstanceUID; + pImageSelect->m_strImageInstanceUID = strImageInstanceUID; + + pImageSelect->m_nImageNumber = nImageNumber; + pImageSelect->m_nSeriesNumber = nSeriesNumber; + + pImageSelect->m_nIndexStudy = nStudyIndex; + pImageSelect->m_nIndexSeries = nSeriesIndex; + pImageSelect->m_nIndexImage = nImageIndex; + pImageSelect->m_nIndexPatient = nPatientIndex; + + + pImageSelect->m_strPatientAge = strPatientAge; + + pListHistoryImage->push_back(pImageSelect); + + + SetImageLoadInfo(i, nTotalCount, pImageSelect); + + usleep(10*1000); + } + + SAFE_DELETE(pImageLoad); + + pCommonData->ReleaseListHistoryImage(); + + + + //SDatabase::DeleteListReponse(m_ListImageWithStudy); + m_ListImageWithStudy.clear(); + + + if(m_bCancelLoad==false) + { + ImageLoadComplete(); + } + +} + + + +void SThreadImageSave::LoadAcquisitionFromHistory() +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + + QList listResponse; + QList::iterator it; + + + + listResponse = m_ListImageWithStudy; + //m_pDatabase->GetImageWithStudyIndexASC(nStudyIndex, listResponse); + + + int nTotalCount = listResponse.size(); + + + + + + + vector* pListCapture = pCommonData->GetListCaptureImage(); + + int nCaptureCount = 0; + nCaptureCount = pListCapture->size(); + pCommonData->ReleaseListCaptureImage(); + + if(nCaptureCount==nTotalCount || nTotalCount<=0) + { + CompleteAcquisitionFromHistory(); + m_bLoadImage = false; + return; + } + else + { + pCommonData->ClearHistoryImage(); + pCommonData->ClearCaptureImage(); + } + + pListCapture = pCommonData->GetListCaptureImage(); + + m_bLoadImage = true; + + QImage* pImageLoad = new QImage; + int i=0; + for(i=0 ; ipush_back(pCaptureImage); + + pCaptureImage->m_nAcquisitionNumber = nAcquisitionNumber; + + if(strFileType=="1") + { + pCaptureImage->m_nType = DISPLAY_VIDEO; + pCaptureImage->m_strVideoFilename = strFile; + + QString strFindImageFile = GetFindImageWithMovieFile(strFile); + QString strFind; + strFind = strFindImageFile + ".png"; + QFileInfo fi_png(strFind); + if(fi_png.exists()==true) + { + pCaptureImage->m_strVideoFilename = strFind; + } + else + { + strFind = strFindImageFile + ".jpg"; + QFileInfo fi_jpg(strFind); + if(fi_jpg.exists()==true) + { + pCaptureImage->m_strVideoFilename = strFind; + } + else + { + strFind = strFindImageFile + ".bmp"; + QFileInfo fi_bmp(strFind); + if(fi_bmp.exists()==true) + { + pCaptureImage->m_strVideoFilename = strFind; + } + } + } + + strFile = strFind; + } + else if(strFileType=="0") + { + pCaptureImage->m_nType = DISPLAY_IMAGE; + } + + pCaptureImage->m_strImageFilename = strFile; + + QString strDateTime = QString("%1%2").arg(strDate).arg(strTime); + pCaptureImage->m_DateTime = QDateTime::fromString(strDateTime, "yyyyMMddHHmmss"); + + //pCaptureImage->m_pImage = new QImage(pCaptureImage->m_strImageFilename); + bool bImageLoad = pImageLoad->load(pCaptureImage->m_strImageFilename); + + if(bImageLoad==true) + { + int nWidth = pImageLoad->width(); + int nHeight = pImageLoad->height(); + + //pCaptureImage->m_pImageSmall = new QImage; + QImage imageScaled = pImageLoad->scaled(nWidth/4, nHeight/4); + pCaptureImage->CreateImage(nWidth/4, nHeight/4, QImage::Format_RGB888); + imageScaled = imageScaled.convertToFormat(QImage::Format_RGB888); + uint8_t* pImageDataScaled = imageScaled.bits(); + memcpy(pCaptureImage->m_pImageData, pImageDataScaled, imageScaled.width()*imageScaled.height()*3); + } + + pCaptureImage->m_bCheck = true; + pCaptureImage->m_bSend = bSend; + pCaptureImage->m_bDelete = bDelete; + + pCaptureImage->m_nIndex = i; + pCaptureImage->m_bSaveFile = true; + + + + LoadInfoAcquisitionFromHistory(i+1, nTotalCount); + + usleep(10*1000); + } + + SAFE_DELETE(pImageLoad); + + //SDatabase::DeleteListReponse(m_ListImageWithStudy); + m_ListImageWithStudy.clear(); + + pCommonData->ReleaseListCaptureImage(); + + CompleteAcquisitionFromHistory(); + + m_bLoadImage = false; +} + + +void SThreadImageSave::StopLoadImage() +{ + m_bLoadImage = false; +} + +void SThreadImageSave::SaveCaptureImageToFile() +{ + return; + m_LockImageSaveToFile.lock(); + m_bSaveImage = true; + + CommonData* pCommonData = MainWindow::GetCommonData(); + + int i=0; + int nExecCount = 0; + int nImageCount = m_ListCaptureSaveToFile.size(); + //QElapsedTimer t1; + //t1.start(); + for(i=0 ; im_bSaveFile==false && pCaptureImage->m_strImageFilename.size()>0) + { + if(pCaptureImage->m_pImage==NULL) + { + m_bSaveImage = false; + m_LockImageSaveToFile.unlock(); + return; + } + //crop image +#ifdef _CROP + *pCaptureImage->m_pImage = pCaptureImage->m_pImage->copy(QRect(242, 5, 1376, 992)); +#endif + + pCommonData->WriteBitmapFile(pCaptureImage->m_strImageFilename, pCaptureImage->m_pImage); + pCaptureImage->m_bSaveFile = true; + SAFE_DELETE(pCaptureImage->m_pImage); + SAFE_DELETE(pCaptureImage->m_pImageCaptureRaw); + SAFE_ARRAY_DELETE(pCaptureImage->m_pImageCaptureColor); + usleep(100); + m_bSaveImage = false; + nExecCount++; + + + m_LockImageSaveToFile.unlock(); + return; + + } + + if((m_nCurrentState&0x20)==false) + { + m_bSaveImage = false; + nExecCount++; + m_LockImageSaveToFile.unlock(); + return; + } + } + + if(m_nCurrentState&0x20) + { + if(nExecCount==0) + { + usleep(10*1000); + } + } + + m_bSaveImage = false; + + m_LockImageSaveToFile.unlock(); + + +} + + +void SThreadImageSave::AddCaptureSaveToFile(CAPTURE_IMAGE* pCaptureImage) +{ + m_LockImageSaveToFile.lock(); + m_ListCaptureSaveToFile.push_back(pCaptureImage); + m_LockImageSaveToFile.unlock(); +} + +void SThreadImageSave::ClearCaptureSaveToFile() +{ + m_LockImageSaveToFile.lock(); + m_ListCaptureSaveToFile.clear(); + m_LockImageSaveToFile.unlock(); +} + +void SThreadImageSave::ExitCapture() +{ + m_nCurrentState = 0; + + while(m_bSaveImage==true) + { + usleep(100*1000); + } + +} + +void SThreadImageSave::SetImageDetect(uint8_t* pImage, int nWidth, int nHeight) +{ +#ifdef _SYOLOV5 + if((m_nCurrentState&0x10)==0) + { + return; + } + //554, 76 (1064, 920) : 1920x1080 + //277, 38 (532, 460) : 1280x720 + if(m_LockDetect.tryLock(100)==true) + { + if(m_bDetectReady==false) + { + CommonData* pCommonData = MainWindow::GetCommonData(); + + memcpy(m_pImageDetectSrc, pImage, nWidth*nHeight*2); + + //pCommonData->ConvertColor2(pImage, m_pImageDetect, m_nDetectOffsetX, m_nDetectOffsetY, m_nDetectWidth, m_nDetectHeight); + /* + uint8_t* pImageColor = pCommonData->ConvertColor(pImage, nWidth, nHeight); + //uint8_t* pImageColor = (uint8_t*)pImage; + + int i=0; + for(i=0 ; i listFile) +{ + WRITE_FUNCTION_LOG(); + while(m_LockSendList.tryLock(100)==false) + { + usleep(100); + } + //m_LockSendList.lock(); + if(m_nCurrentState & 0x40) + { + int i=0; + for(i=0 ; iStopCURL(); + } + m_LockExport.unlock(); + } + + while(m_nCurrentState&0x80) + { + usleep(100*1000); + } + + + } + + m_nCurrentState = 0; +} + +void SThreadImageSave::ExportUSB() +{ + if(m_bExport==false) + { + return; + } + + SetExportInit(); + + QFileInfo fileDevice("/dev/sda1"); + if(fileDevice.exists()==false) + { + return; + } + + CommonData* pCommonData = MainWindow::GetCommonData(); + vector* pListExport = pCommonData->GetExportList(); + + //QString strDestDirectory = "/home/birdhead/test"; + QString strDestDirectory = "/home/birdhead/backup"; + + QDirIterator it(strDestDirectory, QDirIterator::Subdirectories); + qint64 total = 0; + + while(it.hasNext()==true) + { + it.next(); + QFileInfo fi = it.fileInfo(); + if(fi.isDir()==true && fi.isSymLink()==false && fi.isAbsolute()==true) + { + QString strFilenameTmp = fi.fileName(); + if(strFilenameTmp=="." || strFilenameTmp=="..") + { + continue; + } + strDestDirectory = fi.filePath(); + break; + } + + } + + if(strDestDirectory.size()==0) + { + return; + } + + QDir dirDeleteImage(strDestDirectory+"/image"); + if(dirDeleteImage.exists()==true) + { + dirDeleteImage.removeRecursively(); + } + + QDir dirDeleteVideo(strDestDirectory+"/video"); + if(dirDeleteVideo.exists()==true) + { + dirDeleteVideo.removeRecursively(); + } + + QProcess::execute("sync"); + + + QString* pStrExternalDiskPath = pCommonData->GetExternalDiskPath(); + + //strDestDirectory = "/home/birdhead/test"; + + if(pStrExternalDiskPath->size()>0) + { + strDestDirectory = *pStrExternalDiskPath; + } + + int i=0; + for(i=0 ; isize() && m_bExport==true ; i++) + { + QString strFile = (*pListExport)[i]; + SetProgressExportFile(i+1, pListExport->size()); + + QStringList listParse = strFile.split('/'); + + QString strType = listParse[2]; + QString strStudyDate = listParse[3]; + QString strPatientID = listParse[4]; + QString strFilename = listParse[5]; + + QString strDestFile = QString("%1/%2/%3/%4/%5").arg(strDestDirectory).arg(strType).arg(strStudyDate).arg(strPatientID).arg(strFilename); + + CheckAndCreateDir(strDestDirectory + "/" + strType); + CheckAndCreateDir(strDestDirectory + "/" + strType + "/" + strStudyDate); + CheckAndCreateDir(strDestDirectory + "/" + strType + "/" + strStudyDate + "/" + strPatientID); + + QStringList strListFile; + + if(strFilename.contains(MOVIE_FILE_EXTENSION)==true) + { + QString strFindFilename = strFilename; + strFindFilename.remove(MOVIE_FILE_EXTENSION); + QRegExp separator("_"); + QStringList listDataFilename = strFindFilename.split(separator); + + QString strCaptureIndex; + QString strCaptureTime; + + int nDataSize = listDataFilename.size(); + if(nDataSize>0) + { + strCaptureIndex = listDataFilename[0]; + } + if(nDataSize>1) + { + strCaptureTime = listDataFilename[1]; + } + + strFindFilename = QString("%1_%2").arg(strCaptureIndex).arg(strCaptureTime); + qDebug() << strFilename << ": " << strFindFilename; + + QString strFindDirectory = QString("/data/video/%1/%2").arg(strStudyDate).arg(strPatientID); + + QDirIterator it(strFindDirectory, QDirIterator::Subdirectories); + qint64 total = 0; + + while(it.hasNext()==true) + { + it.next(); + QFileInfo fi = it.fileInfo(); + if(fi.isFile()==true && fi.isSymLink()==false && fi.isAbsolute()==true) + { + QString strTmpFile = fi.fileName(); + if(strTmpFile.contains(MOVIE_FILE_EXTENSION) && strTmpFile.contains(strFindFilename)==true) + { + strDestFile = QString("%1/%2").arg(strFindDirectory).arg(strTmpFile); + strListFile.push_back(strDestFile); + } + } + + } + + } + else + { + strListFile.push_back(strFile); + } + + int nIter = 0; + for(nIter = 0 ; nIternReadTotal && m_bExport==true) + { + SetProgressExportPercent(nCurrentCount+1, nTotalCount); + + memset(pData, 0, sizeof(char)*4096); + nRead = fileRead.read(pData, 4096); + nReadTotal += nRead; + if(nRead>0) + { + fileWrite.write(pData, nRead); + } + else + { + break; + } + + nCurrentCount++; + } + + if(m_bExport==true) + { + fileWrite.flush(); + fileWrite.close(); + } + else + { + + } + + } + else + { + + } + + fileRead.close(); + + delete[] pData; + + SetProgressSync(false); + + if(m_bExport==true) + { + QString strSync = QString("sync --data %1").arg(strDestFile); + //QProcess::execute(strSync); + } + else + { + + } + + SetProgressSync(true); + + } + } + + + } + + SetExportComplete(); + m_bExport = false; + return; + + + SetProgressSync(false); + if(m_bExport==true) + { + //QString strSync = QString("sync --data %1").arg(strDestDirectory); + //QProcess::execute(strSync); + + QProcess::execute("sync"); + } + SetProgressSync(true); + + +} + + + +void SThreadImageSave::ExportUSB_mp4() +{ + if(m_bExport==false) + { + return; + } + + SetExportInit(); + + QFileInfo fileDevice("/dev/sda1"); + if(fileDevice.exists()==false) + { + return; + } + + CommonData* pCommonData = MainWindow::GetCommonData(); + vector* pListExport = pCommonData->GetExportList(); + + //QString strDestDirectory = "/home/birdhead/test"; + QString strDestDirectory = "/home/birdhead/backup"; + + QDirIterator it(strDestDirectory, QDirIterator::Subdirectories); + qint64 total = 0; + + while(it.hasNext()==true) + { + it.next(); + QFileInfo fi = it.fileInfo(); + if(fi.isDir()==true && fi.isSymLink()==false && fi.isAbsolute()==true) + { + QString strFilenameTmp = fi.fileName(); + if(strFilenameTmp=="." || strFilenameTmp=="..") + { + continue; + } + strDestDirectory = fi.filePath(); + break; + } + + } + + if(strDestDirectory.size()==0) + { + return; + } + + QDir dirDeleteImage(strDestDirectory+"/image"); + if(dirDeleteImage.exists()==true) + { + dirDeleteImage.removeRecursively(); + } + + QDir dirDeleteVideo(strDestDirectory+"/video"); + if(dirDeleteVideo.exists()==true) + { + dirDeleteVideo.removeRecursively(); + } + + QProcess::execute("sync"); + + + QString* pStrExternalDiskPath = pCommonData->GetExternalDiskPath(); + + //strDestDirectory = "/home/birdhead/test"; + + if(pStrExternalDiskPath->size()>0) + { + strDestDirectory = *pStrExternalDiskPath; + } + + int i=0; + for(i=0 ; isize() && m_bExport==true ; i++) + { + QString strFile = (*pListExport)[i]; + SetProgressExportFile(i+1, pListExport->size()); + + QStringList listParse = strFile.split('/'); + + QString strType = listParse[2]; + QString strStudyDate = listParse[3]; + QString strPatientID = listParse[4]; + QString strFilename = listParse[5]; + + QString strDestFile = QString("%1/%2/%3/%4/%5").arg(strDestDirectory).arg(strType).arg(strStudyDate).arg(strPatientID).arg(strFilename); + + CheckAndCreateDir(strDestDirectory + "/" + strType); + CheckAndCreateDir(strDestDirectory + "/" + strType + "/" + strStudyDate); + CheckAndCreateDir(strDestDirectory + "/" + strType + "/" + strStudyDate + "/" + strPatientID); + + QStringList strListFile; + { + strListFile.push_back(strFile); + } + + int nIter = 0; + for(nIter = 0 ; nIternReadTotal && m_bExport==true) + { + SetProgressExportPercent(nCurrentCount+1, nTotalCount); + + memset(pData, 0, sizeof(char)*4096); + nRead = fileRead.read(pData, 4096); + nReadTotal += nRead; + if(nRead>0) + { + fileWrite.write(pData, nRead); + } + else + { + break; + } + + nCurrentCount++; + } + + if(m_bExport==true) + { + fileWrite.flush(); + fileWrite.close(); + } + else + { + + } + + } + else + { + + } + + fileRead.close(); + + delete[] pData; + + + + + if(m_bExport==true && strDestFile.contains(MOVIE_FILE_EXTENSION)==true) + { + SetProgressSync(false); + QString strSync = QString("sync --data %1").arg(strDestFile); + QProcess::execute(strSync); + SetProgressSync(true); + } + else + { + + } + + + + } + } + + + } + + pListExport->clear(); + + SetExportComplete(); + m_bExport = false; + return; + + + SetProgressSync(false); + if(m_bExport==true) + { + QString strSync = QString("sync --data %1").arg(strDestDirectory); + QProcess::execute(strSync); + + QProcess::execute("sync"); + } + SetProgressSync(true); + + +} + + + +void SThreadImageSave::ExportNetworkDirectory() +{ + if(m_bExport==false || m_bErrorSamba==true) + { + SetExportComplete(); + /*m_bExport = false;*/ + return; + } + + SetExportInit(); + + /* + * //Mount device check !!!!!!!!!!!!!!!!!!!! + QFile fileDevice("/dev/sda1"); + if(fileDevice.exists()==false) + { + return; + } + */ + + CommonData* pCommonData = MainWindow::GetCommonData(); + vector* pListExport = pCommonData->GetExportList(); + + QString strDestDirectory = "/home/birdhead/samba"; + + /* + + + QDirIterator it(strDestDirectory, QDirIterator::Subdirectories); + qint64 total = 0; + + while(it.hasNext()==true) + { + it.next(); + QFileInfo fi = it.fileInfo(); + if(fi.isDir()==true && fi.isSymLink()==false && fi.isAbsolute()==true) + { + QString strFilenameTmp = fi.fileName(); + if(strFilenameTmp=="." || strFilenameTmp=="..") + { + continue; + } + strDestDirectory = fi.filePath(); + break; + } + + } + + if(strDestDirectory.size()==0) + { + return; + } + + QDir dirDeleteImage(strDestDirectory+"/image"); + if(dirDeleteImage.exists()==true) + { + dirDeleteImage.removeRecursively(); + } + + QDir dirDeleteVideo(strDestDirectory+"/video"); + if(dirDeleteVideo.exists()==true) + { + dirDeleteVideo.removeRecursively(); + } + + QProcess::execute("sync"); + + strDestDirectory = "/home/birdhead/samba"; + + if(pStrExternalDiskPath->size()>0) + { + strDestDirectory = *pStrExternalDiskPath; + } + */ + + + QString* pStrExternalDiskPath = pCommonData->GetExternalDiskPath(); + + + + + SAFE_DELETE(m_pCURL); + m_pCURL = new SCURL; + connect(m_pCURL, SIGNAL(SetProgressExportPercent(quint64, quint64)), this, SLOT(SetProgressExportPercentSlot(quint64, quint64))); + + int i=0; + for(i=0 ; isize() && m_bExport==true ; i++) + { + QString strFile = (*pListExport)[i]; + + + + + SetProgressExportFile(i+1, pListExport->size()); + + + QStringList listParse = strFile.split('/'); + + QString strType = listParse[2]; + //QString strType = "cystoscopy"; + QString strStudyDate = listParse[3]; + QString strPatientID = listParse[4]; + QString strFilename = listParse[5]; + + QString strDestFile = QString("%1/%2/%3/%4/%5").arg(strDestDirectory).arg(strType).arg(strStudyDate).arg(strPatientID).arg(strFilename); + + CheckAndCreateDir(strDestDirectory + "/" + strType); + CheckAndCreateDir(strDestDirectory + "/" + strType + "/" + strStudyDate); + CheckAndCreateDir(strDestDirectory + "/" + strType + "/" + strStudyDate + "/" + strPatientID); + + QStringList strListFile; + + if(strFilename.contains(MOVIE_FILE_EXTENSION)==true) + { + QString strFindFilename = strFilename; + strFindFilename.remove(MOVIE_FILE_EXTENSION); + + QString strFindDirectory = QString("/data/video/%1/%2").arg(strStudyDate).arg(strPatientID); + + QDirIterator it(strFindDirectory, QDirIterator::Subdirectories); + qint64 total = 0; + + while(it.hasNext()==true) + { + it.next(); + QFileInfo fi = it.fileInfo(); + if(fi.isFile()==true && fi.isSymLink()==false && fi.isAbsolute()==true) + { + QString strTmpFile = fi.fileName(); + if(strTmpFile.contains(MOVIE_FILE_EXTENSION) && strTmpFile.contains(strFindFilename)==true) + { + strDestFile = QString("%1/%2").arg(strFindDirectory).arg(strTmpFile); + strListFile.push_back(strDestFile); + } + } + + } + + } + else + { + strListFile.push_back(strFile); + } + + int nIter = 0; + + + + bool bUseSamba = false; + for(nIter = 0 ; nIterUploadFTP(strFile); + } + + + + + } + else + { + QFile fileRead(strFile); + + if(strDestFile.contains(".mkv")==true) + { + + } + + if(fileRead.open(QIODevice::ReadOnly)==true) + { + qint64 nLength = fileRead.size(); + + int nTotalCount = nLength / 4096; + int nCurrentCount = 0; + + QStringList listParse = strFile.split('/'); + + QString strType = listParse[2]; + QString strStudyDate = listParse[3]; + QString strPatientID = listParse[4]; + QString strFilename = listParse[5]; + + QString strDestFile = QString("%1/%2/%3/%4/%5").arg(strDestDirectory).arg(strType).arg(strStudyDate).arg(strPatientID).arg(strFilename); + + //qDebug() << strDestFile; + + + QFile fileWrite(strDestFile); + + if(fileWrite.exists()==true) + { + fileWrite.remove(); + } + char* pData = new char[4096]; + if(fileWrite.open(QIODevice::WriteOnly | QIODevice::NewOnly | QIODevice::Unbuffered)==true) + { + qint64 nRead = 0; + qint64 nReadTotal = 0; + + while(nLength>nReadTotal && m_bExport==true) + { + SetProgressExportPercent(nCurrentCount+1, nTotalCount); + + memset(pData, 0, sizeof(char)*4096); + nRead = fileRead.read(pData, 4096); + nReadTotal += nRead; + int nWrite = 0; + if(nRead>0) + { + if(fileWrite.isWritable()==true) + { + nWrite = fileWrite.write(pData, nRead); + if(nRead!=nWrite) + { + + } + } + else + { + + } + + } + else + { + break; + } + + nCurrentCount++; + if(nCurrentCount%100==0) + //if(nCurrentCount>0) + { + while(fileWrite.flush()==false) + { + //QThread::msleep(10); + + + + } + int nRet = 0; + nRet = fsync(fileWrite.handle()); + if(nRet<0) + { + fileWrite.close(); + SetExportComplete(); + /*m_bExport = false;*/ + m_bErrorSamba = true; + return; + } + + } + } + fileWrite.flush(); + fileWrite.close(); + } + else + { + //Network Error + SetExportComplete(); + /*m_bExport = false;*/ + m_bErrorSamba = true; + return; + } + + fileRead.close(); + + delete[] pData; + + + SetProgressSync(false); + QString strSync = QString("sync -f %1").arg(strDestFile); + QProcess::execute(strSync); + SetProgressSync(true); + + } + + } + } + + + + } + + disconnect(m_pCURL, SIGNAL(SetProgressExportPercent(quint64, quint64)), this, SLOT(SetProgressExportPercentSlot(quint64, quint64))); + + m_LockExport.lock(); + SAFE_DELETE(m_pCURL); + m_LockExport.unlock(); + + + + SetExportComplete(); + m_bExport = false; + return; + + + SetProgressSync(false); + if(m_bExport==true) + { + //QString strSync = QString("sync --data %1").arg(strDestDirectory); + //QProcess::execute(strSync); + + //QProcess::execute("sync"); + } + SetProgressSync(true); + + +} + +void SThreadImageSave::CheckAndCreateDir(QString strDir) +{ + QDir dir(strDir); + if(dir.exists()==false) + { + dir.mkdir(strDir); + } +} + + + + +void SThreadImageSave::CancelLoad() +{ + m_bCancelLoad = true; +} + +void SThreadImageSave::CleanStorage() +{ + bool bDeleteAuto = true; + + //usleep(1000*1000*5); + + CommonData* pCommonData = MainWindow::GetCommonData(); + + pCommonData->ComputeStorageSize(); + int nStorage = pCommonData->GetStorageSize(); + + int nStorageSize = pCommonData->GetStorageSize(); + int nStorageFreeSize = pCommonData->GetStorageFreeSize(); + + if(bDeleteAuto==true) + { + int i=0; + { + QDir directory("Log"); + //QDateTime dtCurrent = QDateTime::currentDateTime(); + QDateTime dtCheck = QDateTime::currentDateTime(); //dtCurrent.addDays(-14); + QStringList listLogFile = directory.entryList(QStringList() << "*.log" << "*.LOG",QDir::Files); + foreach(QString filename, listLogFile) { + //do whatever you need to do + int nYear = 0; + int nMonth = 0; + int nDay = 0; + + QString strYear; + QString strMonth; + QString strDay; + + strYear = filename.mid(0, 4); + strMonth = filename.mid(4, 2); + strDay = filename.mid(6, 2); + + nYear = strYear.toInt(); + nMonth = strMonth.toInt(); + nDay = strDay.toInt(); + + QDate dtFile(nYear, nMonth, nDay); + + int nDayCheck = dtFile.daysTo(dtCheck.date()); + + + if(nDayCheck>60) + { + QFile::remove("Log/"+filename); + } + + } + } + + + //QList* pResult = m_pDatabase->GetScheduledDeleteStudyDateList(); + + QList result = m_ListScheduledDeleteStudyDateList; + + int nData = result.size(); + + QString strStorageDirectory = "/data"; + + for(i=0 ; iSetDeleteStorageFile(strFileLocation); + + + } + } +} + + + +void SThreadImageSave::MissCapture() +{ + m_nMissCount = 0; + m_bMissCapture = true; + + //MainWindow::GetMainWindow()->ViewDialogMissCapture(); + if(m_bDeferredInitMainWidget==true) + { + ViewDialogMissCapture(); + + //MainWindow::GetCommonData()->Beep(true); + m_TimerMissBeep.start(500); + } + + + +} + +void SThreadImageSave::ClearMissCapture() +{ + m_bMissCapture = false; + m_nMissCount = 0; + + m_TimerMissBeep.stop(); + MainWindow::GetCommonData()->Beep(false); +} + +void SThreadImageSave::MissCaptureBeep() +{ + if(m_bMissCapture==true) + { + if(m_nMissCount%2==0) + { + MainWindow::GetCommonData()->Beep(true); + } + else + { + MainWindow::GetCommonData()->Beep(false); + } + + m_nMissCount++; + } +} + +void SThreadImageSave::SetProgressExportPercentSlot(quint64 nCurrent, quint64 nTotal) +{ + SetProgressExportPercent(nCurrent, nTotal); +} + + +QString SThreadImageSave::GetFindImageWithMovieFile(const QString strMovieFile) +{ + QFileInfo file_info(strMovieFile); + QString strPath = file_info.path(); + QString strFilename = file_info.fileName(); + strFilename.replace(MOVIE_FILE_EXTENSION, ""); + QRegExp separator("_"); + QStringList listData = strFilename.split(separator); + QString strCaptureIndex; + QString strCaptureTime; + QString strCaptureIndex_Additional; + QString strFindImage; + + strFindImage = strPath; + strFindImage += "/"; + + int nDataSize = listData.size(); + if(nDataSize>0) + { + strCaptureIndex = listData[0]; + if(strCaptureIndex.size()>0) + { + strFindImage += strCaptureIndex; + } + } + if(nDataSize>1) + { + strCaptureTime = listData[1]; + if(strCaptureTime.size()>0) + { + strFindImage += "_"; + strFindImage += strCaptureTime; + } + } + if(nDataSize>2) + { + strCaptureIndex_Additional = listData[2]; + if(strCaptureIndex_Additional.size()>0) + { + //strFindImage += "_"; + //strFindImage += strCaptureIndex_Additional; + } + } + + return strFindImage; +} + + +void SThreadImageSave::SetListImageWithStudy(const QList list) +{ + int i=0; + m_ListImageWithStudy.clear(); + + for(i=0 ; i list) +{ + int i=0; + m_ListImageWithStudy.clear(); + + for(i=0 ; i* pListCapture = pCommonData->GetListCaptureImage(); + { + + for(i=0 ; isize() ; i++) + { + CAPTURE_IMAGE* pCaptureImage = (*pListCapture)[i]; + if(pCaptureImage->IsBackup()==false) + { + if(pCaptureImage->m_strImageFilename.size()>0 && pCaptureImage->m_nIndex>=0) + { + listBackup.push_back(pCaptureImage->m_strImageFilename); + } + } + } + + } + pCommonData->ReleaseListCaptureImage(); + + + for(i=0 ; iGetListCaptureImage(); + { + for(i=0 ; isize() ; i++) + { + CAPTURE_IMAGE* pCaptureImage = (*pListCapture)[i]; + if(pCaptureImage->IsBackup()==false) + { + for(j=0 ; jm_strImageFilename) + { + pCaptureImage->m_bBackup = true; + } + } + } + } + + } + pCommonData->ReleaseListCaptureImage(); +} + +void SThreadImageSave::USBBackup() +{ + USBBackupInner(); + usleep(100*1000); + + bool bCheckBackup = m_nCurrentState&0x400; + + if(bCheckBackup==false) + { + USBBackupInner(); + } +} + + +bool SThreadImageSave::IsExecuteBackup() +{ + return m_bExecuteUSBBackup; +} + + +void SThreadImageSave::SetExecuteBackup(bool bBackup) +{ + if(bBackup==true) + { + //MountUSBBackup(); + m_nCurrentState = (m_nCurrentState | 0x400); + } + else + { + m_nCurrentState = (m_nCurrentState & ~0x400); + while(m_bExecuteUSBBackup==true) + { + usleep(100); + } + //UmountUSBBackup(); + } +} + +void SThreadImageSave::MountUSBBackup() +{ + bool bMount = false; + QProcess processCheckMount; + processCheckMount.start("mount"); + while(processCheckMount.waitForStarted(100)==false) + { + usleep(1000); + } + bool retval = false; + QByteArray buffer; + + while ((retval = processCheckMount.waitForFinished(100))) + { + usleep(1000); + } + buffer.append(processCheckMount.readAll()); + + processCheckMount.terminate(); + processCheckMount.waitForFinished(100); + processCheckMount.deleteLater(); + + QString strBufferMount = buffer.toStdString().c_str(); + if(strBufferMount.contains("backup")==true) + { + //Already mounted + bMount = true; + } + + buffer.clear(); + + if(bMount==true) + { + return; + } + + QProcess process1; + QProcess process2; + + process1.setStandardOutputProcess(&process2); + + process1.start("echo 1"); +#ifdef _PC + process2.start("sudo -S mount -o uid=1000,gid=1000 /dev/sdb1 /home/birdhead/backup"); +#else + process2.start("sudo -S mount -o uid=1000,gid=1000 /dev/sda1 /home/birdhead/backup"); +#endif + process2.setProcessChannelMode(QProcess::ForwardedChannels); + + // Wait for it to start + if(!process1.waitForStarted()) + return; + + + // To be fair: you only need to wait here for a bit with shutdown, + // but I will still leave the rest here for a generic solution + while ((retval = process2.waitForFinished())) + { + buffer.append(process2.readAll()); + } + + + process1.terminate(); + process2.terminate(); + + process1.waitForFinished(100); + process2.waitForFinished(100); + + process1.deleteLater(); + process2.deleteLater(); + + buffer.clear(); +} + +void SThreadImageSave::UmountUSBBackup() +{ + bool bMount = true; + QProcess processCheckMount; + processCheckMount.start("mount"); + while(processCheckMount.waitForStarted(100)==false) + { + usleep(1000); + } + bool retval = false; + QByteArray buffer; + + while ((retval = processCheckMount.waitForFinished(100))) + { + usleep(1000); + } + buffer.append(processCheckMount.readAll()); + + processCheckMount.terminate(); + processCheckMount.waitForFinished(100); + processCheckMount.deleteLater(); + + QString strBufferMount = buffer.toStdString().c_str(); + if(strBufferMount.contains("backup")==false) + { + //Already unmounted + bMount = false; + } + + buffer.clear(); + + if(bMount==false) + { + return; + } + + QProcess process1; + QProcess process2; + + process1.setStandardOutputProcess(&process2); + + process1.start("echo 1"); +#ifdef _PC + process2.start("sudo -S umount /home/birdhead/backup"); +#else + process2.start("sudo -S umount /home/birdhead/backup"); +#endif + process2.setProcessChannelMode(QProcess::ForwardedChannels); + + // Wait for it to start + if(!process1.waitForStarted()) + return; + + + // To be fair: you only need to wait here for a bit with shutdown, + // but I will still leave the rest here for a generic solution + while ((retval = process2.waitForFinished())) + { + buffer.append(process2.readAll()); + } + + + process1.terminate(); + process2.terminate(); + + process1.waitForFinished(100); + process2.waitForFinished(100); + + process1.deleteLater(); + process2.deleteLater(); + + buffer.clear(); +} + +void SThreadImageSave::SetExecuteDetect(bool bDetect) +{ + if(bDetect==true) + { + m_nCurrentState = (m_nCurrentState | 0x10); + } + else + { + m_nCurrentState = (m_nCurrentState & ~0x10); + } +} diff --git a/sthreadimagesave.h b/sthreadimagesave.h new file mode 100644 index 0000000..cf248e9 --- /dev/null +++ b/sthreadimagesave.h @@ -0,0 +1,190 @@ +#ifndef STHREADIMAGESAVE_H +#define STHREADIMAGESAVE_H + +#include +#include +#include +#include + +#include "qsthread.h" + +#include "common.h" + +#include "sdcmworklist.h" + +#ifdef _SYOLOV5 +#include "syolov5.h" +#endif + +#include + +#include + +#include "sdatabase.h" +using namespace SUTIL; + +#include "scurl.h" + + + + +class SThreadImageSave : public QSThread +{ + Q_OBJECT +public: + explicit SThreadImageSave(); + + virtual ~SThreadImageSave(); + + virtual void InnerRun(); + + virtual void Init(); + + virtual void OpenDatabase(); + + CAPTURE_IMAGE* SetImageCapture(uint8_t* pImage, int nWidth, int nHeight); + CAPTURE_IMAGE* SetVideoCapture(uint8_t* pImage, int nWidth, int nHeight); + + + + void SendImage(vector listFile); + + void LoadHistoryImage(); + + //vector* GetWorklistData(); + vector* GetWorklistDump(); + + + + void MissCapture(); + void ClearMissCapture(); + + void SaveCaptureImage(); + void SaveCaptureImageToFile(); + void ExitCapture(); + + void StopLoadImage(); + + void AddCaptureSaveToFile(CAPTURE_IMAGE* pCaptureImage); + void ClearCaptureSaveToFile(); + + void SetImageDetect(uint8_t* pImage, int nWidth, int nHeight); + + void ExportUSB(); + void ExportUSB_mp4(); + void ExportNetworkDirectory(); + + void CleanStorage(); + + + void CheckAndCreateDir(QString strDir); + + void CancelLoad(); + + void LoadAcquisitionFromHistory(); + + QString GetFindImageWithMovieFile(const QString strMovieFile); + + void SetListImageWithStudy(const QList list); + void SetListImageWithStudyASC(const QList list); + + void SetSchduledDeleteStudyDateList(const QStringList& list); + + void USBBackup(); + + bool IsExecuteBackup(); + void SetExecuteBackup(bool bBackup); + + void SetExecuteDetect(bool bDetect); + + void MountUSBBackup(); + void UmountUSBBackup(); + + void USBBackupInner(); + +signals: + void ViewDialogMissCapture(); + void UpdateSendFailed(); + void captureImage(CAPTURE_IMAGE* pCaptureImage); + void captureVideo(CAPTURE_IMAGE* pCaptureImage); + + void SetSendProgress(int nProgress, int nTotal); + + void SetImageLoadInfo(int nLoad, int nTotal, ImageSelect* pImageSelect); + + void SetProgressExportFile(int nProgress, int nTotal); + void SetProgressExportPercent(quint64 nProgress, quint64 nTotal); + void SetProgressSync(bool bComplete); + + void ImageLoadComplete(); + + void CompleteAcquisitionFromHistory(); + + void LoadInfoAcquisitionFromHistory(int nCurrent, int nTotal); + + void SetExportComplete(); + void SetExportInit(); + + void CompleteCleanStorage(); + + + + + + + +public slots: + void StartExport(int nType); + void StopExport(); + + void MissCaptureBeep(); + + void SetProgressExportPercentSlot(quint64 nCurrent, quint64 nTotal); + +protected: + bool m_bDeferredInitMainWidget; + SCURL* m_pCURL; + + bool m_bErrorSamba; + QMutex m_LockSendList; + QTimer m_TimerMissBeep; + QMutex m_LockImageSaveToFile; + QMutex m_LockExport; + int m_nMissCount; + bool m_bMissCapture; + bool m_bCancelLoad; + bool m_bExport; + int m_nExportType; + vector m_ListSendFile; + vector m_ListSendFileWait; + int m_nDetectOffsetX; + int m_nDetectOffsetY; + int m_nDetectWidth; + int m_nDetectHeight; + bool m_bDetectReady; + uint8_t* m_pImageDetect; + uint8_t* m_pImageDetectSrc; + QMutex m_LockDetect; + QImage* m_pImageTest; +#ifdef _SYOLOV5 + SYolov5* m_pDetectObject; +#endif + bool m_bLoadImage; + + vector* m_pWorklistData; + vector* m_pDCMDumpList; + WorklistResponseData* m_pCurrentWorklist; + + vector m_ListCaptureSaveToFile; + bool m_bSaveImage; + + //SDatabase* m_pDatabase; + + QList m_ListImageWithStudy; + QList m_ListScheduledDeleteStudyDateList; + + bool m_bExecuteUSBBackup; + +}; + +#endif // STHREADIMAGESAVE_H diff --git a/sthreadsenddicom.cpp b/sthreadsenddicom.cpp new file mode 100644 index 0000000..3237175 --- /dev/null +++ b/sthreadsenddicom.cpp @@ -0,0 +1,915 @@ +#include +#include +#include +#include +#include +#include +#include + +#include "sthreadsenddicom.h" + +#include "mainwindow.h" +#include +#include "formcapture.h" + +#include "SDCMSendImpl.h" +#include "SDCMImage.h" + +#include +#include +#include + + +SThreadSendDICOM::SThreadSendDICOM():QSThread() +{ + m_nSendPrev = 0; + + + m_pCallback = new CSCallbackSendProgress(); + + m_bExecAutoSend = false; +} + +SThreadSendDICOM::~SThreadSendDICOM() +{ + ExitThread(); +} + + + +void SThreadSendDICOM::Init() +{ + m_nCurrentState = 0; + + m_bSendFailed = false; + + m_bExitAutoSend = false; + + + + //CommonData* pCommonData = MainWindow::GetCommonData(); + //WorklistResponseData rd = pCommonData->GetCurrentWorklistData(); + //pCommonData->ReleaseCurrentWorklistData(); + +} + + +void SThreadSendDICOM::InnerRun() +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + if(pCommonData==NULL) + { + usleep(1000); + return; + } + + if(m_nCurrentState&0x20) + { + if(m_bExitAutoSend==true) + { + m_LockState.lock(); + m_nCurrentState = (m_nCurrentState & ~0x20); + m_LockState.unlock(); + m_bExitAutoSend = false; + } + else + { + if(m_TimeAutoSend.elapsed()>5000) + { + m_bExecAutoSend = true; + m_pCallback->SetExitSend(false); + AutoSend(); + m_bExecAutoSend = false; + m_TimeAutoSend.restart(); + } + } + } + + if(m_nCurrentState&0x40) + { + m_pCallback->SetExitSend(false); + SendImageList(); + } + else + { + usleep(100*1000); + } +} + + + +void SThreadSendDICOM::SetAutoSendImage() +{ + m_LockState.lock(); + //m_nCurrentState = (m_nCurrentState | 0x20); + m_ListAutoSendCompleteFile.clear(); + m_nCurrentState = 0x20; + m_TimeAutoSend.restart(); + m_LockState.unlock(); +} + +void SThreadSendDICOM::SetSendImageList(const QList listFile) +{ + int i=0; + + m_LockState.lock(); + { + + /* + for(i=0 ; iclear(); + delete pDataList; + } + m_ListSendFile.clear(); + */ + + //SDatabase::DeleteListReponse(m_ListSendFile); + m_ListSendFile.clear(); + + for(i=0 ; i listFile) +{ + m_bExecCheckSendImageList = true; + if(m_bExecAutoSend==true) + { + m_bExitAutoSend = true; + + m_pCallback->SetExitSend(true); + + while(m_bExecAutoSend==true) + { + usleep(1000*10); + } + } + + m_LockState.lock(); + { + //SDatabase::DeleteListReponse(m_ListSendFile); + m_ListSendFile.clear(); + + int i=0; + for(i=0 ; iSetExitSend(true); +} + +void SThreadSendDICOM::SetExitSendImageList() +{ + m_bExitSendImageList = true; + + m_pCallback->SetExitSend(true); +} + + +void SThreadSendDICOM::AutoSend() +{ + int i=0; + int j=0; + CommonData* pCommonData = MainWindow::GetCommonData(); + + if(m_bExitAutoSend==true) + { + m_LockState.lock(); + m_nCurrentState = (m_nCurrentState & ~0x20); + m_LockState.unlock(); + m_bExitAutoSend = false; + return; + } + + QList listSendFile; + + vector listAcquisitionNumber; + vector listAcquisitionDate; + vector listAcquisitionTime; + + vector listSendCaptureImage; + vector* pListCaptureImage = pCommonData->GetListCaptureImage(); + { + for(i=0 ; isize() ; i++) + { + CAPTURE_IMAGE* pCaptureImage = (*pListCaptureImage)[i]; + QDateTime dtCheck = QDateTime::currentDateTime(); + dtCheck = dtCheck.addSecs(-10); + + if(pCaptureImage->m_DateTimem_bSend==false && pCaptureImage->m_nType==DISPLAY_IMAGE && pCaptureImage->m_bDelete==false) + { + QString strFileLocation = pCaptureImage->m_strImageFilename; + + QFileInfo fi(strFileLocation); + if(fi.exists()==true) + { + CAPTURE_IMAGE* pSendCaptureImage = new CAPTURE_IMAGE; + + pSendCaptureImage->m_strImageFilename = strFileLocation; + pSendCaptureImage->m_DateTime = pCaptureImage->m_DateTime; + pSendCaptureImage->m_nAcquisitionNumber = pCaptureImage->m_nAcquisitionNumber; + listSendCaptureImage.push_back(pSendCaptureImage); + + } + + } + } + + } + } + pCommonData->ReleaseListCaptureImage(); + + if(listSendCaptureImage.size()==0) + { + ClearListAutoSend(listSendCaptureImage); + usleep(50*1000); + return; + } + + + WorklistResponseData rd = pCommonData->GetCurrentWorklistData(); + pCommonData->ReleaseCurrentWorklistData(); + //SetWorklistInfo(rd); + + + + vector listDCMFile; + + + map mapSendFile; + + + + + + vector listAutoSendFile; + listAutoSendFile.clear(); + + for(i=0 ; im_DateTime; + + QString strFileLocation = pCaptureImage->m_strImageFilename; + int nAcquisitionNumber = pCaptureImage->m_nAcquisitionNumber; + QString strAcquisitionDate = dtCapture.toString("yyyyMMdd"); + QString strAcquisitionTime = dtCapture.toString("HHmmss"); + + + if(nAcquisitionNumber==0 || strAcquisitionDate.size()==0 || strAcquisitionTime.size()==0) + { + //SDatabase::DeleteListReponse(listTmpSendFile); + listSendFile.clear(); + qDebug() << "nAcqusitionNumber: " << nAcquisitionNumber << ", strAcquisitionDate: " << strAcquisitionDate << ", strAcquisitionTime: " << strAcquisitionTime; + usleep(100); + ClearListAutoSend(listSendCaptureImage); + return; + } + + QFile fileCheck(strFileLocation); + if(fileCheck.exists()==true) + { + qint64 nFileSize = fileCheck.size(); + //BMP File size is just 6220854 + if(nFileSize>850 && nFileSize<7230854) + { + listAutoSendFile.push_back(strFileLocation); + listAcquisitionNumber.push_back(nAcquisitionNumber); + listAcquisitionDate.push_back(strAcquisitionDate); + listAcquisitionTime.push_back(strAcquisitionTime); + } + } + } + + //usleep(500*1000); + if(m_bExitAutoSend==true) + { + m_LockState.lock(); + m_nCurrentState = (m_nCurrentState & ~0x20); + + //SDatabase::DeleteListReponse(listTmpSendFile); + listSendFile.clear(); + + listAutoSendFile.clear(); + listAcquisitionNumber.clear(); + listAcquisitionDate.clear(); + listAcquisitionTime.clear(); + + m_bExitAutoSend = false; + + m_LockState.unlock(); + + ClearListAutoSend(listSendCaptureImage); + return; + } + + //SDatabase::DeleteListReponse(listTmpSendFile); + listSendFile.clear(); + + + + + for(i=0 ; iGetTransferSyntax()==0) + { + pImage->SetTransferSyntax(EXS_LittleEndianExplicit); + } + else + { + pImage->SetTransferSyntax(EXS_JPEGProcess14SV1); + } + + if(rd.m_Series.nSeriesNumber==2) + { + rd.m_Series.nSeriesNumber = 1; + } + + int nWriteError = pImage->WriteDCM(strFile, strTmpDCMImage, &rd, 1 /* AUTO SEND SERIES NUMBER ALWYAS 1 */, rd.m_Image.nImageNumber, false, ""); + + if(nWriteError<0) + { + //WRITE_FUNCTION_LOG_PARAM("Error Write DCM\n"); + } + else + { + //if(pImage->LoadDCMFile(strTmpDCMImage.toStdString().c_str())>=0) + { + mapSendFile.insert(map::value_type(strTmpDCMImage, strFile)); + listDCMFile.push_back(strTmpDCMImage); + //pSend->AddImageFilename(strTmpDCMImage.toStdString().c_str()); + } + //else + { + //WRITE_FUNCTION_LOG_PARAM("Error Check Load DCM Files\n"); + } + + } + + delete pImage; + + if(m_bExitAutoSend==true) + { + break; + } + } + listAcquisitionNumber.clear(); + listAcquisitionDate.clear(); + listAcquisitionTime.clear(); + + if(m_bExitAutoSend==true) + { + m_LockState.lock(); + m_nCurrentState = (m_nCurrentState & ~0x20); + m_LockState.unlock(); + + listAutoSendFile.clear(); + + m_bExitAutoSend = false; + + for(i=0 ; i listSendCompleteFile; + vector listSendFail; + + bool bErrorSend = false; + + + + //CSCallbackSendProgress* pCallback = new CSCallbackSendProgress(true); + m_pCallback->SetExecBackground(true); + CSDCMSendImpl* pSend = new CSDCMSendImpl; + SDCM_SERVER_INFO* pServerInfo = pCommonData->GetServerStorageInfo(); + pSend->SetServerInfo(pServerInfo->m_strServer_AETitle, pServerInfo->m_strClient_AETitle, pServerInfo->m_strServer_IP, pServerInfo->m_nServer_Port); + pCommonData->ReleaseServerStorageInfo(); + + int nTotalSend = listDCMFile.size(); + + m_pCallback->Clear(); + m_pCallback->SetTotalCount(nTotalSend); + + if(listDCMFile.size()>0) + { + pSend->ClearFileList(); + for(i=0 ; iAddImageFilename(strSendDCMFile.toStdString().c_str()); + } + + pSend->SetCurrentFilenameList(1); + + int nTransferSyntax = EXS_LittleEndianExplicit; + if(pCommonData->GetTransferSyntax()==1) + { + nTransferSyntax = EXS_JPEGProcess14SV1; + } + listSendCompleteFile = pSend->Send(m_pCallback, -1, 10, (E_TransferSyntax) nTransferSyntax); + + if(listDCMFile.size()!=listSendCompleteFile.size()) + { + m_bSendFailed = true; + } + + for(i=0 ; i::iterator it = mapSendFile.find(strSendCheck); + QString strImageFile = it->second; + if(strImageFile==strFileCheck) + { + bSendCheck = true; + break; + } + } + + if(bSendCheck==false) + { + listSendFail.push_back(strFileCheck); + } + } + + if(listSendFail.size()>0) + { + for(i=0 ; i0) + { + for(i=0 ; i::iterator it = mapSendFile.find(strSendFile); + QString strImageFile = it->second; + { + m_ListAutoSendCompleteFile.push_back(strImageFile); + + pListCaptureImage = pCommonData->GetListCaptureImage(); + { + for(j=0 ; jsize() ; j++) + { + CAPTURE_IMAGE* pCaptureImage = (*pListCaptureImage)[j]; + if(pCaptureImage->m_strImageFilename==strImageFile) + { + pCaptureImage->m_bSend = true; + break; + } + } + } + pCommonData->ReleaseListCaptureImage(); + } + + + + + } + } + else + { + m_bSendFailed = true; + } + + for(i=0 ; iClear(); + + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + CommonData* pCommonData = MainWindow::GetCommonData(); + + + + int nCurrentWidgetID = pMainWindow->GetCurrentWidgetID(); + //CSCallbackSendProgress* pCallback = new CSCallbackSendProgress(false); + m_pCallback->SetExecBackground(false); + CSDCMSendImpl* pSend = new CSDCMSendImpl; + WorklistResponseData rd; + SDCM_SERVER_INFO* pServerInfo = pCommonData->GetServerStorageInfo(); + pSend->SetServerInfo(pServerInfo->m_strServer_AETitle, pServerInfo->m_strClient_AETitle, pServerInfo->m_strServer_IP, pServerInfo->m_nServer_Port); + pCommonData->ReleaseServerStorageInfo(); + + vector listDCMFile; + int i=0; + + map mapSendFile; + + { + QString strPath = "./"; + QStringList filter; + filter << "*.dcm"; + + QDirIterator it(strPath, filter, QDir::AllEntries | QDir::NoSymLinks | QDir::NoDotAndDotDot, QDirIterator::NoIteratorFlags); + while(it.hasNext()==true) + { + QString strDeleteFilename = it.next(); + QFile fileDelete(strDeleteFilename); + if(fileDelete.exists()==true) + { + fileDelete.remove(); + fileDelete.close(); + } + } + } + + int nTotalSend = m_ListSendFile.size(); + + + m_pCallback->SetTotalCount(nTotalSend); + + if(nCurrentWidgetID==SWIDGET_VIEWER) + { + rd = pCommonData->GetCurrentHistoryWorklistData(); + + vector* pListHistoryImage = pCommonData->GetListHistoryImage(); + + CSDCMImage* pImage = new CSDCMImage; + + for(i=0 ; isize() ; j++) + { + pHistoryImage = (*pListHistoryImage)[j]; + if(strFile==pHistoryImage->m_strFile) + { + nImageIndex = j+1; + break; + } + } + + qint64 nSeconds = QDateTime::currentSecsSinceEpoch(); + QString strTmpDCMImage = QString("tmp%1_%2.dcm").arg(pHistoryImage->m_nImageNumber).arg(nSeconds); + + rd.m_Image.strAcquisitionDate = pHistoryImage->m_strDate.toStdString().c_str(); + rd.m_Image.strAcquisitionTime = pHistoryImage->m_strTime.toStdString().c_str(); + + rd.m_Image.strContentDate = rd.m_Image.strAcquisitionDate; + rd.m_Image.strContentTime = rd.m_Image.strAcquisitionTime; + + rd.m_Image.nImageNumber = pHistoryImage->m_nImageNumber; + rd.m_Image.nInstanceNumber = pHistoryImage->m_nImageNumber; + rd.m_Image.nAcquisitionNumber = pHistoryImage->m_nImageNumber; + + rd.m_Series.nSeriesNumber = pHistoryImage->m_nSeriesNumber; + rd.m_Study.nPatientIndex = pHistoryImage->m_nIndexPatient; + rd.m_Series.nStudyIndex = pHistoryImage->m_nIndexStudy; + rd.m_Image.nSeriesIndex = pHistoryImage->m_nIndexSeries; + rd.m_Image.nImageIndex = pHistoryImage->m_nIndexImage; + + rd.m_Study.strStudyInstanceUID = pHistoryImage->m_strStudyInstanceUID.toStdString().c_str(); + rd.m_Series.strSeriesInstanceUID = pHistoryImage->m_strSeriesInstanceUID.toStdString().c_str(); + rd.m_Image.strInstanceUID = pHistoryImage->m_strImageInstanceUID.toStdString().c_str(); + + rd.m_Image.bDelete = pHistoryImage->m_bDelete; + rd.m_Image.nFileType = pHistoryImage->m_nType; + rd.m_Image.strFileLocation = strFile.toStdString().c_str(); + rd.m_Patient.strPatientAge = pHistoryImage->m_strPatientAge.toStdString().c_str(); + + //rd.m_Image.nImageNumber = pDatabase->GetAcquisitionNumber(strFile); + + + if(pCommonData->GetTransferSyntax()==0) + { + pImage->SetTransferSyntax(EXS_LittleEndianExplicit); + } + else + { + pImage->SetTransferSyntax(EXS_JPEGProcess14SV1); + } + + pImage->WriteDCM(strFile, strTmpDCMImage, &rd, pHistoryImage->m_nSeriesNumber, pHistoryImage->m_nImageNumber, false, ""); + //pImage->WriteDCM(strFile.toStdString().c_str(), pHistoryImage->m_strFile.toStdString(), pHistoryImage->m_strDate.toStdString(), pHistoryImage->m_strTime.toStdString(), &rd, 1, nImageIndex, false, ""); + + pMainWindow->UpdateMakeDICOMInfo(i+1, nTotalSend); + + + mapSendFile.insert(map::value_type(strTmpDCMImage, strFile)); + + listDCMFile.push_back(strTmpDCMImage); + + //pSend->AddImageFilename(strTmpDCMImage.toStdString().c_str()); + + } + + SAFE_DELETE(pImage); + + pCommonData->ReleaseListHistoryImage(); + } + else if(nCurrentWidgetID==SWIDGET_CAPTURE) + { + rd = pCommonData->GetCurrentWorklistData(); + pCommonData->ReleaseCurrentWorklistData(); + + CSDCMImage* pImage = new CSDCMImage; + + for(i=0 ; iGetTransferSyntax()==0) + { + pImage->SetTransferSyntax(EXS_LittleEndianExplicit); + } + else + { + pImage->SetTransferSyntax(EXS_JPEGProcess14SV1); + } + + if(rd.m_Series.nSeriesNumber!=1) + { + rd.m_Series.nSeriesNumber = 1; + } + + //pImage->WriteDCM(strFile.toStdString().c_str(), strTmpDCMImage.toStdString().c_str(), &rd, rd.m_Series.nSeriesNumber, rd.m_Image.nImageNumber, false, ""); + pImage->WriteDCM(strFileLocation, strTmpDCMImage, &rd, 1 /* Series Number Always*/ , rd.m_Image.nImageNumber, false, ""); + + usleep(10); + + + pMainWindow->UpdateMakeDICOMInfo(i+1, nTotalSend); + + mapSendFile.insert(map::value_type(strTmpDCMImage, strFileLocation)); + + listDCMFile.push_back(strTmpDCMImage); + + //pSend->AddImageFilename(strTmpDCMImage.toStdString().c_str()); + + } + + SAFE_DELETE(pImage); + + + + } + + vector listSendCompleteFile; + + bool bErrorSend = false; + + if(listDCMFile.size()>0) + { + + pSend->ClearFileList(); + for(i=0 ; iAddImageFilename(strSendDCMFile.toStdString().c_str()); + } + + pSend->SetCurrentFilenameList(1); + + int nTransferSyntax = EXS_LittleEndianExplicit; + if(pCommonData->GetTransferSyntax()==1) + { + nTransferSyntax = EXS_JPEGProcess14SV1; + } + listSendCompleteFile = pSend->Send(m_pCallback, -1, 10, (E_TransferSyntax) nTransferSyntax); + + if(listDCMFile.size()!=listSendCompleteFile.size()) + { + int a=0; + } + + if(listSendCompleteFile.size()>0) + { + for(i=0 ; i::iterator it = mapSendFile.find(strSendFile); + QString strImageFile = it->second; + + + if(nCurrentWidgetID==SWIDGET_CAPTURE) + { + m_ListImageSendCompleteFile.push_back(strImageFile); + } + else if(nCurrentWidgetID==SWIDGET_VIEWER) + { + m_ListImageSendCompleteFile.push_back(strImageFile); + } + + + + } + + if(listSendCompleteFile.size()!=listDCMFile.size()) + { + UpdateSendFailed(); + } + else + { + m_pCallback->ProgressComplete(); + } + } + else + { + UpdateSendFailed(); + } + + for(i=0 ; i=nTryMaxCount) + { + qDebug() << "Can not Lock SThreadSendDICOM!!"; + } + //m_ListSendFile.clear(); + m_nCurrentState = (m_nCurrentState & ~0x40); + + if(m_bExecCheckSendImageList==true) + { + m_bExecCheckSendImageList = false; + m_nCurrentState = (m_nCurrentState | 0x20); + } + m_LockState.unlock(); + + if(m_bExitSendImageList==true) + { + m_bExitSendImageList = false; + } + + + +} + + +bool SThreadSendDICOM::IsExitSendImageList() +{ + return m_bExitSendImageList; +} + +vector SThreadSendDICOM::GetListAutoSendCompleteFile() +{ + return m_ListAutoSendCompleteFile; +} + +vector SThreadSendDICOM::GetListImageSendCompleteFile() +{ + return m_ListImageSendCompleteFile; +} + +void SThreadSendDICOM::ClearListCompleteFile() +{ + m_ListAutoSendCompleteFile.clear(); + m_ListImageSendCompleteFile.clear(); +} + +void SThreadSendDICOM::ClearListAutoSend(vector& listAutoSend) +{ + int i=0; + for(i=0 ; i +#include +#include +#include + +#include "qsthread.h" + +#include "common.h" + +#include "sdcmworklist.h" + +#ifdef _SYOLOV5 +#include "syolov5.h" +#endif + +#include + +#include +#include +#include "sdatabase.h" +using namespace SUTIL; + +#include "cscallbacksendprogress.h" + +class SThreadSendDICOM : public QSThread +{ + Q_OBJECT +public: + explicit SThreadSendDICOM(); + + virtual ~SThreadSendDICOM(); + + virtual void InnerRun(); + + virtual void Init(); + + + + void SetAutoSendImage(); + void SetSendImageList(const QList listFile); + void SetCheckSendImageList(const QList listFile); + + void ClearListAutoSend(vector& list); + + bool IsSendFailed(); + + void SetExitAutoSend(); + void SetExitSendImageList(); + + bool IsExitSendImageList(); + + void AutoSend(); + + void SendImageList(); + + vector GetListAutoSendCompleteFile(); + vector GetListImageSendCompleteFile(); + + void ClearListCompleteFile(); +signals: + void UpdateSendFailed(); + void SetSendProgress(int nProgress, int nTotal); + +protected: + bool m_bExitAutoSend; + bool m_bExitSendImageList; + bool m_bSendFailed; + + int m_nSendPrev; + + QMutex m_LockState; + QList m_ListSendFile; + vector m_ListAutoSendCompleteFile; + vector m_ListImageSendCompleteFile; + + QElapsedTimer m_TimeAutoSend; + + + + CSCallbackSendProgress* m_pCallback; + + bool m_bExecAutoSend; + bool m_bExecCheckSendImageList; +}; + +#endif // STHREADSENDDICOM_H diff --git a/sthreadwatchport.cpp b/sthreadwatchport.cpp new file mode 100644 index 0000000..6900514 --- /dev/null +++ b/sthreadwatchport.cpp @@ -0,0 +1,173 @@ +#include "sthreadwatchport.h" + +#include "mainwindow.h" + + +#include +#include +#include /* low-level i/o */ +#include +#include +#include // strerrno +#include +#include +#include +#include +#include + +//#include +#include +#include + +SThreadWatchPort::SThreadWatchPort():QSThread() +{ + m_nDefaultMicroSleep = 1000*100; + m_nValue = 0; + m_nValuePrev = 0; +} + +SThreadWatchPort::~SThreadWatchPort() +{ + +} + +#include + +void SThreadWatchPort::InnerRun() +{ + m_nINotifyWatch = inotify_init(); + + QString strGPIO = MainWindow::GetCommonData()->GetHandswitchGPIONumber(); + +#ifdef __x86_64 + usleep(m_nDefaultMicroSleep); + return; +#else + struct pollfd myPollfd; + + myPollfd.fd = open(strGPIO.toUtf8(), O_RDONLY); //store filedescriptor in struct, open(path, read-write-permission) + + myPollfd.events = POLLIN; + + poll(&myPollfd, 1, 1); //poll(struct pollfd, max fd, timeout), timeout=-1 --> never + if(myPollfd.revents & POLLIN) + { + char buf[1024]; + memset(buf, 0, 1024); + int len = read(myPollfd.fd, buf, 1024); //mandatory to make system register interrupt as served + + if(len>0) + { + if(buf[0]=='1') + { + m_nValue = 1; + } + else + { + m_nValue = 0; + } + + if(m_nValue==1 && m_nValuePrev==0) + { + CaptureHandSwitch(); + } + + m_nValuePrev = m_nValue; + } + } + lseek(myPollfd.fd, 0, 0); //return cursor to beginning of file or next read() will return EOF + + close(myPollfd.fd); + + usleep(m_nDefaultMicroSleep); + + return; + m_nWatchGPIO271 = inotify_add_watch(m_nINotifyWatch, "/sys/class/gpio/gpio271/value", IN_ALL_EVENTS); +#endif + + memset(m_pNotifyBuffer, 0, INOTIFY_BUF_LEN); + + int nLength = 0; + nLength = read(m_nINotifyWatch, m_pNotifyBuffer, INOTIFY_BUF_LEN); + + if(nLength<0) + { + //Error + qDebug() << "Notify Error"; + return; + } + struct inotify_event* pEvent = (inotify_event*)&m_pNotifyBuffer[0]; + if(pEvent->wd==1) + { +#ifdef __x86_64 + QFile file("/home/birdhead/1.txt"); + char cData; + if(file.open(QFile::ReadOnly)==true) + { + + file.read(&cData, 1); + file.close(); + } + + if(cData=='1') + { + CaptureHandSwitch(); + } + +#else + char cRead = 0; + int nReadCount = 0; + int nGPIO_HandSwitch = 0; + + //nGPIO_HandSwitch = open("/sys/class/gpio/gpio271/value", O_RDONLY); + nGPIO_HandSwitch = open(strGPIO.toUtf8(), O_RDONLY); + + if(nGPIO_HandSwitch==-1) + { + qDebug() << "271 Open Failed"; + } + else + { + //qDebug() << "271 Open success"; + + nReadCount = read(nGPIO_HandSwitch, &cRead, sizeof(char)); + + if(nReadCount>0) + { + //qDebug() << cRead; + if(cRead=='1') + { + CaptureHandSwitch(); + } + } + + close(nGPIO_HandSwitch); + } +#endif + } + + close(m_nWatchGPIO271); + close(m_nINotifyWatch); +} + + +void SThreadWatchPort::Init() +{ + + + + +} + +void SThreadWatchPort::ExitThread() +{ + + m_bStop = true; + + while(m_bRunning==true) + { + usleep(1000*10); + } + + +} diff --git a/sthreadwatchport.h b/sthreadwatchport.h new file mode 100644 index 0000000..40ca8ad --- /dev/null +++ b/sthreadwatchport.h @@ -0,0 +1,52 @@ +#ifndef STHREADWATCHPORT_H +#define STHREADWATCHPORT_H + +#include "qsthread.h" + +#include "common.h" + +#include +#include +#include +#include +#include + +#include + + +#define EVENT_SIZE ( sizeof(struct inotify_event)) +#define INOTIFY_BUF_LEN ( 1024 * (EVENT_SIZE+16)) + +class SThreadWatchPort : public QSThread +{ + Q_OBJECT +public: + explicit SThreadWatchPort(); + + virtual ~SThreadWatchPort(); + + virtual void InnerRun(); + + virtual void Init(); + + virtual void ExitThread(); + + + + +protected: + int m_nWatchGPIO271; + int m_nINotifyWatch; + + int m_nValue; + int m_nValuePrev; + + char m_pNotifyBuffer[INOTIFY_BUF_LEN]; + + + +signals: + void CaptureHandSwitch(); +}; + +#endif // STHREADWATCHPORT_H diff --git a/sthreadwatchvideolink.cpp b/sthreadwatchvideolink.cpp new file mode 100644 index 0000000..42ddba2 --- /dev/null +++ b/sthreadwatchvideolink.cpp @@ -0,0 +1,730 @@ +#include "sthreadwatchvideolink.h" + +#include +#include +#include /* low-level i/o */ +#include +#include +#include // strerrno +#include +#include +#include +#include +#include + +//#include +#include +#include + +#include "mainwindow.h" +#include "commondata.h" + +/* + * The 24-bit IEEE Registration Identifier for the HDMI-LLC Vendor + * Specific Data Block. + */ +#define HDMI_VSDB_EXT_TAG 0x000c03 +/* + * The 24-bit IEEE Registration Identifier for the HDMI-Forum Vendor + * Specific Data Block. + */ +#define HF_VSDB_EXT_TAG 0xc45dd8 + +#define VID_CAP_EXT_TAG 0 +#define COLORIMETRY_EXT_TAG 5 +#define HDR_MD_EXT_TAG 6 + +#define VSDB_TAG 3 +#define SPEAKER_TAG 4 +#define EXTENDED_TAG 7 + +enum format { + HEX, + RAW, + CARRAY +}; + +static struct v4l2_edid sedid; +static struct v4l2_edid info_edid; +static enum format gformat; +static enum format sformat; +static unsigned clear_pad; +static long phys_addr = -1; + +static __u8 toggle_cta861_hdr_flags; +#define CTA861_HDR_UNDERSCAN (1 << 6) +#define CTA861_HDR_AUDIO (1 << 6) +#define CTA861_HDR_YCBCR444 (1 << 5) +#define CTA861_HDR_YCBCR422 (1 << 4) + +static __u8 toggle_speaker1_flags; +#define SPEAKER1_FL_FR (1 << 0) +#define SPEAKER1_LFE (1 << 1) +#define SPEAKER1_FC (1 << 2) +#define SPEAKER1_BL_BR (1 << 3) +#define SPEAKER1_BC (1 << 4) +#define SPEAKER1_FLC_FRC (1 << 5) +#define SPEAKER1_RLC_RRC (1 << 6) +#define SPEAKER1_FLW_FRW (1 << 7) + +static __u8 toggle_speaker2_flags; +#define SPEAKER2_TPFL_TPFR (1 << 0) +#define SPEAKER2_TPC (1 << 1) +#define SPEAKER2_TPFC (1 << 2) +#define SPEAKER2_LS_RS (1 << 3) +#define SPEAKER2_LFE2 (1 << 4) +#define SPEAKER2_TPBC (1 << 5) +#define SPEAKER2_SIL_SIR (1 << 6) +#define SPEAKER2_TPSIL_TPSIR (1 << 7) + +static __u8 toggle_speaker3_flags; +#define SPEAKER3_TPBL_TPBR (1 << 0) +#define SPEAKER3_BTFC (1 << 1) +#define SPEAKER3_BTFL_BTFR (1 << 2) +#define SPEAKER3_TPLS_TPRS (1 << 3) + +static __u8 toggle_hdmi_vsdb_dc_flags; +#define HDMI_VSDB_Y444_BIT (1 << 3) +#define HDMI_VSDB_30_BIT (1 << 4) +#define HDMI_VSDB_36_BIT (1 << 5) +#define HDMI_VSDB_48_BIT (1 << 6) +static __u8 toggle_hdmi_vsdb_cnc_flags; +#define HDMI_VSDB_GRAPHICS (1 << 0) +#define HDMI_VSDB_PHOTO (1 << 1) +#define HDMI_VSDB_CINEMA (1 << 2) +#define HDMI_VSDB_GAME (1 << 3) +#define HDMI_VSDB_I_LATENCY (1 << 6) +#define HDMI_VSDB_LATENCY (1 << 7) + +static __u8 toggle_hf_vsdb_flags; +#define HF_VSDB_SCSD_PRESENT (1 << 7) + +static int mod_s_pt = -1; +static int mod_s_it = -1; +static int mod_s_ce = -1; +static __u8 toggle_vid_cap_flags; +#define VID_CAP_QS (1 << 6) +#define VID_CAP_QY (1 << 7) + +static __u8 toggle_colorimetry_flags1; +#define COLORIMETRY_XVYCC601 (1 << 0) +#define COLORIMETRY_XVYCC709 (1 << 1) +#define COLORIMETRY_SYCC (1 << 2) +#define COLORIMETRY_ADOBEYCC (1 << 3) +#define COLORIMETRY_ADOBERGB (1 << 4) +#define COLORIMETRY_BT2020CYCC (1 << 5) +#define COLORIMETRY_BT2020YCC (1 << 6) +#define COLORIMETRY_BT2020RGB (1 << 7) + +static __u8 toggle_colorimetry_flags2; +#define COLORIMETRY_DCIP3 (1 << 0) + +static __u8 toggle_hdr_md_flags; +#define HDR_MD_SDR (1 << 0) +#define HDR_MD_HDR (1 << 1) +#define HDR_MD_SMPTE_2084 (1 << 2) +#define HDR_MD_HLG (1 << 3) + +static void edid_add_block(struct v4l2_edid *e) +{ + e->blocks++; + if (e->blocks > 256) { + fprintf(stderr, "edid file error: too long\n"); + free(e->edid); + e->edid = NULL; + exit(1); + } + e->edid = (unsigned char *)realloc(e->edid, e->blocks * 128); +} + +static void read_edid_file(FILE *f, struct v4l2_edid *e) +{ + char value[3] = { 0 }; + unsigned i = 0; + int c; + + fseek(f, SEEK_SET, 0); + e->edid = NULL; + e->blocks = 0; + + while ((c = fgetc(f)) != EOF) { + if (sformat == RAW) { + if (i % 256 == 0) + edid_add_block(e); + e->edid[i / 2] = c; + i += 2; + continue; + } + /* Handle '0x' prefix */ + if ((i & 1) && value[0] == '0' && (c == 'x' || c == 'X')) + i--; + if (!isxdigit(c)) + continue; + if (i & 0x01) { + value[1] = c; + if (i % 256 == 1) + edid_add_block(e); + e->edid[i / 2] = strtoul(value, 0, 16); + } else { + value[0] = c; + } + i++; + } +} + +static unsigned char crc_calc(const unsigned char *b) +{ + unsigned char sum = 0; + int i; + + for (i = 0; i < 127; i++) + sum += b[i]; + return 256 - sum; +} + +static bool crc_ok(const unsigned char *b) +{ + return crc_calc(b) == b[127]; +} + +static void fix_edid(struct v4l2_edid *e) +{ + for (unsigned b = 0; b < e->blocks; b++) { + unsigned char *buf = e->edid + 128 * b; + + if (!crc_ok(buf)) + buf[127] = crc_calc(buf); + } +} + +static bool verify_edid(struct v4l2_edid *e) +{ + bool valid = true; + + for (unsigned b = 0; b < e->blocks; b++) { + const unsigned char *buf = e->edid + 128 * b; + + if (!crc_ok(buf)) { + fprintf(stderr, "Block %u has a checksum error (should be 0x%02x)\n", + b, crc_calc(buf)); + valid = false; + } + } + return valid; +} + +static int get_edid_tag_location(const unsigned char *edid, unsigned size, + unsigned char want_tag, __u32 ext_tag) +{ + unsigned char d; + + if (size < 256) + return -1; + + if (edid[0x7e] != 1 || edid[0x80] != 0x02 || edid[0x81] != 0x03) + return -1; + + /* search tag */ + d = edid[0x82] & 0x7f; + if (d <= 4) + return -1; + + int i = 0x84; + int end = 0x80 + d; + + do { + unsigned char tag = edid[i] >> 5; + unsigned char len = edid[i] & 0x1f; + + if (tag != want_tag || i + len > end) { + i += len + 1; + continue; + } + + /* + * Tag 3 (Vendor-Specific Data Block) has + * a 24 bit IEEE identifier. + */ + if (tag == VSDB_TAG && len >= 3 && + edid[i + 1] == (ext_tag & 0xff) && + edid[i + 2] == ((ext_tag >> 8) & 0xff) && + edid[i + 3] == ((ext_tag >> 16) & 0xff)) + return i; + /* + * Tag 7 has an extended tag, others (0-2, 4-6) + * have no identifiers. + */ + if ((tag < EXTENDED_TAG && tag != VSDB_TAG) || + (tag == EXTENDED_TAG && len >= 1 && edid[i + 1] == ext_tag)) + return i; + i += len + 1; + } while (i < end); + return -1; +} + +static int get_edid_cta861_hdr_location(const unsigned char *edid, unsigned size) +{ + if (size < 256) + return -1; + + if (edid[0x7e] != 1 || edid[0x80] != 0x02 || edid[0x81] != 0x03) + return -1; + + return 0x83; +} + +static int get_edid_spa_location(const unsigned char *edid, unsigned size) +{ + int loc = get_edid_tag_location(edid, size, VSDB_TAG, HDMI_VSDB_EXT_TAG); + + if (loc < 0) + return loc; + + return (edid[loc] & 0x1f) >= 5 ? loc + 4 : -1; +} + +static int get_edid_hdmi_vsdb_location(const unsigned char *edid, unsigned size) +{ + int loc = get_edid_tag_location(edid, size, VSDB_TAG, HDMI_VSDB_EXT_TAG); + + if (loc < 0) + return loc; + + return (edid[loc] & 0x1f) >= 5 ? loc : -1; +} + +static int get_edid_hf_vsdb_location(const unsigned char *edid, unsigned size) +{ + int loc = get_edid_tag_location(edid, size, VSDB_TAG, HF_VSDB_EXT_TAG); + + if (loc < 0) + return loc; + + return (edid[loc] & 0x1f) >= 6 ? loc + 5 : -1; +} + +static int get_edid_speaker_location(const unsigned char *edid, unsigned size) +{ + int loc = get_edid_tag_location(edid, size, SPEAKER_TAG, 0); + + if (loc < 0) + return loc; + + return (edid[loc] & 0x1f) >= 3 ? loc + 1 : -1; +} + +static int get_edid_vid_cap_location(const unsigned char *edid, unsigned size) +{ + int loc = get_edid_tag_location(edid, size, EXTENDED_TAG, VID_CAP_EXT_TAG); + + if (loc < 0) + return loc; + + return (edid[loc] & 0x1f) >= 2 ? loc + 2 : -1; +} + +static int get_edid_colorimetry_location(const unsigned char *edid, unsigned size) +{ + int loc = get_edid_tag_location(edid, size, EXTENDED_TAG, COLORIMETRY_EXT_TAG); + + if (loc < 0) + return loc; + + return (edid[loc] & 0x1f) >= 3 ? loc + 2 : -1; +} + +static int get_edid_hdr_md_location(const unsigned char *edid, unsigned size) +{ + int loc = get_edid_tag_location(edid, size, EXTENDED_TAG, HDR_MD_EXT_TAG); + + if (loc < 0) + return loc; + + return (edid[loc] & 0x1f) >= 3 ? loc + 2 : -1; +} + +static void set_edid_phys_addr(unsigned char *edid, unsigned size, unsigned short phys_addr) +{ + int loc = get_edid_spa_location(edid, size); + unsigned char sum = 0; + int i; + + if (loc < 0) + return; + edid[loc] = phys_addr >> 8; + edid[loc + 1] = phys_addr & 0xff; + loc &= ~0x7f; + + for (i = loc; i < loc + 127; i++) + sum += edid[i]; + edid[i] = 256 - sum; +} + +static unsigned short get_edid_phys_addr(const unsigned char *edid, unsigned size) +{ + int loc = get_edid_spa_location(edid, size); + + if (loc < 0) + return 0xffff; + return (edid[loc] << 8) | edid[loc + 1]; +} + +static unsigned short parse_phys_addr(const char *value) +{ + unsigned p1, p2, p3, p4; + + if (!strchr(value, '.')) + return strtoul(value, NULL, 0); + if (sscanf(value, "%x.%x.%x.%x", &p1, &p2, &p3, &p4) != 4) { + fprintf(stderr, "Expected a physical address of the form x.x.x.x\n"); + return 0xffff; + } + if (p1 > 0xf || p2 > 0xf || p3 > 0xf || p4 > 0xf) { + fprintf(stderr, "Physical address components should never be larger than 0xf\n"); + return 0xffff; + } + return (p1 << 12) | (p2 << 8) | (p3 << 4) | p4; +} + + + +SThreadWatchVideoLink::SThreadWatchVideoLink():QSThread() +{ + m_nCurrentState = 0; + + FILE *fin = NULL; + bool must_fix_edid = true; + + int loc = 0; + fin = fopen("/home/birdhead/test.edid", "r"); + + if (fin) { + read_edid_file(fin, &sedid); + if (sedid.blocks == 0) { + //Error!!!! + } + } + if (toggle_cta861_hdr_flags || phys_addr >= 0) { + loc = get_edid_cta861_hdr_location(sedid.edid, sedid.blocks * 128); + if (loc >= 0) { + sedid.edid[loc] ^= toggle_cta861_hdr_flags; + if (phys_addr >= 0) + set_edid_phys_addr(sedid.edid, sedid.blocks * 128, phys_addr); + must_fix_edid = true; + } + } + if (toggle_speaker1_flags || toggle_speaker2_flags || toggle_speaker3_flags) { + loc = get_edid_speaker_location(sedid.edid, sedid.blocks * 128); + if (loc >= 0) { + sedid.edid[loc] ^= toggle_speaker1_flags; + sedid.edid[loc + 1] ^= toggle_speaker2_flags; + sedid.edid[loc + 2] ^= toggle_speaker3_flags; + must_fix_edid = true; + } + } + if (toggle_hdmi_vsdb_dc_flags || toggle_hdmi_vsdb_cnc_flags) { + loc = get_edid_hdmi_vsdb_location(sedid.edid, sedid.blocks * 128); + + if (loc >= 0) { + __u8 len = sedid.edid[loc] & 0x1f; + + if (len >= 6) { + sedid.edid[loc + 6] ^= toggle_hdmi_vsdb_dc_flags; + must_fix_edid = true; + } + if (len >= 8) { + sedid.edid[loc + 8] ^= toggle_hdmi_vsdb_cnc_flags; + must_fix_edid = true; + } + } + } + if (toggle_hf_vsdb_flags) { + loc = get_edid_hf_vsdb_location(sedid.edid, sedid.blocks * 128); + if (loc >= 0) { + sedid.edid[loc + 1] ^= toggle_hf_vsdb_flags; + must_fix_edid = true; + } + } + if (toggle_vid_cap_flags || mod_s_pt >= 0 || + mod_s_ce >= 0 || mod_s_it >= 0) { + loc = get_edid_vid_cap_location(sedid.edid, sedid.blocks * 128); + if (loc >= 0) { + sedid.edid[loc] ^= toggle_vid_cap_flags; + if (mod_s_ce >= 0) { + sedid.edid[loc] &= 0xfc; + sedid.edid[loc] |= mod_s_ce << 0; + } + if (mod_s_it >= 0) { + sedid.edid[loc] &= 0xf3; + sedid.edid[loc] |= mod_s_it << 2; + } + if (mod_s_pt >= 0) { + sedid.edid[loc] &= 0xcf; + sedid.edid[loc] |= mod_s_pt << 4; + } + must_fix_edid = true; + } + } + if (toggle_colorimetry_flags1 || toggle_colorimetry_flags2) { + loc = get_edid_colorimetry_location(sedid.edid, sedid.blocks * 128); + if (loc >= 0) { + sedid.edid[loc] ^= toggle_colorimetry_flags1; + sedid.edid[loc + 1] ^= toggle_colorimetry_flags2; + must_fix_edid = true; + } + } + if (toggle_hdr_md_flags) { + loc = get_edid_hdr_md_location(sedid.edid, sedid.blocks * 128); + if (loc >= 0) { + sedid.edid[loc] ^= toggle_hdr_md_flags; + must_fix_edid = true; + } + } + if (must_fix_edid) + fix_edid(&sedid); + //print_edid_mods(&sedid); + if (verify_edid(&sedid)) + { + //doioctl(fd, VIDIOC_S_EDID, &sedid); + } + else + { + fprintf(stderr, "EDID not set due to checksum errors\n"); + } + + if (fin) { + fclose(fin); + } + + +} + +SThreadWatchVideoLink::~SThreadWatchVideoLink() +{ + if (sedid.edid) { + free(sedid.edid); + sedid.edid = NULL; + } + + ExitThread(); +} + +void SThreadWatchVideoLink::Init() +{ +#ifdef _PC + m_nCurrentState = 0x00; +#else + //m_nCurrentState = 0x00; + m_nCurrentState = 0x01; +#endif + + m_TimerEDID.restart(); +} + + +void SThreadWatchVideoLink::InnerRun() +{ + if(m_nCurrentState&0x01) + { + WatchVideoConnect(); + usleep(100*1000); + } + else + { + //usleep(100*1000); + usleep(200*1000); + } +} + +int SThreadWatchVideoLink::WatchVideoConnect() +{ + int nCaptureMode = 0; + CommonData* pCommonData = MainWindow::GetCommonData(); + + if(pCommonData==NULL) + { + return -1; + } + + if(m_pThreadRTSP!=NULL) + { + nCaptureMode = m_pThreadRTSP->GetCaptureMode(); + } + std::string strDevice = "/dev/video0"; + + int fd = open_device(strDevice); + + int input = 1; + bool bConnectHDMI = false; + if (xioctl(fd, VIDIOC_G_INPUT, &input) == 0) { + struct v4l2_input vin; + + //printf("Video input set to %d", input); + vin.index = input; + if (xioctl(fd, VIDIOC_ENUMINPUT, &vin) >= 0) + { + //printf(" (%s)", vin.name); + } + //printf("\n"); + + close(fd); + + + + bool bPrevIsConnectHDMI = false; + bPrevIsConnectHDMI = pCommonData->IsConnectHDMI(); + + if(vin.status & V4L2_IN_ST_NO_SIGNAL) + { + bool bExecStop = false; + if(m_nRTSPStatus==1) + { + bExecStop = true; + + m_nRTSPStatus = 0; // Stop RTSP + } + + if(m_pThreadRTSP!=NULL) + { + if(m_pThreadRTSP->GetState()==0) + { + if(bExecStop==true) + { + //qDebug() << "StopRTSP!!!!!!!!!!!!!!!!!"; + //m_pThreadRTSP->StopRTSP(); + } + } + } + + + if(bPrevIsConnectHDMI==true) + { + //HDMICalbeConnect(false); + //pCommonData->SetConnectHDMI(false); + m_TimerEDID.restart(); + } + else + { + //HDMICalbeConnect(true); + + if(m_TimerEDID.elapsed()>= 360*1000) //360 seconds + { + //QProcess::execute("/home/birdhead/edid.sh"); + m_TimerEDID.restart(); + } + + } + + + + } + else + { + /* + bool bExecStart = false; + if(m_nRTSPStatus==0) + { + bExecStart = true; + m_nRTSPStatus = 1; //Playing + } + + if(m_pThreadRTSP!=NULL) + { + if(m_pThreadRTSP->GetState()==-1) + { + m_nCaptureMode = m_pThreadRTSP->GetCaptureMode(); + m_pThreadRTSP->ChangeState(0); + } + else if(m_pThreadRTSP->GetState()==11 || bExecStart==true) + { + m_nCaptureMode = m_pThreadRTSP->GetCaptureMode(); + m_pThreadRTSP->ChangeState(0); + } + } + */ + + + + + if(bPrevIsConnectHDMI==false) + { + //HDMICalbeConnect(true); + //pCommonData->SetConnectHDMI(true); + m_TimerEDID.restart(); + } + + bConnectHDMI = true; + + + } + } + else + { + close(fd); + } + + + m_Lock.lock(); + m_bConnectHDMI = bConnectHDMI; + m_Lock.unlock(); + + + return 0; +} + +bool SThreadWatchVideoLink::IsConnectHDMI() +{ + bool bConnectHDMI = false; + m_Lock.lock(); + bConnectHDMI = m_bConnectHDMI; + //bConnectHDMI = true; + m_Lock.unlock(); + return bConnectHDMI; +} + +int SThreadWatchVideoLink::open_device(std::string strDevice) +{ + struct stat st; + int fd = 0; + + if (-1 == stat(strDevice.c_str(), &st)) { + return -1; + } + + if (!S_ISCHR(st.st_mode)) { + return -2; + } + + fd = open(strDevice.c_str(), O_RDWR /* required */ | O_NONBLOCK, 0); + + if (-1 == fd) { + return -3; + } + + return fd; +} + +int SThreadWatchVideoLink::xioctl(int fh, unsigned long int request, void *arg) +{ + int r = 0; + + int nCount = 0; + + do { + r = ioctl(fh, request, arg); + nCount++; + } while (-1 == r && EINTR == errno && nCount<50); + + if(nCount>=50) + { + r = -1; + } + + return r; +} + + +void SThreadWatchVideoLink::SetThreadRTSP(QRTSPThread* pThread) +{ + m_pThreadRTSP = pThread; +} diff --git a/sthreadwatchvideolink.h b/sthreadwatchvideolink.h new file mode 100644 index 0000000..69a2494 --- /dev/null +++ b/sthreadwatchvideolink.h @@ -0,0 +1,55 @@ +#ifndef STHREADWATCHVIDEOLINK_H +#define STHREADWATCHVIDEOLINK_H + +#include +#include +#include +#include + +#include "qsthread.h" + +#include "common.h" + +#include + +#include + +#include "qrtspthread.h" + + +class SThreadWatchVideoLink : public QSThread +{ + Q_OBJECT +public: + explicit SThreadWatchVideoLink(); + + virtual ~SThreadWatchVideoLink(); + + virtual void InnerRun(); + + virtual void Init(); + + int WatchVideoConnect(); + int open_device(std::string strDevice); + int xioctl(int fh, unsigned long int request, void *arg); + + void SetThreadRTSP(QRTSPThread* pThread); + + bool IsConnectHDMI(); +protected: + QElapsedTimer m_TimerEDID; + + QRTSPThread* m_pThreadRTSP; + + int m_nRTSPStatus; + int m_nCaptureMode; + + bool m_bConnectHDMI; + + QMutex m_Lock; + +signals: + void HDMICalbeConnect(bool bCableConnect); +}; + +#endif // STHREADWATCHVIDEOLINK_H diff --git a/sthreadworklistsearch.cpp b/sthreadworklistsearch.cpp new file mode 100644 index 0000000..66236f1 --- /dev/null +++ b/sthreadworklistsearch.cpp @@ -0,0 +1,308 @@ +#include "sthreadworklistsearch.h" + +#include "mainwindow.h" + +#include +#include +#include +#include + +SThreadWorklistSearch::SThreadWorklistSearch():QSThread() +{ + m_pRD = new WorklistResponseData; + m_pRD->m_Patient.Init(); +} + +SThreadWorklistSearch::~SThreadWorklistSearch() +{ + ExitThread(); + SAFE_DELETE(m_pRD); +} + +void SThreadWorklistSearch::Init() +{ + m_nCurrentState = 0; + + CommonData* pCommonData = MainWindow::GetCommonData(); + WorklistResponseData rd = pCommonData->GetCurrentWorklistData(); + pCommonData->ReleaseCurrentWorklistData(); + SetWorklistInfo(rd); +} + +void SThreadWorklistSearch::InnerRun() +{ + CommonData* pCommonData = MainWindow::GetCommonData(); + if(pCommonData==NULL) + { + usleep(1000); + return; + } + + + if(m_nCurrentState&0x04) + { + bool bCheckAlive = false; + + CommonData* pCommon = MainWindow::GetCommonData(); + SDCM_SERVER_INFO* pInfo = NULL; + QString strIP; + int port; + + pInfo = pCommon->GetServerWorklistInfo(); + { + strIP = pInfo->m_strServer_IP; + port = pInfo->m_nServer_Port; + } + pCommon->ReleaseServerWorklistInfo(); + + usleep(10*1000); + + int i=0; + int nRet = 0; + + /* + for(i=0 ; i<10 && bCheckAlive==false ; i++) + { + nRet = CheckAliveWorklist(0); + if(nRet<0) + { + bCheckAlive = false; + } + else + { + bCheckAlive = true; + break; + } + usleep(300*1000); + } + + //bCheckAlive = true; + if(bCheckAlive==false) + { + MainWindow* pMainWindow = MainWindow::GetMainWindow(); + if(pMainWindow!=NULL) + { + QString strError; + if(nRet==-1) + { + strError = QString("Error(-1): gethostbyname(%1)").arg(strIP); + } + else if(nRet==-2) + { + strError = QString("Error(-2): socket(%1)").arg(strIP); + } + else if(nRet==-3) + { + strError = QString("Error(-3): rval"); + } + else if(nRet==-4) + { + strError = QString("Error(-4): getsockopt"); + } + else if(nRet==-5) + { + strError = QString("Error(-5): valopt"); + } + else if(nRet==-6) + { + strError = QString("Error(-6): IP(%1)").arg(strIP); + } + else if(nRet==-7) + { + strError = QString("Error(-7): IP(%1)").arg(strIP); + } + else if(nRet==-8) + { + strError = QString("Error(-8): F_GETFL(%1)").arg(strIP); + } + + SetDisplayError(strError); + } + + //SetWorklistProgress(nRet); + worklistUpdateComplete(); + } + else + */ + { + SetWorklistProgress(nRet); + + usleep(100*1000); + SDCMWorklist* pWorklist = pCommonData->GetWorklistClass(); + int nRet = pWorklist->Search(); + if(nRet>=0) + { + worklistUpdateComplete(); + } + else + { + worklistError(); + } + } + + m_nCurrentState = (m_nCurrentState & ~0x04); + } + + if(m_bStop==true) + { + int a=0; + } + else + { + usleep(100*1000); + } +} + +void SThreadWorklistSearch::SetWorklistInfo(WorklistResponseData& rd) +{ + m_pRD->m_Patient = rd.m_Patient; + m_pRD->m_Study = rd.m_Study; + m_pRD->m_Series = rd.m_Series; + m_pRD->m_Image = rd.m_Image; + m_pRD->m_ScheduledData = rd.m_ScheduledData; +} + + + +int SThreadWorklistSearch::CheckAliveWorklist(int nType) +{ + int isAlive = 0; + + struct hostent *h; + struct sockaddr_in servaddr; + + int sd, rval; + int port = 105; + //port = 104; + + CommonData* pCommon = MainWindow::GetCommonData(); + SDCM_SERVER_INFO* pInfo = NULL; + + if(nType==0) + { + pInfo = pCommon->GetServerWorklistInfo(); + } + else if(nType==1) + { + pInfo = pCommon->GetServerStorageInfo(); + } + std::string strIP = pInfo->m_strServer_IP.toStdString().c_str(); + port = pInfo->m_nServer_Port; + + if(nType==0) + { + pCommon->ReleaseServerWorklistInfo(); + } + else if(nType==1) + { + pCommon->ReleaseServerStorageInfo(); + } + + + h=gethostbyname(strIP.c_str()); + if (h == NULL) { + return -1; + } + // std::cout << inet_ntoa(*((struct in_addr *)h->h_addr)) << std::endl; + + sd = socket(AF_INET, SOCK_STREAM, 0); + if (sd == -1) { + return -2; + } + + memset(&servaddr, 0, sizeof(servaddr)); + servaddr.sin_family = AF_INET; + servaddr.sin_port = htons(port); + + + memcpy(&servaddr.sin_addr, h -> h_addr, h -> h_length); + + int nStatus = fcntl(sd, F_SETFL, fcntl(sd, F_GETFL, 0) | O_NONBLOCK); + + nStatus |= O_NONBLOCK; + + nStatus = fcntl(sd, F_SETFL, nStatus); + + //rval = ::bind(sd, (const sockaddr*)&servaddr, sizeof(servaddr)); + rval = ::connect(sd, (struct sockaddr *) &servaddr, sizeof(servaddr)); + + fd_set myset; + struct timeval tv; + int valopt; + socklen_t lon; + + if (rval < 0) { + if (errno == EINPROGRESS) { + fprintf(stderr, "EINPROGRESS in connect() - selecting\n"); + do { + tv.tv_sec = 1; + tv.tv_usec = 0; + FD_ZERO(&myset); + FD_SET(sd, &myset); + rval = select(sd+1, NULL, &myset, NULL, &tv); + if (rval < 0 && errno != EINTR) { + isAlive = -3; + } + else if (rval > 0) { + // Socket selected for write + lon = sizeof(int); + int nRet = getsockopt(sd, SOL_SOCKET, SO_ERROR, (void*)(&valopt), &lon); + if ( nRet < 0) { + isAlive = -4; + } + // Check the value returned... + + if (valopt) { + isAlive = -5; + } + break; + } + else { + isAlive = -6; + break; + + } + } while (isAlive==0); + } + else { + isAlive = -7; + } + } + + if(isAlive>=0) + { + // Set to blocking mode again... + nStatus = fcntl(sd, F_GETFL, NULL); + if( nStatus < 0) + { + isAlive = -7; + } + else + { + nStatus &= (~O_NONBLOCK); + + if( fcntl(sd, F_SETFL, nStatus) < 0) + { + isAlive = -8; + } + if (rval > 0 && isAlive>=0) + { + isAlive = 1; + } + } + } + + if(sd>=0) + { + ::close(sd); + } + + return isAlive; +} + + +void SThreadWorklistSearch::SearchWorklist() +{ + m_nCurrentState = (m_nCurrentState | 0x04); + //m_nCurrentState = 3; +} diff --git a/sthreadworklistsearch.h b/sthreadworklistsearch.h new file mode 100644 index 0000000..e578738 --- /dev/null +++ b/sthreadworklistsearch.h @@ -0,0 +1,46 @@ +#ifndef STHREADWORKLISTSEARCH_H +#define STHREADWORKLISTSEARCH_H + +#include +#include +#include +#include + +#include "qsthread.h" + +#include "common.h" + +#include "sdcmworklist.h" + +#include +#include + +class SThreadWorklistSearch : public QSThread +{ + Q_OBJECT +public: + explicit SThreadWorklistSearch(); + + virtual ~SThreadWorklistSearch(); + + virtual void InnerRun(); + + virtual void Init(); + + void SearchWorklist(); + + void SetWorklistInfo(WorklistResponseData& rd); + int CheckAliveWorklist(int nType); +signals: + void worklistUpdateComplete(); + void worklistError(); + void SetWorklistProgress(int nProgress); + + void SetDisplayError(QString strError); + +protected: + WorklistResponseData* m_pRD; + QMutex m_LockState; +}; + +#endif // STHREADWORKLISTSEARCH_H diff --git a/sv4l2device.cpp b/sv4l2device.cpp new file mode 100644 index 0000000..6568297 --- /dev/null +++ b/sv4l2device.cpp @@ -0,0 +1,312 @@ +#include "sv4l2device.h" + +#include +#include +#include /* low-level i/o */ +#include +#include +#include // strerrno +#include +#include +#include +#include +#include + +//#include +#include +#include + +#include + +#include "mainwindow.h" +#include "commondata.h" + +#include + +int SV4L2Device::m_nDeviceID = -1; + +SV4L2Device::SV4L2Device() +{ + m_nVideoWidth = 3840; + m_nVideoHeight = 2160; + + m_nDeviceID = 0; +} + +SV4L2Device::~SV4L2Device() +{ + +} + +bool SV4L2Device::CheckDevice(QString strDevice) +{ + bool bCheck = false; + + return bCheck; +} + +int SV4L2Device::xioctl(int fh, unsigned long int request, void *arg) +{ + int r = 0; + + int nCount = 0; + + do { + r = ioctl(fh, request, arg); + nCount++; + } while (-1 == r && EINTR == errno && nCount<50); + + if(nCount>=50) + { + r = -1; + } + + return r; +} + +int SV4L2Device::open_device(QString strDevice) +{ + //m_nDeviceID = v4l2_open(strDevice.toStdString().c_str(), O_RDWR | O_NONBLOCK, 0); + + struct stat st; + int fd = 0; + + if (-1 == stat(strDevice.toStdString().c_str(), &st)) { + return -1; + } + + if (!S_ISCHR(st.st_mode)) { + return -2; + } + + fd = open(strDevice.toStdString().c_str(), O_RDWR | O_NONBLOCK, 0); + + if (-1 == fd) { + return -3; + } + + m_nDeviceID = fd; + + v4l2_format format = {0}; + format.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; + format.fmt.pix.width = m_nVideoWidth; + format.fmt.pix.height = m_nVideoHeight; + format.fmt.pix.pixelformat = V4L2_PIX_FMT_UYVY;//V4L2_PIX_FMT_YUYV //V4L2_PIX_FMT_RGB24 + format.fmt.pix.field = V4L2_FIELD_NONE; //V4L2_FIELD_NONE + xioctl(m_nDeviceID, VIDIOC_S_FMT, &format); + + memset(&m_RequestBuffer, 0, sizeof(v4l2_requestbuffers)); + m_RequestBuffer.count = 1; + m_RequestBuffer.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; + m_RequestBuffer.memory = V4L2_MEMORY_MMAP; + //xioctl(m_nDeviceID, VIDIOC_REQBUFS, &m_RequestBuffer); + ioctl(m_nDeviceID, VIDIOC_REQBUFS, &m_RequestBuffer); + + ///mapping buffers + unsigned int i; + m_pBufferLMS = (LMSBBB_buffer*) calloc(m_RequestBuffer.count, sizeof(*m_pBufferLMS)); + for (i = 0; i < m_RequestBuffer.count; i++) { + clear_memmory(&(m_Buffer)); + + (m_Buffer).type = V4L2_BUF_TYPE_VIDEO_CAPTURE; + (m_Buffer).memory = V4L2_MEMORY_MMAP; + (m_Buffer).index = i; + + xioctl(m_nDeviceID, VIDIOC_QUERYBUF, &m_Buffer); + + m_pBufferLMS[i].length = (m_Buffer).length; + printf("A buff has a len of: %i\n",m_pBufferLMS[i].length); + m_pBufferLMS[i].start = v4l2_mmap(NULL, (m_Buffer).length, PROT_READ | PROT_WRITE, MAP_SHARED, m_nDeviceID, (m_Buffer).m.offset); + + if (MAP_FAILED == m_pBufferLMS[i].start) { + perror("Can not map the m_pBufferLMS."); + exit(EXIT_FAILURE); + } + } + + for (i = 0; i < m_RequestBuffer.count; i++) { + clear_memmory(&(m_Buffer)); + (m_Buffer).type = V4L2_BUF_TYPE_VIDEO_CAPTURE; + (m_Buffer).memory = V4L2_MEMORY_MMAP; + (m_Buffer).index = i; + ioctl(m_nDeviceID,VIDIOC_QBUF, &(m_Buffer)); + } + + + + return m_nDeviceID; + + /* + struct stat st; + int fd = 0; + + if (-1 == stat(strDevice.c_str(), &st)) { + return -1; + } + + if (!S_ISCHR(st.st_mode)) { + return -2; + } + + fd = open(strDevice.c_str(), O_RDWR | O_NONBLOCK, 0); + + if (-1 == fd) { + return -3; + } + + return fd; + */ +} + + + +template +void SV4L2Device::clear_memmory(typeXX* x) +{ + memset(x, 0, sizeof(*x)); +} + + +void SV4L2Device::StreamOn() +{ + v4l2_buf_type type; + type = V4L2_BUF_TYPE_VIDEO_CAPTURE; + ioctl(m_nDeviceID, VIDIOC_STREAMON, &type); + + + int pic_count=0; + ///CAPTURE + fd_set fds; + struct timeval tv; + int r; + char out_name[256]; + FILE* fout; + + + + do + { + FD_ZERO(&fds); + FD_SET(m_nDeviceID, &fds); + + // Timeout. + tv.tv_sec = 2; + tv.tv_usec = 16; + + r = select(m_nDeviceID + 1, &fds, NULL, NULL, &tv); + } while ((r == -1 && (errno = EINTR))); + + if (r == -1) { + perror("select"); + exit(EXIT_FAILURE); + } + + int i=0; + vector listData; + + for(i=0 ; i<60 ; i++) + { + uint8_t* pData = new uint8_t[3840*2160*2]; + memcpy(pData, m_pBufferLMS[(m_Buffer).index].start, (m_Buffer).bytesused); + listData.push_back(pData); + } + + QElapsedTimer timeCheck; + + QElapsedTimer timeCheckTotal; + + timeCheck.restart(); + timeCheckTotal.restart(); + + int nReceivedCount = 0; + int nStoreCount = 0; + + + for(i=0 ; i<600 ; i++) + { + + + + clear_memmory(&(m_Buffer)); + (m_Buffer).type = V4L2_BUF_TYPE_VIDEO_CAPTURE; + (m_Buffer).memory = V4L2_MEMORY_MMAP; + //(m_Buffer).index = i%10; + + int nRetry = 0; + do{ + //xioctl(m_nDeviceID, VIDIOC_DQBUF, &(m_Buffer)); + ioctl(m_nDeviceID, VIDIOC_DQBUF, &(m_Buffer)); + nRetry++; + }while((m_Buffer).bytesused==0); + + //qDebug() << nRetry; + + ioctl(m_nDeviceID,VIDIOC_QBUF, &(m_Buffer)); + + /* + + printf("Buff index: %i\n",(m_Buffer).index); + sprintf(out_name, "image%03d_%03d_%x.ppm",pic_count, (m_Buffer).index, m_pBufferLMS[(m_Buffer).index].start); + fout = fopen(out_name, "w"); + if (!fout) { + perror("Cannot open image"); + exit(EXIT_FAILURE); + } + fprintf(fout, "P6\n%d %d 255\n",m_nVideoWidth, m_nVideoHeight); + fwrite(m_pBufferLMS[(m_Buffer).index].start, (m_Buffer).bytesused, 1, fout); + fclose(fout); + + */ + + timeCheck.restart(); + uint8_t* pData = listData[i%60]; + memcpy(pData, m_pBufferLMS[(m_Buffer).index].start, (m_Buffer).bytesused); + usleep(10); + + int nTime = timeCheck.elapsed(); + qDebug() << nTime; + + + + pic_count++; + + } + + int nTimeTotal = timeCheckTotal.elapsed(); + qDebug() << nTimeTotal; + + pic_count = 0; + for(i=0 ; i + +#include + +struct LMSBBB_buffer{ + void* start; + size_t length; +}; + +class SV4L2Device +{ +public: + SV4L2Device(); + virtual ~SV4L2Device(); + + static bool CheckDevice(QString strDevice); + + int xioctl(int fh, unsigned long int request, void *arg); + + + + int open_device(QString strDevice); + + template void clear_memmory(typeXX* x); + + void StreamOn(); + +protected: + static int m_nDeviceID; + + int m_nVideoWidth; + int m_nVideoHeight; + + v4l2_requestbuffers m_RequestBuffer; + v4l2_buffer m_Buffer; + + LMSBBB_buffer* m_pBufferLMS; +}; + +#endif // SV4L2DEVICE_H diff --git a/test.png b/test.png new file mode 100644 index 0000000000000000000000000000000000000000..fe193693d298fa37b869e6b67e60bbeffa5eb718 GIT binary patch literal 358152 zcmY(KbyQU0xA)Hg3L*-KG)PIeL$`z=B@EpqL+41tFcQ+JbPO$B($a&JzyQ)E-8mrA z_42##z3;m3tbNw3b^bZCo_Wr*_xH2EJ3>QU@d-W^J^%nu-YUsM000Z|p9>G`{!VbE z>4*ETN3Kc+FaUVk`JW5a>r(U{0O*0Y@~^eMk$bI1mDUEjET=L28_3=2GpXbs@88Qq z-|OnI=sfAp|0qk*{4w|SH1kDAt&zQz(XV9I(sFq9deSA~d3Vw}?tAJ!_fqReV{e4s z=2F(;K>GCsc5EoWcEfVuUjU&XcN293@X2D@X=-zGGu;l0FLw3Y zj1MNHsREmxvbR^yu<}?T=S|4t=m-dp05hCO| zIzShZ1#`ycWMmQ+S}yb%0A(ro4MKdU&$Z=e0_69WQbJPzJQ!$4dz{i-39rLP4;MXz z#EVK{M-<^_Z_iQWeJNdB*AK_j1rl1raLOVk{@k0F6#Dw+9s~?H z(1&1RQg$H4I?{)xx4;fCZinC4Ha5BYUvJD$0e{*9?>gpj1OF)oet;V~FSI;ZngsLK zI{A6)1gi?j0cEe|~sb7mS3luU~9t;kvG$s)0#TGa5gzo#h?CU$E^6#O_ zp35(R@r~q|kjomcr+}#KNP^Z0j4UNJl^=|l7l~cf4}2&Jl;l?sPAr3DGVs87GRl;O zXfBN8w}r5H>j^9rF4;zupEAtCGO556DRvi2L;RHqfNmf$vqA;>^MaeNp5`65B@mc5 z&#R7&*Y36AF69%mDk|!gUOgahsvvnY@>6KI^U`su-f4~o(C5~J*X>+A%>@>k?j}89 zzMh_*Qe`k6avqD$`r8)jNvF9wr~3^DY>kSW$>O3$L=n0Dov()!*s+vENkz44zJTaA zL*%_M3#~AWvqz)J5U{h?YIQYNUeV2Qx`tT@e0!&2ejW1ym2Wcpf5S{6uYHBsb^ha* zrW=s9PNNe@WV6Cd(*Lq&tnbG`RIm$Dgs;x&F}(;+i9ll0vdKwlf!)uaUM6~8Hw+ z>S9)t|8TT#C|v%@7srx_cz*;3BbqOvR{V+OJ&bLy<#_+ru#4(IiB`H;gt+(!pExCS zQyN6%&b8N7#Rphsd{)KD#(Ojn{cun6<7=o;b4)4|w#+vmJS93Je0pM)ZQ={t@Y6gZ zi%$~+CV4XMXs(?NrY>!C*(Z9maZexG9>*UJhr8ds%>ReE8y_CWhTrwV&q=b*yGCG= z$`1iI-~~n=v z6w1FeBn`8`^iK3wHpf;|uYoo(BpJ6M&&q3EqWB|%>6B++YKESddm3^OPbnOWhp3(fvyl9tFbuMPLjmQbe%yOr<|HJf%qH$oV@Cz~9)aG6g~m zqB({%dB3NcoZlrtqQ9o9u>1Aa=kBz^Byf)m!@~s^(o&tEI!|M1pJPn)ti<0^`b{>U&2QwD$t)Fr{mx$s_L-~ zzVQc^Gp7I^8$Y(pE1<)R^q<4*$;i>sih1JbY!~+TTz+TIx#NAF$yF~}@NqvjV&>nt zrWF*)vW_Jq+Vd>W>pPzLb0;!nKz}}vZ704ls*voi{u5AUx2u5-mHR(N`7D0ZeaVmk zGN&5XQhxN^2NbgrtoTavA&M*<&#%inO+CFJLW{q~LKwtXGvS`7@@bLRH31op*l8G( z2ZBN_lqHk`Crn`q&AJ)D;DlDygabK;cNyx zkOhh8^UR2ElS?9A#mIZyp^owD2wVXg6RzLeE4#=u@Sku>R&DUatGr3zmww93v8QQl zYIuICX1{Oj`=7?1kxg`#vt?7gyA41H%XC=Q!$Y&%47yv?yX*HJ8jizX0|}iU0jDPP zhvdRhQ;!ixZoaF7HRNum%iDG21-k%zqgN_+-HGN!(C≷6IYPH>j`6{0Nxjoy+aq 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ⅇ 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

NO<$S=MCXI<{`G2^23$Li!s1NiE4bmXp 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

b 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

fHMxfRf2Xb90i^2fHcCH(nrb_v?N;$ll- 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 qru)ExKExpoafm}4;t>CT;q%~ literal 0 HcmV?d00001 diff --git a/utils.h b/utils.h new file mode 100644 index 0000000..fe50d03 --- /dev/null +++ b/utils.h @@ -0,0 +1,52 @@ +#ifndef TRTX_YOLOV5_UTILS_H_ +#define TRTX_YOLOV5_UTILS_H_ + +#include +#include + +static inline cv::Mat preprocess_img(cv::Mat& img, int input_w, int input_h) { + int w, h, x, y; + float r_w = input_w / (img.cols*1.0); + float r_h = input_h / (img.rows*1.0); + if (r_h > r_w) { + w = input_w; + h = r_w * img.rows; + x = 0; + y = (input_h - h) / 2; + } else { + w = r_h * img.cols; + h = input_h; + x = (input_w - w) / 2; + y = 0; + } + cv::Mat re(h, w, CV_8UC3); + cv::resize(img, re, re.size(), 0, 0, cv::INTER_LINEAR); + cv::Mat out(input_h, input_w, CV_8UC3, cv::Scalar(128, 128, 128)); + re.copyTo(out(cv::Rect(x, y, re.cols, re.rows))); + return out; +} + +static inline int read_files_in_dir(const char *p_dir_name, std::vector &file_names) { + DIR *p_dir = opendir(p_dir_name); + if (p_dir == nullptr) { + return -1; + } + + struct dirent* p_file = nullptr; + while ((p_file = readdir(p_dir)) != nullptr) { + if (strcmp(p_file->d_name, ".") != 0 && + strcmp(p_file->d_name, "..") != 0) { + //std::string cur_file_name(p_dir_name); + //cur_file_name += "/"; + //cur_file_name += p_file->d_name; + std::string cur_file_name(p_file->d_name); + file_names.push_back(cur_file_name); + } + } + + closedir(p_dir); + return 0; +} + +#endif // TRTX_YOLOV5_UTILS_H_ + diff --git a/yololayer.cu b/yololayer.cu new file mode 100644 index 0000000..0bc9f70 --- /dev/null +++ b/yololayer.cu @@ -0,0 +1,313 @@ +#include +#include +#include +#include "yololayer.h" +#include "cuda_utils.h" + +namespace Tn +{ + template + void write(char*& buffer, const T& val) + { + *reinterpret_cast(buffer) = val; + buffer += sizeof(T); + } + + template + void read(const char*& buffer, T& val) + { + val = *reinterpret_cast(buffer); + buffer += sizeof(T); + } +} + +using namespace Yolo; + +namespace nvinfer1 +{ + YoloLayerPlugin::YoloLayerPlugin(int classCount, int netWidth, int netHeight, int maxOut, const std::vector& vYoloKernel) + { + mClassCount = classCount; + mYoloV5NetWidth = netWidth; + mYoloV5NetHeight = netHeight; + mMaxOutObject = maxOut; + mYoloKernel = vYoloKernel; + mKernelCount = vYoloKernel.size(); + + CUDA_CHECK(cudaMallocHost(&mAnchor, mKernelCount * sizeof(void*))); + size_t AnchorLen = sizeof(float)* CHECK_COUNT * 2; + for (int ii = 0; ii < mKernelCount; ii++) + { + CUDA_CHECK(cudaMalloc(&mAnchor[ii], AnchorLen)); + const auto& yolo = mYoloKernel[ii]; + CUDA_CHECK(cudaMemcpy(mAnchor[ii], yolo.anchors, AnchorLen, cudaMemcpyHostToDevice)); + } + } + YoloLayerPlugin::~YoloLayerPlugin() + { + for (int ii = 0; ii < mKernelCount; ii++) + { + CUDA_CHECK(cudaFree(mAnchor[ii])); + } + CUDA_CHECK(cudaFreeHost(mAnchor)); + } + + // create the plugin at runtime from a byte stream + YoloLayerPlugin::YoloLayerPlugin(const void* data, size_t length) + { + using namespace Tn; + const char *d = reinterpret_cast(data), *a = d; + read(d, mClassCount); + read(d, mThreadCount); + read(d, mKernelCount); + read(d, mYoloV5NetWidth); + read(d, mYoloV5NetHeight); + read(d, mMaxOutObject); + mYoloKernel.resize(mKernelCount); + auto kernelSize = mKernelCount * sizeof(YoloKernel); + memcpy(mYoloKernel.data(), d, kernelSize); + d += kernelSize; + CUDA_CHECK(cudaMallocHost(&mAnchor, mKernelCount * sizeof(void*))); + size_t AnchorLen = sizeof(float)* CHECK_COUNT * 2; + for (int ii = 0; ii < mKernelCount; ii++) + { + CUDA_CHECK(cudaMalloc(&mAnchor[ii], AnchorLen)); + const auto& yolo = mYoloKernel[ii]; + CUDA_CHECK(cudaMemcpy(mAnchor[ii], yolo.anchors, AnchorLen, cudaMemcpyHostToDevice)); + } + assert(d == a + length); + } + + void YoloLayerPlugin::serialize(void* buffer) const TRT_NOEXCEPT + { + using namespace Tn; + char* d = static_cast(buffer), *a = d; + write(d, mClassCount); + write(d, mThreadCount); + write(d, mKernelCount); + write(d, mYoloV5NetWidth); + write(d, mYoloV5NetHeight); + write(d, mMaxOutObject); + auto kernelSize = mKernelCount * sizeof(YoloKernel); + memcpy(d, mYoloKernel.data(), kernelSize); + d += kernelSize; + + assert(d == a + getSerializationSize()); + } + + size_t YoloLayerPlugin::getSerializationSize() const TRT_NOEXCEPT + { + return sizeof(mClassCount) + sizeof(mThreadCount) + sizeof(mKernelCount) + sizeof(Yolo::YoloKernel) * mYoloKernel.size() + sizeof(mYoloV5NetWidth) + sizeof(mYoloV5NetHeight) + sizeof(mMaxOutObject); + } + + int YoloLayerPlugin::initialize() TRT_NOEXCEPT + { + return 0; + } + + Dims YoloLayerPlugin::getOutputDimensions(int index, const Dims* inputs, int nbInputDims) TRT_NOEXCEPT + { + //output the result to channel + int totalsize = mMaxOutObject * sizeof(Detection) / sizeof(float); + + return Dims3(totalsize + 1, 1, 1); + } + + // Set plugin namespace + void YoloLayerPlugin::setPluginNamespace(const char* pluginNamespace) TRT_NOEXCEPT + { + mPluginNamespace = pluginNamespace; + } + + const char* YoloLayerPlugin::getPluginNamespace() const TRT_NOEXCEPT + { + return mPluginNamespace; + } + + // Return the DataType of the plugin output at the requested index + DataType YoloLayerPlugin::getOutputDataType(int index, const nvinfer1::DataType* inputTypes, int nbInputs) const TRT_NOEXCEPT + { + return DataType::kFLOAT; + } + + // Return true if output tensor is broadcast across a batch. + bool YoloLayerPlugin::isOutputBroadcastAcrossBatch(int outputIndex, const bool* inputIsBroadcasted, int nbInputs) const TRT_NOEXCEPT + { + return false; + } + + // Return true if plugin can use input that is broadcast across batch without replication. + bool YoloLayerPlugin::canBroadcastInputAcrossBatch(int inputIndex) const TRT_NOEXCEPT + { + return false; + } + + void YoloLayerPlugin::configurePlugin(const PluginTensorDesc* in, int nbInput, const PluginTensorDesc* out, int nbOutput) TRT_NOEXCEPT + { + } + + // Attach the plugin object to an execution context and grant the plugin the access to some context resource. + void YoloLayerPlugin::attachToContext(cudnnContext* cudnnContext, cublasContext* cublasContext, IGpuAllocator* gpuAllocator) TRT_NOEXCEPT + { + } + + // Detach the plugin object from its execution context. + void YoloLayerPlugin::detachFromContext() TRT_NOEXCEPT {} + + const char* YoloLayerPlugin::getPluginType() const TRT_NOEXCEPT + { + return "YoloLayer_TRT"; + } + + const char* YoloLayerPlugin::getPluginVersion() const TRT_NOEXCEPT + { + return "1"; + } + + void YoloLayerPlugin::destroy() TRT_NOEXCEPT + { + delete this; + } + + // Clone the plugin + IPluginV2IOExt* YoloLayerPlugin::clone() const TRT_NOEXCEPT + { + YoloLayerPlugin* p = new YoloLayerPlugin(mClassCount, mYoloV5NetWidth, mYoloV5NetHeight, mMaxOutObject, mYoloKernel); + p->setPluginNamespace(mPluginNamespace); + return p; + } + + __device__ float Logist(float data) { return 1.0f / (1.0f + expf(-data)); }; + + __global__ void CalDetection(const float *input, float *output, int noElements, + const int netwidth, const int netheight, int maxoutobject, int yoloWidth, int yoloHeight, const float anchors[CHECK_COUNT * 2], int classes, int outputElem) + { + + int idx = threadIdx.x + blockDim.x * blockIdx.x; + if (idx >= noElements) return; + + int total_grid = yoloWidth * yoloHeight; + int bnIdx = idx / total_grid; + idx = idx - total_grid * bnIdx; + int info_len_i = 5 + classes; + const float* curInput = input + bnIdx * (info_len_i * total_grid * CHECK_COUNT); + + for (int k = 0; k < CHECK_COUNT; ++k) { + float box_prob = Logist(curInput[idx + k * info_len_i * total_grid + 4 * total_grid]); + if (box_prob < IGNORE_THRESH) continue; + int class_id = 0; + float max_cls_prob = 0.0; + for (int i = 5; i < info_len_i; ++i) { + float p = Logist(curInput[idx + k * info_len_i * total_grid + i * total_grid]); + if (p > max_cls_prob) { + max_cls_prob = p; + class_id = i - 5; + } + } + float *res_count = output + bnIdx * outputElem; + int count = (int)atomicAdd(res_count, 1); + if (count >= maxoutobject) return; + char *data = (char*)res_count + sizeof(float) + count * sizeof(Detection); + Detection *det = (Detection*)(data); + + int row = idx / yoloWidth; + int col = idx % yoloWidth; + + //Location + // pytorch: + // y = x[i].sigmoid() + // y[..., 0:2] = (y[..., 0:2] * 2. - 0.5 + self.grid[i].to(x[i].device)) * self.stride[i] # xy + // y[..., 2:4] = (y[..., 2:4] * 2) ** 2 * self.anchor_grid[i] # wh + // X: (sigmoid(tx) + cx)/FeaturemapW * netwidth + det->bbox[0] = (col - 0.5f + 2.0f * Logist(curInput[idx + k * info_len_i * total_grid + 0 * total_grid])) * netwidth / yoloWidth; + det->bbox[1] = (row - 0.5f + 2.0f * Logist(curInput[idx + k * info_len_i * total_grid + 1 * total_grid])) * netheight / yoloHeight; + + // W: (Pw * e^tw) / FeaturemapW * netwidth + // v5: https://github.com/ultralytics/yolov5/issues/471 + det->bbox[2] = 2.0f * Logist(curInput[idx + k * info_len_i * total_grid + 2 * total_grid]); + det->bbox[2] = det->bbox[2] * det->bbox[2] * anchors[2 * k]; + det->bbox[3] = 2.0f * Logist(curInput[idx + k * info_len_i * total_grid + 3 * total_grid]); + det->bbox[3] = det->bbox[3] * det->bbox[3] * anchors[2 * k + 1]; + det->conf = box_prob * max_cls_prob; + det->class_id = class_id; + } + } + + void YoloLayerPlugin::forwardGpu(const float* const* inputs, float *output, cudaStream_t stream, int batchSize) + { + int outputElem = 1 + mMaxOutObject * sizeof(Detection) / sizeof(float); + for (int idx = 0; idx < batchSize; ++idx) { + CUDA_CHECK(cudaMemsetAsync(output + idx * outputElem, 0, sizeof(float), stream)); + } + int numElem = 0; + for (unsigned int i = 0; i < mYoloKernel.size(); ++i) { + const auto& yolo = mYoloKernel[i]; + numElem = yolo.width * yolo.height * batchSize; + if (numElem < mThreadCount) mThreadCount = numElem; + + //printf("Net: %d %d \n", mYoloV5NetWidth, mYoloV5NetHeight); + CalDetection << < (numElem + mThreadCount - 1) / mThreadCount, mThreadCount, 0, stream >> > + (inputs[i], output, numElem, mYoloV5NetWidth, mYoloV5NetHeight, mMaxOutObject, yolo.width, yolo.height, (float*)mAnchor[i], mClassCount, outputElem); + } + } + + + int YoloLayerPlugin::enqueue(int batchSize, const void* const* inputs, void* TRT_CONST_ENQUEUE* outputs, void* workspace, cudaStream_t stream) TRT_NOEXCEPT + { + forwardGpu((const float* const*)inputs, (float*)outputs[0], stream, batchSize); + return 0; + } + + PluginFieldCollection YoloPluginCreator::mFC{}; + std::vector YoloPluginCreator::mPluginAttributes; + + YoloPluginCreator::YoloPluginCreator() + { + mPluginAttributes.clear(); + + mFC.nbFields = mPluginAttributes.size(); + mFC.fields = mPluginAttributes.data(); + } + + const char* YoloPluginCreator::getPluginName() const TRT_NOEXCEPT + { + return "YoloLayer_TRT"; + } + + const char* YoloPluginCreator::getPluginVersion() const TRT_NOEXCEPT + { + return "1"; + } + + const PluginFieldCollection* YoloPluginCreator::getFieldNames() TRT_NOEXCEPT + { + return &mFC; + } + + IPluginV2IOExt* YoloPluginCreator::createPlugin(const char* name, const PluginFieldCollection* fc) TRT_NOEXCEPT + { + assert(fc->nbFields == 2); + assert(strcmp(fc->fields[0].name, "netinfo") == 0); + assert(strcmp(fc->fields[1].name, "kernels") == 0); + int *p_netinfo = (int*)(fc->fields[0].data); + int class_count = p_netinfo[0]; + int input_w = p_netinfo[1]; + int input_h = p_netinfo[2]; + int max_output_object_count = p_netinfo[3]; + std::vector kernels(fc->fields[1].length); + memcpy(&kernels[0], fc->fields[1].data, kernels.size() * sizeof(Yolo::YoloKernel)); + YoloLayerPlugin* obj = new YoloLayerPlugin(class_count, input_w, input_h, max_output_object_count, kernels); + obj->setPluginNamespace(mNamespace.c_str()); + return obj; + } + + IPluginV2IOExt* YoloPluginCreator::deserializePlugin(const char* name, const void* serialData, size_t serialLength) TRT_NOEXCEPT + { + // This object will be deleted when the network is destroyed, which will + // call YoloLayerPlugin::destroy() + YoloLayerPlugin* obj = new YoloLayerPlugin(serialData, serialLength); + obj->setPluginNamespace(mNamespace.c_str()); + return obj; + } +} + diff --git a/yololayer.h b/yololayer.h new file mode 100644 index 0000000..19a8800 --- /dev/null +++ b/yololayer.h @@ -0,0 +1,138 @@ +#ifndef _YOLO_LAYER_H +#define _YOLO_LAYER_H + +#include +#include +#include +#include "macros.h" + +namespace Yolo +{ + static constexpr int CHECK_COUNT = 3; + static constexpr float IGNORE_THRESH = 0.1f; + struct YoloKernel + { + int width; + int height; + float anchors[CHECK_COUNT * 2]; + }; + static constexpr int MAX_OUTPUT_BBOX_COUNT = 1000; + static constexpr int CLASS_NUM = 2; + static constexpr int INPUT_H = 640; // yolov5's input height and width must be divisible by 32. + static constexpr int INPUT_W = 640; + + static constexpr int LOCATIONS = 4; + struct alignas(float) Detection { + //center_x center_y w h + float bbox[LOCATIONS]; + float conf; // bbox_conf * cls_conf + float class_id; + }; +} + +namespace nvinfer1 +{ + class API YoloLayerPlugin : public IPluginV2IOExt + { + public: + YoloLayerPlugin(int classCount, int netWidth, int netHeight, int maxOut, const std::vector& vYoloKernel); + YoloLayerPlugin(const void* data, size_t length); + ~YoloLayerPlugin(); + + int getNbOutputs() const TRT_NOEXCEPT override + { + return 1; + } + + Dims getOutputDimensions(int index, const Dims* inputs, int nbInputDims) TRT_NOEXCEPT override; + + int initialize() TRT_NOEXCEPT override; + + virtual void terminate() TRT_NOEXCEPT override {}; + + virtual size_t getWorkspaceSize(int maxBatchSize) const TRT_NOEXCEPT override { return 0; } + + virtual int enqueue(int batchSize, const void* const* inputs, void*TRT_CONST_ENQUEUE* outputs, void* workspace, cudaStream_t stream) TRT_NOEXCEPT override; + + virtual size_t getSerializationSize() const TRT_NOEXCEPT override; + + virtual void serialize(void* buffer) const TRT_NOEXCEPT override; + + bool supportsFormatCombination(int pos, const PluginTensorDesc* inOut, int nbInputs, int nbOutputs) const TRT_NOEXCEPT override { + return inOut[pos].format == TensorFormat::kLINEAR && inOut[pos].type == DataType::kFLOAT; + } + + const char* getPluginType() const TRT_NOEXCEPT override; + + const char* getPluginVersion() const TRT_NOEXCEPT override; + + void destroy() TRT_NOEXCEPT override; + + IPluginV2IOExt* clone() const TRT_NOEXCEPT override; + + void setPluginNamespace(const char* pluginNamespace) TRT_NOEXCEPT override; + + const char* getPluginNamespace() const TRT_NOEXCEPT override; + + DataType getOutputDataType(int index, const nvinfer1::DataType* inputTypes, int nbInputs) const TRT_NOEXCEPT override; + + bool isOutputBroadcastAcrossBatch(int outputIndex, const bool* inputIsBroadcasted, int nbInputs) const TRT_NOEXCEPT override; + + bool canBroadcastInputAcrossBatch(int inputIndex) const TRT_NOEXCEPT override; + + void attachToContext( + cudnnContext* cudnnContext, cublasContext* cublasContext, IGpuAllocator* gpuAllocator) TRT_NOEXCEPT override; + + void configurePlugin(const PluginTensorDesc* in, int nbInput, const PluginTensorDesc* out, int nbOutput) TRT_NOEXCEPT override; + + void detachFromContext() TRT_NOEXCEPT override; + + private: + void forwardGpu(const float* const* inputs, float *output, cudaStream_t stream, int batchSize = 1); + int mThreadCount = 256; + const char* mPluginNamespace; + int mKernelCount; + int mClassCount; + int mYoloV5NetWidth; + int mYoloV5NetHeight; + int mMaxOutObject; + std::vector mYoloKernel; + void** mAnchor; + }; + + class API YoloPluginCreator : public IPluginCreator + { + public: + YoloPluginCreator(); + + ~YoloPluginCreator() override = default; + + const char* getPluginName() const TRT_NOEXCEPT override; + + const char* getPluginVersion() const TRT_NOEXCEPT override; + + const PluginFieldCollection* getFieldNames() TRT_NOEXCEPT override; + + IPluginV2IOExt* createPlugin(const char* name, const PluginFieldCollection* fc) TRT_NOEXCEPT override; + + IPluginV2IOExt* deserializePlugin(const char* name, const void* serialData, size_t serialLength) TRT_NOEXCEPT override; + + void setPluginNamespace(const char* libNamespace) TRT_NOEXCEPT override + { + mNamespace = libNamespace; + } + + const char* getPluginNamespace() const TRT_NOEXCEPT override + { + return mNamespace.c_str(); + } + + private: + std::string mNamespace; + static PluginFieldCollection mFC; + static std::vector mPluginAttributes; + }; + REGISTER_TENSORRT_PLUGIN(YoloPluginCreator); +}; + +#endif // _YOLO_LAYER_H diff --git a/yolov5.cpp b/yolov5.cpp new file mode 100644 index 0000000..2d86a67 --- /dev/null +++ b/yolov5.cpp @@ -0,0 +1,446 @@ +#include +#include +#include +#include "cuda_utils.h" +#include "logging.h" +#include "common.hpp" +#include "utils.h" +#include "calibrator.h" +#include "preprocess.h" + +#define USE_FP16 // set USE_INT8 or USE_FP16 or USE_FP32 +#define DEVICE 0 // GPU id +#define NMS_THRESH 0.4 +#define CONF_THRESH 0.5 +#define BATCH_SIZE 1 +#define MAX_IMAGE_INPUT_SIZE_THRESH 3000 * 3000 // ensure it exceed the maximum size in the input images ! + +// stuff we know about the network and the input/output blobs +static const int INPUT_H = Yolo::INPUT_H; +static const int INPUT_W = Yolo::INPUT_W; +static const int CLASS_NUM = Yolo::CLASS_NUM; +static const int OUTPUT_SIZE = Yolo::MAX_OUTPUT_BBOX_COUNT * sizeof(Yolo::Detection) / sizeof(float) + 1; // we assume the yololayer outputs no more than MAX_OUTPUT_BBOX_COUNT boxes that conf >= 0.1 +const char* INPUT_BLOB_NAME = "data"; +const char* OUTPUT_BLOB_NAME = "prob"; +static Logger gLogger; + +static int get_width(int x, float gw, int divisor = 8) { + return int(ceil((x * gw) / divisor)) * divisor; +} + +static int get_depth(int x, float gd) { + if (x == 1) return 1; + int r = round(x * gd); + if (x * gd - int(x * gd) == 0.5 && (int(x * gd) % 2) == 0) { + --r; + } + return std::max(r, 1); +} + +ICudaEngine* build_engine(unsigned int maxBatchSize, IBuilder* builder, IBuilderConfig* config, DataType dt, float& gd, float& gw, std::string& wts_name) { + INetworkDefinition* network = builder->createNetworkV2(0U); + + // Create input tensor of shape {3, INPUT_H, INPUT_W} with name INPUT_BLOB_NAME + ITensor* data = network->addInput(INPUT_BLOB_NAME, dt, Dims3{ 3, INPUT_H, INPUT_W }); + assert(data); + std::map weightMap = loadWeights(wts_name); + /* ------ yolov5 backbone------ */ + auto conv0 = convBlock(network, weightMap, *data, get_width(64, gw), 6, 2, 1, "model.0"); + assert(conv0); + auto conv1 = convBlock(network, weightMap, *conv0->getOutput(0), get_width(128, gw), 3, 2, 1, "model.1"); + auto bottleneck_CSP2 = C3(network, weightMap, *conv1->getOutput(0), get_width(128, gw), get_width(128, gw), get_depth(3, gd), true, 1, 0.5, "model.2"); + auto conv3 = convBlock(network, weightMap, *bottleneck_CSP2->getOutput(0), get_width(256, gw), 3, 2, 1, "model.3"); + auto bottleneck_csp4 = C3(network, weightMap, *conv3->getOutput(0), get_width(256, gw), get_width(256, gw), get_depth(6, gd), true, 1, 0.5, "model.4"); + auto conv5 = convBlock(network, weightMap, *bottleneck_csp4->getOutput(0), get_width(512, gw), 3, 2, 1, "model.5"); + auto bottleneck_csp6 = C3(network, weightMap, *conv5->getOutput(0), get_width(512, gw), get_width(512, gw), get_depth(9, gd), true, 1, 0.5, "model.6"); + auto conv7 = convBlock(network, weightMap, *bottleneck_csp6->getOutput(0), get_width(1024, gw), 3, 2, 1, "model.7"); + auto bottleneck_csp8 = C3(network, weightMap, *conv7->getOutput(0), get_width(1024, gw), get_width(1024, gw), get_depth(3, gd), true, 1, 0.5, "model.8"); + auto spp9 = SPPF(network, weightMap, *bottleneck_csp8->getOutput(0), get_width(1024, gw), get_width(1024, gw), 5, "model.9"); + /* ------ yolov5 head ------ */ + auto conv10 = convBlock(network, weightMap, *spp9->getOutput(0), get_width(512, gw), 1, 1, 1, "model.10"); + + auto upsample11 = network->addResize(*conv10->getOutput(0)); + assert(upsample11); + upsample11->setResizeMode(ResizeMode::kNEAREST); + upsample11->setOutputDimensions(bottleneck_csp6->getOutput(0)->getDimensions()); + + ITensor* inputTensors12[] = { upsample11->getOutput(0), bottleneck_csp6->getOutput(0) }; + auto cat12 = network->addConcatenation(inputTensors12, 2); + auto bottleneck_csp13 = C3(network, weightMap, *cat12->getOutput(0), get_width(1024, gw), get_width(512, gw), get_depth(3, gd), false, 1, 0.5, "model.13"); + auto conv14 = convBlock(network, weightMap, *bottleneck_csp13->getOutput(0), get_width(256, gw), 1, 1, 1, "model.14"); + + auto upsample15 = network->addResize(*conv14->getOutput(0)); + assert(upsample15); + upsample15->setResizeMode(ResizeMode::kNEAREST); + upsample15->setOutputDimensions(bottleneck_csp4->getOutput(0)->getDimensions()); + + ITensor* inputTensors16[] = { upsample15->getOutput(0), bottleneck_csp4->getOutput(0) }; + auto cat16 = network->addConcatenation(inputTensors16, 2); + + auto bottleneck_csp17 = C3(network, weightMap, *cat16->getOutput(0), get_width(512, gw), get_width(256, gw), get_depth(3, gd), false, 1, 0.5, "model.17"); + + /* ------ detect ------ */ + IConvolutionLayer* det0 = network->addConvolutionNd(*bottleneck_csp17->getOutput(0), 3 * (Yolo::CLASS_NUM + 5), DimsHW{ 1, 1 }, weightMap["model.24.m.0.weight"], weightMap["model.24.m.0.bias"]); + auto conv18 = convBlock(network, weightMap, *bottleneck_csp17->getOutput(0), get_width(256, gw), 3, 2, 1, "model.18"); + ITensor* inputTensors19[] = { conv18->getOutput(0), conv14->getOutput(0) }; + auto cat19 = network->addConcatenation(inputTensors19, 2); + auto bottleneck_csp20 = C3(network, weightMap, *cat19->getOutput(0), get_width(512, gw), get_width(512, gw), get_depth(3, gd), false, 1, 0.5, "model.20"); + IConvolutionLayer* det1 = network->addConvolutionNd(*bottleneck_csp20->getOutput(0), 3 * (Yolo::CLASS_NUM + 5), DimsHW{ 1, 1 }, weightMap["model.24.m.1.weight"], weightMap["model.24.m.1.bias"]); + auto conv21 = convBlock(network, weightMap, *bottleneck_csp20->getOutput(0), get_width(512, gw), 3, 2, 1, "model.21"); + ITensor* inputTensors22[] = { conv21->getOutput(0), conv10->getOutput(0) }; + auto cat22 = network->addConcatenation(inputTensors22, 2); + auto bottleneck_csp23 = C3(network, weightMap, *cat22->getOutput(0), get_width(1024, gw), get_width(1024, gw), get_depth(3, gd), false, 1, 0.5, "model.23"); + IConvolutionLayer* det2 = network->addConvolutionNd(*bottleneck_csp23->getOutput(0), 3 * (Yolo::CLASS_NUM + 5), DimsHW{ 1, 1 }, weightMap["model.24.m.2.weight"], weightMap["model.24.m.2.bias"]); + + auto yolo = addYoLoLayer(network, weightMap, "model.24", std::vector{det0, det1, det2}); + yolo->getOutput(0)->setName(OUTPUT_BLOB_NAME); + network->markOutput(*yolo->getOutput(0)); + // Build engine + builder->setMaxBatchSize(maxBatchSize); + config->setMaxWorkspaceSize(16 * (1 << 20)); // 16MB +#if defined(USE_FP16) + config->setFlag(BuilderFlag::kFP16); +#elif defined(USE_INT8) + std::cout << "Your platform support int8: " << (builder->platformHasFastInt8() ? "true" : "false") << std::endl; + assert(builder->platformHasFastInt8()); + config->setFlag(BuilderFlag::kINT8); + Int8EntropyCalibrator2* calibrator = new Int8EntropyCalibrator2(1, INPUT_W, INPUT_H, "./coco_calib/", "int8calib.table", INPUT_BLOB_NAME); + config->setInt8Calibrator(calibrator); +#endif + + std::cout << "Building engine, please wait for a while..." << std::endl; + ICudaEngine* engine = builder->buildEngineWithConfig(*network, *config); + std::cout << "Build engine successfully!" << std::endl; + + // Don't need the network any more + network->destroy(); + + // Release host memory + for (auto& mem : weightMap) + { + free((void*)(mem.second.values)); + } + + return engine; +} + +ICudaEngine* build_engine_p6(unsigned int maxBatchSize, IBuilder* builder, IBuilderConfig* config, DataType dt, float& gd, float& gw, std::string& wts_name) { + INetworkDefinition* network = builder->createNetworkV2(0U); + // Create input tensor of shape {3, INPUT_H, INPUT_W} with name INPUT_BLOB_NAME + ITensor* data = network->addInput(INPUT_BLOB_NAME, dt, Dims3{ 3, INPUT_H, INPUT_W }); + assert(data); + + std::map weightMap = loadWeights(wts_name); + + /* ------ yolov5 backbone------ */ + auto conv0 = convBlock(network, weightMap, *data, get_width(64, gw), 6, 2, 1, "model.0"); + auto conv1 = convBlock(network, weightMap, *conv0->getOutput(0), get_width(128, gw), 3, 2, 1, "model.1"); + auto c3_2 = C3(network, weightMap, *conv1->getOutput(0), get_width(128, gw), get_width(128, gw), get_depth(3, gd), true, 1, 0.5, "model.2"); + auto conv3 = convBlock(network, weightMap, *c3_2->getOutput(0), get_width(256, gw), 3, 2, 1, "model.3"); + auto c3_4 = C3(network, weightMap, *conv3->getOutput(0), get_width(256, gw), get_width(256, gw), get_depth(6, gd), true, 1, 0.5, "model.4"); + auto conv5 = convBlock(network, weightMap, *c3_4->getOutput(0), get_width(512, gw), 3, 2, 1, "model.5"); + auto c3_6 = C3(network, weightMap, *conv5->getOutput(0), get_width(512, gw), get_width(512, gw), get_depth(9, gd), true, 1, 0.5, "model.6"); + auto conv7 = convBlock(network, weightMap, *c3_6->getOutput(0), get_width(768, gw), 3, 2, 1, "model.7"); + auto c3_8 = C3(network, weightMap, *conv7->getOutput(0), get_width(768, gw), get_width(768, gw), get_depth(3, gd), true, 1, 0.5, "model.8"); + auto conv9 = convBlock(network, weightMap, *c3_8->getOutput(0), get_width(1024, gw), 3, 2, 1, "model.9"); + auto c3_10 = C3(network, weightMap, *conv9->getOutput(0), get_width(1024, gw), get_width(1024, gw), get_depth(3, gd), true, 1, 0.5, "model.10"); + auto sppf11 = SPPF(network, weightMap, *c3_10->getOutput(0), get_width(1024, gw), get_width(1024, gw), 5, "model.11"); + + /* ------ yolov5 head ------ */ + auto conv12 = convBlock(network, weightMap, *sppf11->getOutput(0), get_width(768, gw), 1, 1, 1, "model.12"); + auto upsample13 = network->addResize(*conv12->getOutput(0)); + assert(upsample13); + upsample13->setResizeMode(ResizeMode::kNEAREST); + upsample13->setOutputDimensions(c3_8->getOutput(0)->getDimensions()); + ITensor* inputTensors14[] = { upsample13->getOutput(0), c3_8->getOutput(0) }; + auto cat14 = network->addConcatenation(inputTensors14, 2); + auto c3_15 = C3(network, weightMap, *cat14->getOutput(0), get_width(1536, gw), get_width(768, gw), get_depth(3, gd), false, 1, 0.5, "model.15"); + + auto conv16 = convBlock(network, weightMap, *c3_15->getOutput(0), get_width(512, gw), 1, 1, 1, "model.16"); + auto upsample17 = network->addResize(*conv16->getOutput(0)); + assert(upsample17); + upsample17->setResizeMode(ResizeMode::kNEAREST); + upsample17->setOutputDimensions(c3_6->getOutput(0)->getDimensions()); + ITensor* inputTensors18[] = { upsample17->getOutput(0), c3_6->getOutput(0) }; + auto cat18 = network->addConcatenation(inputTensors18, 2); + auto c3_19 = C3(network, weightMap, *cat18->getOutput(0), get_width(1024, gw), get_width(512, gw), get_depth(3, gd), false, 1, 0.5, "model.19"); + + auto conv20 = convBlock(network, weightMap, *c3_19->getOutput(0), get_width(256, gw), 1, 1, 1, "model.20"); + auto upsample21 = network->addResize(*conv20->getOutput(0)); + assert(upsample21); + upsample21->setResizeMode(ResizeMode::kNEAREST); + upsample21->setOutputDimensions(c3_4->getOutput(0)->getDimensions()); + ITensor* inputTensors21[] = { upsample21->getOutput(0), c3_4->getOutput(0) }; + auto cat22 = network->addConcatenation(inputTensors21, 2); + auto c3_23 = C3(network, weightMap, *cat22->getOutput(0), get_width(512, gw), get_width(256, gw), get_depth(3, gd), false, 1, 0.5, "model.23"); + + auto conv24 = convBlock(network, weightMap, *c3_23->getOutput(0), get_width(256, gw), 3, 2, 1, "model.24"); + ITensor* inputTensors25[] = { conv24->getOutput(0), conv20->getOutput(0) }; + auto cat25 = network->addConcatenation(inputTensors25, 2); + auto c3_26 = C3(network, weightMap, *cat25->getOutput(0), get_width(1024, gw), get_width(512, gw), get_depth(3, gd), false, 1, 0.5, "model.26"); + + auto conv27 = convBlock(network, weightMap, *c3_26->getOutput(0), get_width(512, gw), 3, 2, 1, "model.27"); + ITensor* inputTensors28[] = { conv27->getOutput(0), conv16->getOutput(0) }; + auto cat28 = network->addConcatenation(inputTensors28, 2); + auto c3_29 = C3(network, weightMap, *cat28->getOutput(0), get_width(1536, gw), get_width(768, gw), get_depth(3, gd), false, 1, 0.5, "model.29"); + + auto conv30 = convBlock(network, weightMap, *c3_29->getOutput(0), get_width(768, gw), 3, 2, 1, "model.30"); + ITensor* inputTensors31[] = { conv30->getOutput(0), conv12->getOutput(0) }; + auto cat31 = network->addConcatenation(inputTensors31, 2); + auto c3_32 = C3(network, weightMap, *cat31->getOutput(0), get_width(2048, gw), get_width(1024, gw), get_depth(3, gd), false, 1, 0.5, "model.32"); + + /* ------ detect ------ */ + IConvolutionLayer* det0 = network->addConvolutionNd(*c3_23->getOutput(0), 3 * (Yolo::CLASS_NUM + 5), DimsHW{ 1, 1 }, weightMap["model.33.m.0.weight"], weightMap["model.33.m.0.bias"]); + IConvolutionLayer* det1 = network->addConvolutionNd(*c3_26->getOutput(0), 3 * (Yolo::CLASS_NUM + 5), DimsHW{ 1, 1 }, weightMap["model.33.m.1.weight"], weightMap["model.33.m.1.bias"]); + IConvolutionLayer* det2 = network->addConvolutionNd(*c3_29->getOutput(0), 3 * (Yolo::CLASS_NUM + 5), DimsHW{ 1, 1 }, weightMap["model.33.m.2.weight"], weightMap["model.33.m.2.bias"]); + IConvolutionLayer* det3 = network->addConvolutionNd(*c3_32->getOutput(0), 3 * (Yolo::CLASS_NUM + 5), DimsHW{ 1, 1 }, weightMap["model.33.m.3.weight"], weightMap["model.33.m.3.bias"]); + + auto yolo = addYoLoLayer(network, weightMap, "model.33", std::vector{det0, det1, det2, det3}); + yolo->getOutput(0)->setName(OUTPUT_BLOB_NAME); + network->markOutput(*yolo->getOutput(0)); + + // Build engine + builder->setMaxBatchSize(maxBatchSize); + config->setMaxWorkspaceSize(16 * (1 << 20)); // 16MB +#if defined(USE_FP16) + config->setFlag(BuilderFlag::kFP16); +#elif defined(USE_INT8) + std::cout << "Your platform support int8: " << (builder->platformHasFastInt8() ? "true" : "false") << std::endl; + assert(builder->platformHasFastInt8()); + config->setFlag(BuilderFlag::kINT8); + Int8EntropyCalibrator2* calibrator = new Int8EntropyCalibrator2(1, INPUT_W, INPUT_H, "./coco_calib/", "int8calib.table", INPUT_BLOB_NAME); + config->setInt8Calibrator(calibrator); +#endif + + std::cout << "Building engine, please wait for a while..." << std::endl; + ICudaEngine* engine = builder->buildEngineWithConfig(*network, *config); + std::cout << "Build engine successfully!" << std::endl; + + // Don't need the network any more + network->destroy(); + + // Release host memory + for (auto& mem : weightMap) + { + free((void*)(mem.second.values)); + } + + return engine; +} + +void APIToModel(unsigned int maxBatchSize, IHostMemory** modelStream, bool& is_p6, float& gd, float& gw, std::string& wts_name) { + // Create builder + IBuilder* builder = createInferBuilder(gLogger); + IBuilderConfig* config = builder->createBuilderConfig(); + + // Create model to populate the network, then set the outputs and create an engine + ICudaEngine *engine = nullptr; + if (is_p6) { + engine = build_engine_p6(maxBatchSize, builder, config, DataType::kFLOAT, gd, gw, wts_name); + } else { + engine = build_engine(maxBatchSize, builder, config, DataType::kFLOAT, gd, gw, wts_name); + } + assert(engine != nullptr); + + // Serialize the engine + (*modelStream) = engine->serialize(); + + // Close everything down + engine->destroy(); + builder->destroy(); + config->destroy(); +} + +void doInference(IExecutionContext& context, cudaStream_t& stream, void **buffers, float* output, int batchSize) { + // infer on the batch asynchronously, and DMA output back to host + context.enqueue(batchSize, buffers, stream, nullptr); + CUDA_CHECK(cudaMemcpyAsync(output, buffers[1], batchSize * OUTPUT_SIZE * sizeof(float), cudaMemcpyDeviceToHost, stream)); + cudaStreamSynchronize(stream); +} + +bool parse_args(int argc, char** argv, std::string& wts, std::string& engine, bool& is_p6, float& gd, float& gw, std::string& img_dir) { + if (argc < 4) return false; + if (std::string(argv[1]) == "-s" && (argc == 5 || argc == 7)) { + wts = std::string(argv[2]); + engine = std::string(argv[3]); + auto net = std::string(argv[4]); + if (net[0] == 'n') { + gd = 0.33; + gw = 0.25; + } else if (net[0] == 's') { + gd = 0.33; + gw = 0.50; + } else if (net[0] == 'm') { + gd = 0.67; + gw = 0.75; + } else if (net[0] == 'l') { + gd = 1.0; + gw = 1.0; + } else if (net[0] == 'x') { + gd = 1.33; + gw = 1.25; + } else if (net[0] == 'c' && argc == 7) { + gd = atof(argv[5]); + gw = atof(argv[6]); + } else { + return false; + } + if (net.size() == 2 && net[1] == '6') { + is_p6 = true; + } + } else if (std::string(argv[1]) == "-d" && argc == 4) { + engine = std::string(argv[2]); + img_dir = std::string(argv[3]); + } else { + return false; + } + return true; +} + +int main(int argc, char** argv) { + cudaSetDevice(DEVICE); + + std::string wts_name = ""; + std::string engine_name = ""; + bool is_p6 = false; + float gd = 0.0f, gw = 0.0f; + std::string img_dir; + if (!parse_args(argc, argv, wts_name, engine_name, is_p6, gd, gw, img_dir)) { + std::cerr << "arguments not right!" << std::endl; + std::cerr << "./yolov5 -s [.wts] [.engine] [n/s/m/l/x/n6/s6/m6/l6/x6 or c/c6 gd gw] // serialize model to plan file" << std::endl; + std::cerr << "./yolov5 -d [.engine] ../samples // deserialize plan file and run inference" << std::endl; + return -1; + } + + // create a model using the API directly and serialize it to a stream + if (!wts_name.empty()) { + IHostMemory* modelStream{ nullptr }; + APIToModel(BATCH_SIZE, &modelStream, is_p6, gd, gw, wts_name); + assert(modelStream != nullptr); + std::ofstream p(engine_name, std::ios::binary); + if (!p) { + std::cerr << "could not open plan output file" << std::endl; + return -1; + } + p.write(reinterpret_cast(modelStream->data()), modelStream->size()); + modelStream->destroy(); + return 0; + } + + // deserialize the .engine and run inference + std::ifstream file(engine_name, std::ios::binary); + if (!file.good()) { + std::cerr << "read " << engine_name << " error!" << std::endl; + return -1; + } + char *trtModelStream = nullptr; + size_t size = 0; + file.seekg(0, file.end); + size = file.tellg(); + file.seekg(0, file.beg); + trtModelStream = new char[size]; + assert(trtModelStream); + file.read(trtModelStream, size); + file.close(); + + std::vector file_names; + if (read_files_in_dir(img_dir.c_str(), file_names) < 0) { + std::cerr << "read_files_in_dir failed." << std::endl; + return -1; + } + + static float prob[BATCH_SIZE * OUTPUT_SIZE]; + IRuntime* runtime = createInferRuntime(gLogger); + assert(runtime != nullptr); + ICudaEngine* engine = runtime->deserializeCudaEngine(trtModelStream, size); + assert(engine != nullptr); + IExecutionContext* context = engine->createExecutionContext(); + assert(context != nullptr); + delete[] trtModelStream; + assert(engine->getNbBindings() == 2); + float* buffers[2]; + // In order to bind the buffers, we need to know the names of the input and output tensors. + // Note that indices are guaranteed to be less than IEngine::getNbBindings() + const int inputIndex = engine->getBindingIndex(INPUT_BLOB_NAME); + const int outputIndex = engine->getBindingIndex(OUTPUT_BLOB_NAME); + assert(inputIndex == 0); + assert(outputIndex == 1); + // Create GPU buffers on device + CUDA_CHECK(cudaMalloc((void**)&buffers[inputIndex], BATCH_SIZE * 3 * INPUT_H * INPUT_W * sizeof(float))); + CUDA_CHECK(cudaMalloc((void**)&buffers[outputIndex], BATCH_SIZE * OUTPUT_SIZE * sizeof(float))); + + // Create stream + cudaStream_t stream; + CUDA_CHECK(cudaStreamCreate(&stream)); + uint8_t* img_host = nullptr; + uint8_t* img_device = nullptr; + // prepare input data cache in pinned memory + CUDA_CHECK(cudaMallocHost((void**)&img_host, MAX_IMAGE_INPUT_SIZE_THRESH * 3)); + // prepare input data cache in device memory + CUDA_CHECK(cudaMalloc((void**)&img_device, MAX_IMAGE_INPUT_SIZE_THRESH * 3)); + int fcount = 0; + std::vector imgs_buffer(BATCH_SIZE); + for (int f = 0; f < (int)file_names.size(); f++) { + fcount++; + if (fcount < BATCH_SIZE && f + 1 != (int)file_names.size()) continue; + //auto start = std::chrono::system_clock::now(); + float* buffer_idx = (float*)buffers[inputIndex]; + for (int b = 0; b < fcount; b++) { + cv::Mat img = cv::imread(img_dir + "/" + file_names[f - fcount + 1 + b]); + if (img.empty()) continue; + imgs_buffer[b] = img; + size_t size_image = img.cols * img.rows * 3; + size_t size_image_dst = INPUT_H * INPUT_W * 3; + //copy data to pinned memory + memcpy(img_host,img.data,size_image); + //copy data to device memory + CUDA_CHECK(cudaMemcpyAsync(img_device,img_host,size_image,cudaMemcpyHostToDevice,stream)); + preprocess_kernel_img(img_device, img.cols, img.rows, buffer_idx, INPUT_W, INPUT_H, stream); + buffer_idx += size_image_dst; + } + // Run inference + auto start = std::chrono::system_clock::now(); + doInference(*context, stream, (void**)buffers, prob, BATCH_SIZE); + auto end = std::chrono::system_clock::now(); + std::cout << "inference time: " << std::chrono::duration_cast(end - start).count() << "ms" << std::endl; + std::vector> batch_res(fcount); + for (int b = 0; b < fcount; b++) { + auto& res = batch_res[b]; + nms(res, &prob[b * OUTPUT_SIZE], CONF_THRESH, NMS_THRESH); + } + for (int b = 0; b < fcount; b++) { + auto& res = batch_res[b]; + cv::Mat img = imgs_buffer[b]; + for (size_t j = 0; j < res.size(); j++) { + cv::Rect r = get_rect(img, res[j].bbox); + cv::rectangle(img, r, cv::Scalar(0x27, 0xC1, 0x36), 2); + cv::putText(img, std::to_string((int)res[j].class_id), cv::Point(r.x, r.y - 1), cv::FONT_HERSHEY_PLAIN, 1.2, cv::Scalar(0xFF, 0xFF, 0xFF), 2); + } + cv::imwrite("_" + file_names[f - fcount + 1 + b], img); + } + fcount = 0; + } + + // Release stream and buffers + cudaStreamDestroy(stream); + CUDA_CHECK(cudaFree(img_device)); + CUDA_CHECK(cudaFreeHost(img_host)); + CUDA_CHECK(cudaFree(buffers[inputIndex])); + CUDA_CHECK(cudaFree(buffers[outputIndex])); + // Destroy the engine + context->destroy(); + engine->destroy(); + runtime->destroy(); + + + // Print histogram of the output distribution + //std::cout << "\nOutput:\n\n"; + //for (unsigned int i = 0; i < OUTPUT_SIZE; i++) + //{ + // std::cout << prob[i] << ", "; + // if (i % 10 == 0) std::cout << std::endl; + //} + //std::cout << std::endl; + + return 0; +}