From be005072e46268b28262b1538d799414cda05129 Mon Sep 17 00:00:00 2001 From: Dmytro Bogovych Date: Wed, 1 Jun 2022 21:11:15 +0300 Subject: [PATCH] - refresh dark theme + add some common source code from qbreak app --- client/platforms/linux/autostart.cpp | 140 +++++++++ client/platforms/linux/autostart.h | 22 ++ client/platforms/linux/idle_tracking.cpp | 289 ++++++++++++++++++ client/platforms/linux/idle_tracking.h | 7 + .../qdarkstyle/dark/rc/arrow_down.png | Bin 522 -> 522 bytes .../qdarkstyle/dark/rc/arrow_down@2x.png | Bin 1025 -> 1025 bytes .../dark/rc/arrow_down_disabled.png | Bin 546 -> 546 bytes .../dark/rc/arrow_down_disabled@2x.png | Bin 1068 -> 1068 bytes .../qdarkstyle/dark/rc/arrow_down_focus.png | Bin 523 -> 523 bytes .../dark/rc/arrow_down_focus@2x.png | Bin 992 -> 992 bytes .../qdarkstyle/dark/rc/arrow_down_pressed.png | Bin 567 -> 567 bytes .../dark/rc/arrow_down_pressed@2x.png | Bin 1070 -> 1070 bytes .../qdarkstyle/dark/rc/arrow_left.png | Bin 558 -> 558 bytes .../qdarkstyle/dark/rc/arrow_left@2x.png | Bin 1138 -> 1138 bytes .../dark/rc/arrow_left_disabled.png | Bin 557 -> 557 bytes .../dark/rc/arrow_left_disabled@2x.png | Bin 1141 -> 1141 bytes .../qdarkstyle/dark/rc/arrow_left_focus.png | Bin 551 -> 551 bytes .../dark/rc/arrow_left_focus@2x.png | Bin 1119 -> 1119 bytes .../qdarkstyle/dark/rc/arrow_left_pressed.png | Bin 574 -> 574 bytes .../dark/rc/arrow_left_pressed@2x.png | Bin 1155 -> 1155 bytes .../qdarkstyle/dark/rc/arrow_right.png | Bin 546 -> 546 bytes .../qdarkstyle/dark/rc/arrow_right@2x.png | Bin 1127 -> 1127 bytes .../dark/rc/arrow_right_disabled.png | Bin 545 -> 545 bytes .../dark/rc/arrow_right_disabled@2x.png | Bin 1143 -> 1143 bytes .../qdarkstyle/dark/rc/arrow_right_focus.png | Bin 541 -> 541 bytes .../dark/rc/arrow_right_focus@2x.png | Bin 1112 -> 1112 bytes .../dark/rc/arrow_right_pressed.png | Bin 574 -> 574 bytes .../dark/rc/arrow_right_pressed@2x.png | Bin 1162 -> 1162 bytes .../resources/qdarkstyle/dark/rc/arrow_up.png | Bin 525 -> 525 bytes .../qdarkstyle/dark/rc/arrow_up@2x.png | Bin 1008 -> 1008 bytes .../qdarkstyle/dark/rc/arrow_up_disabled.png | Bin 549 -> 549 bytes .../dark/rc/arrow_up_disabled@2x.png | Bin 1074 -> 1074 bytes .../qdarkstyle/dark/rc/arrow_up_focus.png | Bin 532 -> 532 bytes .../qdarkstyle/dark/rc/arrow_up_focus@2x.png | Bin 990 -> 990 bytes .../qdarkstyle/dark/rc/arrow_up_pressed.png | Bin 554 -> 554 bytes .../dark/rc/arrow_up_pressed@2x.png | Bin 1053 -> 1053 bytes .../qdarkstyle/dark/rc/base_icon.png | Bin 1256 -> 1256 bytes .../qdarkstyle/dark/rc/base_icon@2x.png | Bin 3286 -> 3286 bytes .../qdarkstyle/dark/rc/base_icon_disabled.png | Bin 1256 -> 1256 bytes .../dark/rc/base_icon_disabled@2x.png | Bin 3286 -> 3286 bytes .../qdarkstyle/dark/rc/base_icon_focus.png | Bin 1256 -> 1256 bytes .../qdarkstyle/dark/rc/base_icon_focus@2x.png | Bin 3286 -> 3286 bytes .../qdarkstyle/dark/rc/base_icon_pressed.png | Bin 1256 -> 1256 bytes .../dark/rc/base_icon_pressed@2x.png | Bin 3286 -> 3286 bytes .../qdarkstyle/dark/rc/branch_closed.png | Bin 397 -> 397 bytes .../qdarkstyle/dark/rc/branch_closed@2x.png | Bin 824 -> 824 bytes .../dark/rc/branch_closed_disabled.png | Bin 426 -> 426 bytes .../dark/rc/branch_closed_disabled@2x.png | Bin 862 -> 862 bytes .../dark/rc/branch_closed_focus.png | Bin 395 -> 395 bytes .../dark/rc/branch_closed_focus@2x.png | Bin 810 -> 810 bytes .../dark/rc/branch_closed_pressed.png | Bin 415 -> 415 bytes .../dark/rc/branch_closed_pressed@2x.png | Bin 867 -> 867 bytes .../qdarkstyle/dark/rc/branch_end.png | Bin 151 -> 151 bytes .../qdarkstyle/dark/rc/branch_end@2x.png | Bin 205 -> 205 bytes .../dark/rc/branch_end_disabled.png | Bin 152 -> 152 bytes .../dark/rc/branch_end_disabled@2x.png | Bin 205 -> 205 bytes .../qdarkstyle/dark/rc/branch_end_focus.png | Bin 149 -> 149 bytes .../dark/rc/branch_end_focus@2x.png | Bin 203 -> 203 bytes .../qdarkstyle/dark/rc/branch_end_pressed.png | Bin 152 -> 152 bytes .../dark/rc/branch_end_pressed@2x.png | Bin 204 -> 204 bytes .../qdarkstyle/dark/rc/branch_line.png | Bin 133 -> 133 bytes .../qdarkstyle/dark/rc/branch_line@2x.png | Bin 238 -> 238 bytes .../dark/rc/branch_line_disabled.png | Bin 135 -> 135 bytes .../dark/rc/branch_line_disabled@2x.png | Bin 240 -> 240 bytes .../qdarkstyle/dark/rc/branch_line_focus.png | Bin 134 -> 134 bytes .../dark/rc/branch_line_focus@2x.png | Bin 238 -> 238 bytes .../dark/rc/branch_line_pressed.png | Bin 135 -> 135 bytes .../dark/rc/branch_line_pressed@2x.png | Bin 239 -> 239 bytes .../qdarkstyle/dark/rc/branch_more.png | Bin 166 -> 166 bytes .../qdarkstyle/dark/rc/branch_more@2x.png | Bin 260 -> 260 bytes .../dark/rc/branch_more_disabled.png | Bin 167 -> 167 bytes .../dark/rc/branch_more_disabled@2x.png | Bin 263 -> 263 bytes .../qdarkstyle/dark/rc/branch_more_focus.png | Bin 164 -> 164 bytes .../dark/rc/branch_more_focus@2x.png | Bin 260 -> 260 bytes .../dark/rc/branch_more_pressed.png | Bin 161 -> 161 bytes .../dark/rc/branch_more_pressed@2x.png | Bin 262 -> 262 bytes .../qdarkstyle/dark/rc/branch_open.png | Bin 404 -> 404 bytes .../qdarkstyle/dark/rc/branch_open@2x.png | Bin 813 -> 813 bytes .../dark/rc/branch_open_disabled.png | Bin 422 -> 422 bytes .../dark/rc/branch_open_disabled@2x.png | Bin 872 -> 872 bytes .../qdarkstyle/dark/rc/branch_open_focus.png | Bin 396 -> 396 bytes .../dark/rc/branch_open_focus@2x.png | Bin 791 -> 791 bytes .../dark/rc/branch_open_pressed.png | Bin 421 -> 421 bytes .../dark/rc/branch_open_pressed@2x.png | Bin 860 -> 860 bytes .../qdarkstyle/dark/rc/checkbox_checked.png | Bin 650 -> 650 bytes .../dark/rc/checkbox_checked@2x.png | Bin 1255 -> 1255 bytes .../dark/rc/checkbox_checked_disabled.png | Bin 731 -> 731 bytes .../dark/rc/checkbox_checked_disabled@2x.png | Bin 1334 -> 1334 bytes .../dark/rc/checkbox_checked_focus.png | Bin 655 -> 655 bytes .../dark/rc/checkbox_checked_focus@2x.png | Bin 1269 -> 1269 bytes .../dark/rc/checkbox_checked_pressed.png | Bin 704 -> 704 bytes .../dark/rc/checkbox_checked_pressed@2x.png | Bin 1319 -> 1319 bytes .../dark/rc/checkbox_indeterminate.png | Bin 476 -> 476 bytes .../dark/rc/checkbox_indeterminate@2x.png | Bin 955 -> 955 bytes .../rc/checkbox_indeterminate_disabled.png | Bin 545 -> 545 bytes .../rc/checkbox_indeterminate_disabled@2x.png | Bin 1003 -> 1003 bytes .../dark/rc/checkbox_indeterminate_focus.png | Bin 466 -> 466 bytes .../rc/checkbox_indeterminate_focus@2x.png | Bin 930 -> 930 bytes .../rc/checkbox_indeterminate_pressed.png | Bin 518 -> 518 bytes .../rc/checkbox_indeterminate_pressed@2x.png | Bin 995 -> 995 bytes .../qdarkstyle/dark/rc/checkbox_unchecked.png | Bin 393 -> 393 bytes .../dark/rc/checkbox_unchecked@2x.png | Bin 846 -> 846 bytes .../dark/rc/checkbox_unchecked_disabled.png | Bin 391 -> 391 bytes .../rc/checkbox_unchecked_disabled@2x.png | Bin 868 -> 868 bytes .../dark/rc/checkbox_unchecked_focus.png | Bin 387 -> 387 bytes .../dark/rc/checkbox_unchecked_focus@2x.png | Bin 850 -> 850 bytes .../dark/rc/checkbox_unchecked_pressed.png | Bin 403 -> 403 bytes .../dark/rc/checkbox_unchecked_pressed@2x.png | Bin 862 -> 862 bytes .../qdarkstyle/dark/rc/line_horizontal.png | Bin 120 -> 120 bytes .../qdarkstyle/dark/rc/line_horizontal@2x.png | Bin 137 -> 137 bytes .../dark/rc/line_horizontal_disabled.png | Bin 121 -> 121 bytes .../dark/rc/line_horizontal_disabled@2x.png | Bin 139 -> 139 bytes .../dark/rc/line_horizontal_focus.png | Bin 119 -> 119 bytes .../dark/rc/line_horizontal_focus@2x.png | Bin 137 -> 137 bytes .../dark/rc/line_horizontal_pressed.png | Bin 120 -> 120 bytes .../dark/rc/line_horizontal_pressed@2x.png | Bin 138 -> 138 bytes .../qdarkstyle/dark/rc/line_vertical.png | Bin 133 -> 133 bytes .../qdarkstyle/dark/rc/line_vertical@2x.png | Bin 246 -> 246 bytes .../dark/rc/line_vertical_disabled.png | Bin 135 -> 135 bytes .../dark/rc/line_vertical_disabled@2x.png | Bin 249 -> 249 bytes .../dark/rc/line_vertical_focus.png | Bin 133 -> 133 bytes .../dark/rc/line_vertical_focus@2x.png | Bin 246 -> 246 bytes .../dark/rc/line_vertical_pressed.png | Bin 134 -> 134 bytes .../dark/rc/line_vertical_pressed@2x.png | Bin 248 -> 248 bytes .../qdarkstyle/dark/rc/radio_checked.png | Bin 1258 -> 1258 bytes .../qdarkstyle/dark/rc/radio_checked@2x.png | Bin 2702 -> 2702 bytes .../dark/rc/radio_checked_disabled.png | Bin 1336 -> 1336 bytes .../dark/rc/radio_checked_disabled@2x.png | Bin 2871 -> 2871 bytes .../dark/rc/radio_checked_focus.png | Bin 1232 -> 1232 bytes .../dark/rc/radio_checked_focus@2x.png | Bin 2656 -> 2656 bytes .../dark/rc/radio_checked_pressed.png | Bin 1288 -> 1288 bytes .../dark/rc/radio_checked_pressed@2x.png | Bin 2804 -> 2804 bytes .../qdarkstyle/dark/rc/radio_unchecked.png | Bin 1012 -> 1012 bytes .../qdarkstyle/dark/rc/radio_unchecked@2x.png | Bin 2156 -> 2156 bytes .../dark/rc/radio_unchecked_disabled.png | Bin 1045 -> 1045 bytes .../dark/rc/radio_unchecked_disabled@2x.png | Bin 2277 -> 2277 bytes .../dark/rc/radio_unchecked_focus.png | Bin 979 -> 979 bytes .../dark/rc/radio_unchecked_focus@2x.png | Bin 2127 -> 2127 bytes .../dark/rc/radio_unchecked_pressed.png | Bin 1027 -> 1027 bytes .../dark/rc/radio_unchecked_pressed@2x.png | Bin 2263 -> 2263 bytes .../dark/rc/toolbar_move_horizontal.png | Bin 154 -> 154 bytes .../dark/rc/toolbar_move_horizontal@2x.png | Bin 304 -> 304 bytes .../rc/toolbar_move_horizontal_disabled.png | Bin 155 -> 155 bytes .../toolbar_move_horizontal_disabled@2x.png | Bin 309 -> 309 bytes .../dark/rc/toolbar_move_horizontal_focus.png | Bin 154 -> 154 bytes .../rc/toolbar_move_horizontal_focus@2x.png | Bin 305 -> 305 bytes .../rc/toolbar_move_horizontal_pressed.png | Bin 155 -> 155 bytes .../rc/toolbar_move_horizontal_pressed@2x.png | Bin 308 -> 308 bytes .../dark/rc/toolbar_move_vertical.png | Bin 141 -> 141 bytes .../dark/rc/toolbar_move_vertical@2x.png | Bin 208 -> 208 bytes .../rc/toolbar_move_vertical_disabled.png | Bin 140 -> 140 bytes .../rc/toolbar_move_vertical_disabled@2x.png | Bin 214 -> 214 bytes .../dark/rc/toolbar_move_vertical_focus.png | Bin 139 -> 139 bytes .../rc/toolbar_move_vertical_focus@2x.png | Bin 211 -> 211 bytes .../dark/rc/toolbar_move_vertical_pressed.png | Bin 143 -> 143 bytes .../rc/toolbar_move_vertical_pressed@2x.png | Bin 209 -> 209 bytes .../dark/rc/toolbar_separator_horizontal.png | Bin 151 -> 151 bytes .../rc/toolbar_separator_horizontal@2x.png | Bin 288 -> 288 bytes .../toolbar_separator_horizontal_disabled.png | Bin 151 -> 151 bytes ...olbar_separator_horizontal_disabled@2x.png | Bin 291 -> 291 bytes .../rc/toolbar_separator_horizontal_focus.png | Bin 149 -> 149 bytes .../toolbar_separator_horizontal_focus@2x.png | Bin 288 -> 288 bytes .../toolbar_separator_horizontal_pressed.png | Bin 151 -> 151 bytes ...oolbar_separator_horizontal_pressed@2x.png | Bin 294 -> 294 bytes .../dark/rc/toolbar_separator_vertical.png | Bin 137 -> 137 bytes .../dark/rc/toolbar_separator_vertical@2x.png | Bin 192 -> 192 bytes .../toolbar_separator_vertical_disabled.png | Bin 136 -> 136 bytes ...toolbar_separator_vertical_disabled@2x.png | Bin 200 -> 200 bytes .../rc/toolbar_separator_vertical_focus.png | Bin 135 -> 135 bytes .../toolbar_separator_vertical_focus@2x.png | Bin 197 -> 197 bytes .../rc/toolbar_separator_vertical_pressed.png | Bin 138 -> 138 bytes .../toolbar_separator_vertical_pressed@2x.png | Bin 196 -> 196 bytes .../qdarkstyle/dark/rc/transparent.png | Bin 104 -> 104 bytes .../qdarkstyle/dark/rc/transparent@2x.png | Bin 117 -> 117 bytes .../dark/rc/transparent_disabled.png | Bin 104 -> 104 bytes .../dark/rc/transparent_disabled@2x.png | Bin 117 -> 117 bytes .../qdarkstyle/dark/rc/transparent_focus.png | Bin 104 -> 104 bytes .../dark/rc/transparent_focus@2x.png | Bin 117 -> 117 bytes .../dark/rc/transparent_pressed.png | Bin 104 -> 104 bytes .../dark/rc/transparent_pressed@2x.png | Bin 117 -> 117 bytes .../qdarkstyle/dark/rc/window_close.png | Bin 714 -> 714 bytes .../qdarkstyle/dark/rc/window_close@2x.png | Bin 1637 -> 1637 bytes .../dark/rc/window_close_disabled.png | Bin 820 -> 820 bytes .../dark/rc/window_close_disabled@2x.png | Bin 1717 -> 1717 bytes .../qdarkstyle/dark/rc/window_close_focus.png | Bin 728 -> 728 bytes .../dark/rc/window_close_focus@2x.png | Bin 1659 -> 1659 bytes .../dark/rc/window_close_pressed.png | Bin 744 -> 744 bytes .../dark/rc/window_close_pressed@2x.png | Bin 1777 -> 1777 bytes .../qdarkstyle/dark/rc/window_grip.png | Bin 434 -> 434 bytes .../qdarkstyle/dark/rc/window_grip@2x.png | Bin 708 -> 708 bytes .../dark/rc/window_grip_disabled.png | Bin 434 -> 434 bytes .../dark/rc/window_grip_disabled@2x.png | Bin 764 -> 764 bytes .../qdarkstyle/dark/rc/window_grip_focus.png | Bin 408 -> 408 bytes .../dark/rc/window_grip_focus@2x.png | Bin 730 -> 730 bytes .../dark/rc/window_grip_pressed.png | Bin 455 -> 455 bytes .../dark/rc/window_grip_pressed@2x.png | Bin 747 -> 747 bytes .../qdarkstyle/dark/rc/window_minimize.png | Bin 200 -> 200 bytes .../qdarkstyle/dark/rc/window_minimize@2x.png | Bin 327 -> 327 bytes .../dark/rc/window_minimize_disabled.png | Bin 207 -> 207 bytes .../dark/rc/window_minimize_disabled@2x.png | Bin 336 -> 336 bytes .../dark/rc/window_minimize_focus.png | Bin 206 -> 206 bytes .../dark/rc/window_minimize_focus@2x.png | Bin 333 -> 333 bytes .../dark/rc/window_minimize_pressed.png | Bin 210 -> 210 bytes .../dark/rc/window_minimize_pressed@2x.png | Bin 337 -> 337 bytes .../qdarkstyle/dark/rc/window_undock.png | Bin 517 -> 517 bytes .../qdarkstyle/dark/rc/window_undock@2x.png | Bin 865 -> 865 bytes .../dark/rc/window_undock_disabled.png | Bin 536 -> 536 bytes .../dark/rc/window_undock_disabled@2x.png | Bin 924 -> 924 bytes .../dark/rc/window_undock_focus.png | Bin 503 -> 503 bytes .../dark/rc/window_undock_focus@2x.png | Bin 866 -> 866 bytes .../dark/rc/window_undock_pressed.png | Bin 539 -> 539 bytes .../dark/rc/window_undock_pressed@2x.png | Bin 905 -> 905 bytes client/resources/qdarkstyle/dark/style.qrc | 3 +- client/resources/qdarkstyle/dark/style.qss | 20 +- .../qdarkstyle/light/rc/arrow_down.png | Bin 552 -> 552 bytes .../qdarkstyle/light/rc/arrow_down@2x.png | Bin 1014 -> 1014 bytes .../light/rc/arrow_down_disabled.png | Bin 524 -> 524 bytes .../light/rc/arrow_down_disabled@2x.png | Bin 1042 -> 1042 bytes .../qdarkstyle/light/rc/arrow_down_focus.png | Bin 523 -> 523 bytes .../light/rc/arrow_down_focus@2x.png | Bin 1005 -> 1005 bytes .../light/rc/arrow_down_pressed.png | Bin 508 -> 508 bytes .../light/rc/arrow_down_pressed@2x.png | Bin 964 -> 964 bytes .../qdarkstyle/light/rc/arrow_left.png | Bin 549 -> 549 bytes .../qdarkstyle/light/rc/arrow_left@2x.png | Bin 1081 -> 1081 bytes .../light/rc/arrow_left_disabled.png | Bin 562 -> 562 bytes .../light/rc/arrow_left_disabled@2x.png | Bin 1158 -> 1158 bytes .../qdarkstyle/light/rc/arrow_left_focus.png | Bin 560 -> 560 bytes .../light/rc/arrow_left_focus@2x.png | Bin 1138 -> 1138 bytes .../light/rc/arrow_left_pressed.png | Bin 529 -> 529 bytes .../light/rc/arrow_left_pressed@2x.png | Bin 1107 -> 1107 bytes .../qdarkstyle/light/rc/arrow_right.png | Bin 532 -> 532 bytes .../qdarkstyle/light/rc/arrow_right@2x.png | Bin 1099 -> 1099 bytes .../light/rc/arrow_right_disabled.png | Bin 549 -> 549 bytes .../light/rc/arrow_right_disabled@2x.png | Bin 1168 -> 1168 bytes .../qdarkstyle/light/rc/arrow_right_focus.png | Bin 542 -> 542 bytes .../light/rc/arrow_right_focus@2x.png | Bin 1137 -> 1137 bytes .../light/rc/arrow_right_pressed.png | Bin 529 -> 529 bytes .../light/rc/arrow_right_pressed@2x.png | Bin 1098 -> 1098 bytes .../qdarkstyle/light/rc/arrow_up.png | Bin 529 -> 529 bytes .../qdarkstyle/light/rc/arrow_up@2x.png | Bin 998 -> 998 bytes .../qdarkstyle/light/rc/arrow_up_disabled.png | Bin 521 -> 521 bytes .../light/rc/arrow_up_disabled@2x.png | Bin 1044 -> 1044 bytes .../qdarkstyle/light/rc/arrow_up_focus.png | Bin 519 -> 519 bytes .../qdarkstyle/light/rc/arrow_up_focus@2x.png | Bin 1004 -> 1004 bytes .../qdarkstyle/light/rc/arrow_up_pressed.png | Bin 507 -> 507 bytes .../light/rc/arrow_up_pressed@2x.png | Bin 978 -> 978 bytes .../qdarkstyle/light/rc/base_icon.png | Bin 1256 -> 1256 bytes .../qdarkstyle/light/rc/base_icon@2x.png | Bin 3286 -> 3286 bytes .../light/rc/base_icon_disabled.png | Bin 1256 -> 1256 bytes .../light/rc/base_icon_disabled@2x.png | Bin 3286 -> 3286 bytes .../qdarkstyle/light/rc/base_icon_focus.png | Bin 1256 -> 1256 bytes .../light/rc/base_icon_focus@2x.png | Bin 3286 -> 3286 bytes .../qdarkstyle/light/rc/base_icon_pressed.png | Bin 1256 -> 1256 bytes .../light/rc/base_icon_pressed@2x.png | Bin 3286 -> 3286 bytes .../qdarkstyle/light/rc/branch_closed.png | Bin 401 -> 401 bytes .../qdarkstyle/light/rc/branch_closed@2x.png | Bin 838 -> 838 bytes .../light/rc/branch_closed_disabled.png | Bin 415 -> 415 bytes .../light/rc/branch_closed_disabled@2x.png | Bin 847 -> 847 bytes .../light/rc/branch_closed_focus.png | Bin 406 -> 406 bytes .../light/rc/branch_closed_focus@2x.png | Bin 841 -> 841 bytes .../light/rc/branch_closed_pressed.png | Bin 389 -> 389 bytes .../light/rc/branch_closed_pressed@2x.png | Bin 804 -> 804 bytes .../qdarkstyle/light/rc/branch_end.png | Bin 148 -> 148 bytes .../qdarkstyle/light/rc/branch_end@2x.png | Bin 206 -> 206 bytes .../light/rc/branch_end_disabled.png | Bin 149 -> 149 bytes .../light/rc/branch_end_disabled@2x.png | Bin 205 -> 205 bytes .../qdarkstyle/light/rc/branch_end_focus.png | Bin 152 -> 152 bytes .../light/rc/branch_end_focus@2x.png | Bin 204 -> 204 bytes .../light/rc/branch_end_pressed.png | Bin 147 -> 147 bytes .../light/rc/branch_end_pressed@2x.png | Bin 202 -> 202 bytes .../qdarkstyle/light/rc/branch_line.png | Bin 134 -> 134 bytes .../qdarkstyle/light/rc/branch_line@2x.png | Bin 240 -> 240 bytes .../light/rc/branch_line_disabled.png | Bin 134 -> 134 bytes .../light/rc/branch_line_disabled@2x.png | Bin 240 -> 240 bytes .../qdarkstyle/light/rc/branch_line_focus.png | Bin 135 -> 135 bytes .../light/rc/branch_line_focus@2x.png | Bin 239 -> 239 bytes .../light/rc/branch_line_pressed.png | Bin 134 -> 134 bytes .../light/rc/branch_line_pressed@2x.png | Bin 239 -> 239 bytes .../qdarkstyle/light/rc/branch_more.png | Bin 167 -> 167 bytes .../qdarkstyle/light/rc/branch_more@2x.png | Bin 263 -> 263 bytes .../light/rc/branch_more_disabled.png | Bin 161 -> 161 bytes .../light/rc/branch_more_disabled@2x.png | Bin 262 -> 262 bytes .../qdarkstyle/light/rc/branch_more_focus.png | Bin 168 -> 168 bytes .../light/rc/branch_more_focus@2x.png | Bin 263 -> 263 bytes .../light/rc/branch_more_pressed.png | Bin 162 -> 162 bytes .../light/rc/branch_more_pressed@2x.png | Bin 259 -> 259 bytes .../qdarkstyle/light/rc/branch_open.png | Bin 440 -> 440 bytes .../qdarkstyle/light/rc/branch_open@2x.png | Bin 875 -> 875 bytes .../light/rc/branch_open_disabled.png | Bin 416 -> 416 bytes .../light/rc/branch_open_disabled@2x.png | Bin 816 -> 816 bytes .../qdarkstyle/light/rc/branch_open_focus.png | Bin 426 -> 426 bytes .../light/rc/branch_open_focus@2x.png | Bin 837 -> 837 bytes .../light/rc/branch_open_pressed.png | Bin 399 -> 399 bytes .../light/rc/branch_open_pressed@2x.png | Bin 778 -> 778 bytes .../qdarkstyle/light/rc/checkbox_checked.png | Bin 719 -> 719 bytes .../light/rc/checkbox_checked@2x.png | Bin 1329 -> 1329 bytes .../light/rc/checkbox_checked_disabled.png | Bin 667 -> 667 bytes .../light/rc/checkbox_checked_disabled@2x.png | Bin 1280 -> 1280 bytes .../light/rc/checkbox_checked_focus.png | Bin 696 -> 696 bytes .../light/rc/checkbox_checked_focus@2x.png | Bin 1278 -> 1278 bytes .../light/rc/checkbox_checked_pressed.png | Bin 653 -> 653 bytes .../light/rc/checkbox_checked_pressed@2x.png | Bin 1254 -> 1254 bytes .../light/rc/checkbox_indeterminate.png | Bin 524 -> 524 bytes .../light/rc/checkbox_indeterminate@2x.png | Bin 1024 -> 1024 bytes .../rc/checkbox_indeterminate_disabled.png | Bin 482 -> 482 bytes .../rc/checkbox_indeterminate_disabled@2x.png | Bin 948 -> 948 bytes .../light/rc/checkbox_indeterminate_focus.png | Bin 501 -> 501 bytes .../rc/checkbox_indeterminate_focus@2x.png | Bin 962 -> 962 bytes .../rc/checkbox_indeterminate_pressed.png | Bin 460 -> 460 bytes .../rc/checkbox_indeterminate_pressed@2x.png | Bin 943 -> 943 bytes .../light/rc/checkbox_unchecked.png | Bin 385 -> 385 bytes .../light/rc/checkbox_unchecked@2x.png | Bin 855 -> 855 bytes .../light/rc/checkbox_unchecked_disabled.png | Bin 385 -> 385 bytes .../rc/checkbox_unchecked_disabled@2x.png | Bin 878 -> 878 bytes .../light/rc/checkbox_unchecked_focus.png | Bin 384 -> 384 bytes .../light/rc/checkbox_unchecked_focus@2x.png | Bin 873 -> 873 bytes .../light/rc/checkbox_unchecked_pressed.png | Bin 385 -> 385 bytes .../rc/checkbox_unchecked_pressed@2x.png | Bin 843 -> 843 bytes .../qdarkstyle/light/rc/line_horizontal.png | Bin 121 -> 121 bytes .../light/rc/line_horizontal@2x.png | Bin 139 -> 139 bytes .../light/rc/line_horizontal_disabled.png | Bin 121 -> 121 bytes .../light/rc/line_horizontal_disabled@2x.png | Bin 139 -> 139 bytes .../light/rc/line_horizontal_focus.png | Bin 120 -> 120 bytes .../light/rc/line_horizontal_focus@2x.png | Bin 138 -> 138 bytes .../light/rc/line_horizontal_pressed.png | Bin 120 -> 120 bytes .../light/rc/line_horizontal_pressed@2x.png | Bin 138 -> 138 bytes .../qdarkstyle/light/rc/line_vertical.png | Bin 134 -> 134 bytes .../qdarkstyle/light/rc/line_vertical@2x.png | Bin 248 -> 248 bytes .../light/rc/line_vertical_disabled.png | Bin 134 -> 134 bytes .../light/rc/line_vertical_disabled@2x.png | Bin 248 -> 248 bytes .../light/rc/line_vertical_focus.png | Bin 134 -> 134 bytes .../light/rc/line_vertical_focus@2x.png | Bin 249 -> 249 bytes .../light/rc/line_vertical_pressed.png | Bin 133 -> 133 bytes .../light/rc/line_vertical_pressed@2x.png | Bin 246 -> 246 bytes .../qdarkstyle/light/rc/radio_checked.png | Bin 1293 -> 1293 bytes .../qdarkstyle/light/rc/radio_checked@2x.png | Bin 2792 -> 2792 bytes .../light/rc/radio_checked_disabled.png | Bin 1289 -> 1289 bytes .../light/rc/radio_checked_disabled@2x.png | Bin 2752 -> 2752 bytes .../light/rc/radio_checked_focus.png | Bin 1292 -> 1292 bytes .../light/rc/radio_checked_focus@2x.png | Bin 2772 -> 2772 bytes .../light/rc/radio_checked_pressed.png | Bin 1210 -> 1210 bytes .../light/rc/radio_checked_pressed@2x.png | Bin 2580 -> 2580 bytes .../qdarkstyle/light/rc/radio_unchecked.png | Bin 1008 -> 1008 bytes .../light/rc/radio_unchecked@2x.png | Bin 2256 -> 2256 bytes .../light/rc/radio_unchecked_disabled.png | Bin 1022 -> 1022 bytes .../light/rc/radio_unchecked_disabled@2x.png | Bin 2205 -> 2205 bytes .../light/rc/radio_unchecked_focus.png | Bin 1032 -> 1032 bytes .../light/rc/radio_unchecked_focus@2x.png | Bin 2215 -> 2215 bytes .../light/rc/radio_unchecked_pressed.png | Bin 978 -> 978 bytes .../light/rc/radio_unchecked_pressed@2x.png | Bin 2079 -> 2079 bytes .../light/rc/toolbar_move_horizontal.png | Bin 153 -> 153 bytes .../light/rc/toolbar_move_horizontal@2x.png | Bin 306 -> 306 bytes .../rc/toolbar_move_horizontal_disabled.png | Bin 155 -> 155 bytes .../toolbar_move_horizontal_disabled@2x.png | Bin 310 -> 310 bytes .../rc/toolbar_move_horizontal_focus.png | Bin 155 -> 155 bytes .../rc/toolbar_move_horizontal_focus@2x.png | Bin 307 -> 307 bytes .../rc/toolbar_move_horizontal_pressed.png | Bin 154 -> 154 bytes .../rc/toolbar_move_horizontal_pressed@2x.png | Bin 305 -> 305 bytes .../light/rc/toolbar_move_vertical.png | Bin 142 -> 142 bytes .../light/rc/toolbar_move_vertical@2x.png | Bin 209 -> 209 bytes .../rc/toolbar_move_vertical_disabled.png | Bin 142 -> 142 bytes .../rc/toolbar_move_vertical_disabled@2x.png | Bin 214 -> 214 bytes .../light/rc/toolbar_move_vertical_focus.png | Bin 144 -> 144 bytes .../rc/toolbar_move_vertical_focus@2x.png | Bin 213 -> 213 bytes .../rc/toolbar_move_vertical_pressed.png | Bin 139 -> 139 bytes .../rc/toolbar_move_vertical_pressed@2x.png | Bin 206 -> 206 bytes .../light/rc/toolbar_separator_horizontal.png | Bin 148 -> 148 bytes .../rc/toolbar_separator_horizontal@2x.png | Bin 288 -> 288 bytes .../toolbar_separator_horizontal_disabled.png | Bin 152 -> 152 bytes ...olbar_separator_horizontal_disabled@2x.png | Bin 292 -> 292 bytes .../rc/toolbar_separator_horizontal_focus.png | Bin 151 -> 151 bytes .../toolbar_separator_horizontal_focus@2x.png | Bin 290 -> 290 bytes .../toolbar_separator_horizontal_pressed.png | Bin 150 -> 150 bytes ...oolbar_separator_horizontal_pressed@2x.png | Bin 290 -> 290 bytes .../light/rc/toolbar_separator_vertical.png | Bin 137 -> 137 bytes .../rc/toolbar_separator_vertical@2x.png | Bin 194 -> 194 bytes .../toolbar_separator_vertical_disabled.png | Bin 138 -> 138 bytes ...toolbar_separator_vertical_disabled@2x.png | Bin 199 -> 199 bytes .../rc/toolbar_separator_vertical_focus.png | Bin 141 -> 141 bytes .../toolbar_separator_vertical_focus@2x.png | Bin 199 -> 199 bytes .../rc/toolbar_separator_vertical_pressed.png | Bin 135 -> 135 bytes .../toolbar_separator_vertical_pressed@2x.png | Bin 192 -> 192 bytes .../qdarkstyle/light/rc/transparent.png | Bin 104 -> 104 bytes .../qdarkstyle/light/rc/transparent@2x.png | Bin 117 -> 117 bytes .../light/rc/transparent_disabled.png | Bin 104 -> 104 bytes .../light/rc/transparent_disabled@2x.png | Bin 117 -> 117 bytes .../qdarkstyle/light/rc/transparent_focus.png | Bin 104 -> 104 bytes .../light/rc/transparent_focus@2x.png | Bin 117 -> 117 bytes .../light/rc/transparent_pressed.png | Bin 104 -> 104 bytes .../light/rc/transparent_pressed@2x.png | Bin 117 -> 117 bytes .../qdarkstyle/light/rc/window_close.png | Bin 814 -> 814 bytes .../qdarkstyle/light/rc/window_close@2x.png | Bin 1727 -> 1727 bytes .../light/rc/window_close_disabled.png | Bin 745 -> 745 bytes .../light/rc/window_close_disabled@2x.png | Bin 1682 -> 1682 bytes .../light/rc/window_close_focus.png | Bin 716 -> 716 bytes .../light/rc/window_close_focus@2x.png | Bin 1709 -> 1709 bytes .../light/rc/window_close_pressed.png | Bin 714 -> 714 bytes .../light/rc/window_close_pressed@2x.png | Bin 1644 -> 1644 bytes .../qdarkstyle/light/rc/window_grip.png | Bin 415 -> 415 bytes .../qdarkstyle/light/rc/window_grip@2x.png | Bin 766 -> 766 bytes .../light/rc/window_grip_disabled.png | Bin 438 -> 438 bytes .../light/rc/window_grip_disabled@2x.png | Bin 728 -> 728 bytes .../qdarkstyle/light/rc/window_grip_focus.png | Bin 427 -> 427 bytes .../light/rc/window_grip_focus@2x.png | Bin 744 -> 744 bytes .../light/rc/window_grip_pressed.png | Bin 440 -> 440 bytes .../light/rc/window_grip_pressed@2x.png | Bin 711 -> 711 bytes .../qdarkstyle/light/rc/window_minimize.png | Bin 200 -> 200 bytes .../light/rc/window_minimize@2x.png | Bin 334 -> 334 bytes .../light/rc/window_minimize_disabled.png | Bin 206 -> 206 bytes .../light/rc/window_minimize_disabled@2x.png | Bin 332 -> 332 bytes .../light/rc/window_minimize_focus.png | Bin 204 -> 204 bytes .../light/rc/window_minimize_focus@2x.png | Bin 333 -> 333 bytes .../light/rc/window_minimize_pressed.png | Bin 202 -> 202 bytes .../light/rc/window_minimize_pressed@2x.png | Bin 327 -> 327 bytes .../qdarkstyle/light/rc/window_undock.png | Bin 522 -> 522 bytes .../qdarkstyle/light/rc/window_undock@2x.png | Bin 907 -> 907 bytes .../light/rc/window_undock_disabled.png | Bin 505 -> 505 bytes .../light/rc/window_undock_disabled@2x.png | Bin 881 -> 881 bytes .../light/rc/window_undock_focus.png | Bin 531 -> 531 bytes .../light/rc/window_undock_focus@2x.png | Bin 876 -> 876 bytes .../light/rc/window_undock_pressed.png | Bin 499 -> 499 bytes .../light/rc/window_undock_pressed@2x.png | Bin 855 -> 855 bytes client/resources/qdarkstyle/light/style.qrc | 3 +- client/resources/qdarkstyle/light/style.qss | 20 +- client/runguard.cpp | 79 +++++ client/runguard.h | 32 ++ 426 files changed, 595 insertions(+), 20 deletions(-) create mode 100644 client/platforms/linux/autostart.cpp create mode 100644 client/platforms/linux/autostart.h create mode 100644 client/platforms/linux/idle_tracking.cpp create mode 100644 client/platforms/linux/idle_tracking.h create mode 100644 client/runguard.cpp create mode 100644 client/runguard.h diff --git a/client/platforms/linux/autostart.cpp b/client/platforms/linux/autostart.cpp new file mode 100644 index 0000000..11c4e42 --- /dev/null +++ b/client/platforms/linux/autostart.cpp @@ -0,0 +1,140 @@ +#include "autostart.h" +#include + +#if defined(TARGET_LINUX) + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace fs = std::filesystem; + +#define QBREAK_DESKTOP_NAME "qbreak.desktop" + +static std::string read_desktop_file() +{ + QFile f(":/assets/misc/qbreak.desktop"); + f.open(QFile::ReadOnly); + auto bytes = f.readAll(); + return bytes.toStdString(); +} + +static std::string fixup_desktop_file(const std::string& desktop_unit, const std::string& path) +{ + // load set with first file + std::istringstream inf(desktop_unit); + std::vector lines; + std::string line; + for (unsigned int i=0; std::getline(inf,line); i++) + { + if (line.find("Exec=") == 0) + { + line = "Exec=" + path; + } + lines.push_back(line); + } + + std::ostringstream oss; + std::copy(lines.begin(), lines.end(), std::ostream_iterator(oss, "\n")); + return oss.str(); +} + +static fs::path home_dir() +{ + struct passwd *pw = getpwuid(getuid()); + return pw ? pw->pw_dir : std::string(); +} + +static fs::path autostart_dir() +{ + return home_dir() / ".config" / "autostart"; +} + +static fs::path autostart_path() +{ + return autostart_dir() / QBREAK_DESKTOP_NAME; +} + +void autostart::enable(const std::string& path_to_me) +{ + // Put .desktop file to ~/.config/autostart + std::ofstream ofs(autostart_path()); + if (ofs.is_open()) + { + ofs << fixup_desktop_file(read_desktop_file(), path_to_me); + ofs.close(); + } + else + qDebug() << "Failed to write the desktop entry into autostart dir. Error: " << errno; +} + +void autostart::disable() +{ + // Remove .desktop file from ~/.config/autostart + ::remove(autostart_path().c_str()); +} + +bool autostart::is_enabled() +{ + return fs::exists(fs::path(autostart_path())); +} + +// ----- appmenu ----- +static fs::path appmenu_install_dir() +{ + // Global one + // return fs::path("/usr/share/applications"); + + // User only + return home_dir() / ".local" / "share" / "applications"; +} + +void appmenu::install(const std::string& path_to_me) +{ + // Put .desktop file to ~/.config/autostart + std::ofstream ofs(appmenu_install_dir() / QBREAK_DESKTOP_NAME); + if (ofs.is_open()) + { + ofs << fixup_desktop_file(read_desktop_file(), path_to_me); + ofs.close(); + } + else + qDebug() << "Failed to write the desktop entry into app menu dir. Error: " << errno; + + // Install latest icons + { + auto icons = {"16x16", "32x32", "64x64", "128x128", "512x512"}; + + // Here Qt part + auto target_dir = QFileInfo(QDir::homePath() + "/.local/share/icons/hicolor").absoluteFilePath(); + if (QFileInfo::exists(target_dir)) + { + // Copy icons from resources + for (auto& icon_suffix: icons) + { + QString icon_src = QString(":/assets/images/coffee_cup/icon_") + icon_suffix + ".png", + icon_dst = target_dir + "/" + icon_suffix + "/apps/qbreak.png"; + QFile::copy(icon_src, icon_dst); + } + } + } +} + +void appmenu::uninstall() +{ + if (is_installed()) + fs::remove(appmenu_install_dir() / QBREAK_DESKTOP_NAME); +} + +bool appmenu::is_installed() +{ + return fs::exists(appmenu_install_dir() / QBREAK_DESKTOP_NAME); +} +#endif diff --git a/client/platforms/linux/autostart.h b/client/platforms/linux/autostart.h new file mode 100644 index 0000000..4161da0 --- /dev/null +++ b/client/platforms/linux/autostart.h @@ -0,0 +1,22 @@ +#ifndef AUTOSTART_H +#define AUTOSTART_H + +#include + +class autostart +{ +public: + static void enable(const std::string& path_to_me); + static void disable(); + static bool is_enabled(); +}; + +class appmenu +{ +public: + static void install(const std::string& path_to_me); + static void uninstall(); + static bool is_installed(); +}; + +#endif // AUTOSTART_H diff --git a/client/platforms/linux/idle_tracking.cpp b/client/platforms/linux/idle_tracking.cpp new file mode 100644 index 0000000..acb45dd --- /dev/null +++ b/client/platforms/linux/idle_tracking.cpp @@ -0,0 +1,289 @@ +#include "idle_tracking.h" +#include "settings.h" + +#include + +#if defined(TARGET_LINUX) + +#include +#include +#include +#include + +// Thanks to https://stackoverflow.com/questions/222606/detecting-keyboard-mouse-activity-in-linux + +#include +#include +#include +#include +#include +#include + +// This requires sudo apt install libxss-dev +#include // This can require libxss-dev to be installed +#include +// #include +// #include + +/* +// Prototype from stackoverflow +int get_idle_time() +{ + time_t idle_time; + static XScreenSaverInfo *mit_info; + Display *display; + int screen; + + mit_info = XScreenSaverAllocInfo(); + if ((display = XOpenDisplay(NULL)) == NULL) { + return -1; + } + + screen = DefaultScreen(display); + XScreenSaverQueryInfo(display, RootWindow(display, screen), mit_info); + idle_time = (mit_info->idle); + XFree(mit_info); + XCloseDisplay(display); + + return idle_time; +} +*/ + +int get_idle_time_x11() +{ + void* lib_xss = dlopen("libXss.so", RTLD_LAZY); + if (!lib_xss) + return 0; + + void* lib_x11 = dlopen("libX11.so", RTLD_LAZY); + if (!lib_x11) + return 0; + + typedef XScreenSaverInfo* (*xss_alloc_info)(void); + xss_alloc_info alloc_info = (xss_alloc_info)dlsym(lib_xss, "XScreenSaverAllocInfo"); + + typedef Display* (*x11_open_display)(void*); + x11_open_display open_display = (x11_open_display)dlsym(lib_x11, "XOpenDisplay"); + + + typedef Status (*xss_query_info)( Display* /* display */, + Drawable /* drawable */, + XScreenSaverInfo* /* info */); + xss_query_info query_info = (xss_query_info)dlsym(lib_xss, "XScreenSaverQueryInfo"); + + typedef int (*x11_free)(void*); + x11_free free_mem = (x11_free)dlsym(lib_x11, "XFree"); + + typedef int (*x11_close_display)(Display* display); + x11_close_display close_display = (x11_close_display)dlsym(lib_x11, "XCloseDisplay"); + + + time_t idle_time; + static XScreenSaverInfo *mit_info; + Display *display; + int screen; + + mit_info = alloc_info(); + if ((display = open_display(NULL)) == NULL) { + return -1; + } + + screen = DefaultScreen(display); + query_info(display, RootWindow(display, screen), mit_info); + idle_time = (mit_info->idle); + free_mem(mit_info); + close_display(display); + + dlclose(lib_xss); + dlclose(lib_x11); + return idle_time; +} + +int get_idle_time_gnome() +{ + auto bus = QDBusConnection::sessionBus(); + if (!bus.isConnected()) + return 0; + + QDBusInterface interface( "org.gnome.Mutter.IdleMonitor", + "/org/gnome/Mutter/IdleMonitor/Core", + "org.gnome.Mutter.IdleMonitor"); + + QDBusReply reply = interface.call("GetIdletime"); + + return reply.isValid() ? reply.value() : 0; +} + +#if defined(USE_WAYLAND) +#include + +class kde_idle_detector +{ +private: + wayland::seat_t seat; + wayland::display_t d; + wayland::org_kde_kwin_idle_t idle; + wayland::org_kde_kwin_idle_timeout_t idle_timer; + + uint64_t idle_start = 0; + uint64_t idle_finish = 0; + bool active = false; + +public: + kde_idle_detector() + {} + ~kde_idle_detector() + { + stop(); + } + + // Idle timeout is in msec + void start(int idle_timeout) + { + if (active) + return; + + auto registry = d.get_registry(); + registry.on_global() = [&] (uint32_t name, const std::string& interface, uint32_t version) + { + if (interface == wayland::seat_t::interface_name) + registry.bind(name, this->seat, version); + else + if (interface == wayland::org_kde_kwin_idle_t::interface_name) + registry.bind(name, this->idle, version); + }; + d.roundtrip(); + + + bool has_keyboard = false, has_pointer = false; + seat.on_capabilities() = [&] (const wayland::seat_capability& capability) + { + has_keyboard = capability & wayland::seat_capability::keyboard; + has_pointer = capability & wayland::seat_capability::pointer; + }; + d.roundtrip(); + + idle_timer = idle.get_idle_timeout(seat, idle_timeout); + idle_timer.on_idle() = [&]() + { + idle_start = ::time(nullptr); + }; + + idle_timer.on_resumed() = [&]() + { + idle_finish = ::time(nullptr); + }; + + active = true; + } + + void stop() + { + if (!active) + return; + + active = false; + idle_timer.release(); + seat.release(); + } + + // Return idle time in microseconds + int get_idle_time() const + { + if (idle_start > idle_finish) + { + return (::time(nullptr) - idle_start) * 1000; + } + + return 0; + } +}; + +kde_idle_detector kde_idle; +int get_idle_time_kde_wayland() +{ + // Ensure idle detector runs + kde_idle.start(1); + + return kde_idle.get_idle_time(); +} + +#endif + +int get_idle_time_dynamically() +{ + const char* wl_display = std::getenv("WAYLAND_DISPLAY"); + // const char* x11_display = std::getenv("DISPLAY"); + +#if defined(USE_WAYLAND) + if (wl_display) + { + const char* desktop_name = std::getenv("XDG_SESSION_DESKTOP"); + if (!desktop_name) + return 0; + + if (strcmp(desktop_name, "KDE") == 0) + return get_idle_time_kde_wayland(); + else + if (strcmp(desktop_name, "GNOME") == 0) + return get_idle_time_gnome(); + else + return 0; + } + else + return get_idle_time_x11(); +#else + // Restrict to X11 + if (wl_display) + return 0; + + return get_idle_time_x11(); +#endif +} + +#endif + +#if defined(TARGET_WINDOWS) + +// To handle Windows case later +// https://stackoverflow.com/questions/8820615/how-to-check-in-c-if-the-system-is-active + +/* +#define WINDOWS_LEAN_AND_MEAN +#include +#include + +// do something after 10 minutes of user inactivity +static const unsigned int idle_milliseconds = 60*10*1000; +// wait at least an hour between two runs +static const unsigned int interval = 60*60*1000; + +int main() { + LASTINPUTINFO last_input; + BOOL screensaver_active; + + // main loop to check if user has been idle long enough + for (;;) { + if ( !GetLastInputInfo(&last_input) + || !SystemParametersInfo(SPI_GETSCREENSAVERACTIVE, 0, + &screensaver_active, 0)) + { + std::cerr << "WinAPI failed!" << std::endl; + return ERROR_FAILURE; + } + + if (last_input.dwTime < idle_milliseconds && !screensaver_active) { + // user hasn't been idle for long enough + // AND no screensaver is running + Sleep(1000); + continue; + } + + // user has been idle at least 10 minutes + do_something(); + // done. Wait before doing the next loop. + Sleep(interval); + } +} +*/ +#endif diff --git a/client/platforms/linux/idle_tracking.h b/client/platforms/linux/idle_tracking.h new file mode 100644 index 0000000..be661ea --- /dev/null +++ b/client/platforms/linux/idle_tracking.h @@ -0,0 +1,7 @@ +#ifndef __IDLE_TRACKING_H +#define __IDLE_TRACKING_H + +// Returns the idle time in milliseconds +extern int get_idle_time(); +extern int get_idle_time_dynamically(); +#endif diff --git a/client/resources/qdarkstyle/dark/rc/arrow_down.png b/client/resources/qdarkstyle/dark/rc/arrow_down.png index 5575ab5ce569d09e2708b0a16a90a5a5a381790e..aa9938ab44dc9c4f7e9adb9671c8572b80d7061a 100644 GIT binary patch delta 22 dcmeBT>0+6n&CPd&fr0M`<5X=v>5XPr7y(3?1}y*p delta 22 dcmeBT>0+6n%`M=|z#!nunBK$qV58X;MgTr%1}*>q diff --git a/client/resources/qdarkstyle/dark/rc/arrow_down@2x.png b/client/resources/qdarkstyle/dark/rc/arrow_down@2x.png index 4596a5ce8addad7f348c21132be688271c6c3c51..c1f33469aea94adb09e73d410c1b622c092f549d 100644 GIT binary patch delta 22 dcmZqVXylln&CPd&fr0M`<5X=v>5XQmnE^wu1{?qY delta 22 dcmZqVXylln%`M=|z#!nunBK$qV58Y-W&k~X1|0wZ diff --git a/client/resources/qdarkstyle/dark/rc/arrow_down_disabled.png b/client/resources/qdarkstyle/dark/rc/arrow_down_disabled.png index bdf8c1abb736f498c84fc4980d36b450c8131507..972df9cd1661f7ff195c02b529491f8e71b92eb2 100644 GIT binary patch delta 22 ecmZ3)vWR7ZHaFi91_r((j8nDwq&J$qVFUn3xdwFr delta 22 dcmZ3)vWR7ZHn)H;1A~AsV|owcgN1LUr&CPd&fr0M`<5X=v>5XPr839Da1~32s delta 22 dcmeBX>1LUr%`M=|z#!nunBK$qV58YpMgTsO1~C8t diff --git a/client/resources/qdarkstyle/dark/rc/arrow_down_focus@2x.png b/client/resources/qdarkstyle/dark/rc/arrow_down_focus@2x.png index 2b12f74d0a38ab95428c3ff012c9150e9b20ac2a..06b80be4bc306ff88da171474703a52f2c3362ea 100644 GIT binary patch delta 22 ecmaFB{(yagHaFi91_r((j8nDwq&J$aVg>+G+XlA) delta 22 dcmaFB{(yagHn)H;1A~AsV|owcgNH delta 22 dcmdnavYlmuHn)H;1A~AsV|owcgN diff --git a/client/resources/qdarkstyle/dark/rc/arrow_left@2x.png b/client/resources/qdarkstyle/dark/rc/arrow_left@2x.png index dc649ca7093e1b7155c59e8fb08ed00094ae7e67..129d2e13a8d8916761caf1f496b444fbe4487f8e 100644 GIT binary patch delta 22 ecmeyw@rh%CHaFi91_r((j8nDwq&J$`umAv690qUz delta 22 dcmeyw@rh%CHn)H;1A~AsV|owcgNvX*6nHaFi91_r((j8nDwq&J#vX*6nHn)H;1A~AsV|owcgN4*akNM delta 22 dcmcc5ai3#?Hn)H;1A~AsV|owcgNo! diff --git a/client/resources/qdarkstyle/dark/rc/arrow_left_pressed.png b/client/resources/qdarkstyle/dark/rc/arrow_left_pressed.png index c04ce09435c23ac5720f55d7d12e7ffcc6e74248..c723d3bff7b4c169c6ef7cfdc565638df60d2d02 100644 GIT binary patch delta 22 ecmdnTvX5ngHaFi91_r((j8nDwq&J#zFaZEdiUrC5 delta 22 dcmdnTvX5ngHn)H;1A~AsV|owcgNc diff --git a/client/resources/qdarkstyle/dark/rc/arrow_left_pressed@2x.png b/client/resources/qdarkstyle/dark/rc/arrow_left_pressed@2x.png index 02218c80dd467beda61fa8b7ee3efcd2d32eae36..f0bcb5229b1ceb85a30395d4255d258641f1dbdc 100644 GIT binary patch delta 22 dcmZqXZ04Mx&CPd&fr0M`<5X=v>5XQ-EC53=1*HH0 delta 22 dcmZqXZ04Mx%`M=|z#!nunBK$qV56BY3jjR+1*QN1 diff --git a/client/resources/qdarkstyle/dark/rc/arrow_right.png b/client/resources/qdarkstyle/dark/rc/arrow_right.png index fd31b4f2a4276b8085e1ee20ea9787cd7dbb5c53..86bc42aeb17bc2f907e5fe43f36eb120a5f9f8fd 100644 GIT binary patch delta 22 ecmZ3)vWR7ZHaFi91_r((j8nDwq&J$qVFUn3xdwFr delta 22 dcmZ3)vWR7ZHn)H;1A~AsV|owcgN6I0jDu delta 22 dcmaFP@tk9VHn)H;1A~AsV|owcgN8_y&If delta 22 dcmey)@ttFWHn)H;1A~AsV|owcgNb&2qy{1Y delta 22 dcmcb?af4%mHn)H;1A~AsV|owcgNc diff --git a/client/resources/qdarkstyle/dark/rc/arrow_right_pressed@2x.png b/client/resources/qdarkstyle/dark/rc/arrow_right_pressed@2x.png index 86e3b9286c5c08edd9ac267e7fdd2ea566b08ec0..f6181eb64d1b48647c5b3ca08bc7ab565f99d07b 100644 GIT binary patch delta 22 dcmeC;?BblD&CPd&fr0M`<5X=v>5XO~EC57g1-bwL delta 22 dcmeC;?BblD%`M=|z#!nunBK$qV531COq&CPd&fr0M`<5X=v>5XRB839Ed1~vcy delta 22 dcmeBW>1COq%`M=|z#!nunBK$qV58Y}MgTtR1~&iz diff --git a/client/resources/qdarkstyle/dark/rc/arrow_up@2x.png b/client/resources/qdarkstyle/dark/rc/arrow_up@2x.png index 51b1d7234c0a17996fa9d0d149fa44a447a01cae..65276abff9e8c41873c181c9c82a3d97e44a7fbd 100644 GIT binary patch delta 22 ecmeys{(*ghHaFi91_r((j8nDwq&J%FVg>+Jn+E3q delta 22 dcmeys{(*ghHn)H;1A~AsV|owcgNZ2220| diff --git a/client/resources/qdarkstyle/dark/rc/arrow_up_focus@2x.png b/client/resources/qdarkstyle/dark/rc/arrow_up_focus@2x.png index 0c8ef33f487c65f5be8a290ee8558bbaa7f7139f..f6998104b5dd6e9b760533c616fc819f09084927 100644 GIT binary patch delta 22 ecmcb|evf^EHaFi91_r((j8nDwq&J$aUt2C@JE diff --git a/client/resources/qdarkstyle/dark/rc/arrow_up_pressed.png b/client/resources/qdarkstyle/dark/rc/arrow_up_pressed.png index c3368d096febea4a232751a41d2983faec3a6248..22332010697f4eaa2390c2449306c349538772ef 100644 GIT binary patch delta 22 ecmZ3*vWjJbHaFi91_r((j8nDwq&J# delta 22 dcmbQsF_&Y4Hn)H;1A~AsV|owcgN5XRLi~vLR1+)MF delta 22 dcmeBW?q!~!%`M=|z#!nunBK$qV53<$BLF?a1+@SG diff --git a/client/resources/qdarkstyle/dark/rc/branch_closed@2x.png b/client/resources/qdarkstyle/dark/rc/branch_closed@2x.png index f49651b704519d8039548111b93554bd743616e8..564ba0e97790370371d044a1f51fb56d6600e638 100644 GIT binary patch delta 22 ecmdnNwu5bgHaFi91_r((j8nDwq&J!|F#`Zf(*?Z% delta 22 dcmdnNwu5bgHn)H;1A~AsV|owcgNHaFi91_r((j8nDwq&J#rFarQlTLv!x delta 22 dcmcb|c8_g>Hn)H;1A~AsV|owcgN5XQgi~vKO1+D-9 delta 22 dcmeBX?q;5#%`M=|z#!nunBK$qV53X1+M@A diff --git a/client/resources/qdarkstyle/dark/rc/branch_closed_focus@2x.png b/client/resources/qdarkstyle/dark/rc/branch_closed_focus@2x.png index 39fd0d0e20408fe2f4c44537abea487c927232a1..88dd0a62b1d340cfb4443a5d9ae85b06fd7fb76e 100644 GIT binary patch delta 22 ecmZ3*wu)_nHaFi91_r((j8nDwq&J#wt^fc4 diff --git a/client/resources/qdarkstyle/dark/rc/branch_end@2x.png b/client/resources/qdarkstyle/dark/rc/branch_end@2x.png index 91f3bd02d3decdf453be0c3183e86d1046087629..9f99c24a954e1c49514d4b8faeb0186105ee2da7 100644 GIT binary patch delta 21 dcmX@hc$RU3HaFi91_r((j8nDwq$iq92LMOa22TJ0 delta 21 ccmX@hc$RU3Hn)H;1A~AsV|owcgNbI-0YRb$Pyhe` diff --git a/client/resources/qdarkstyle/dark/rc/branch_end_disabled.png b/client/resources/qdarkstyle/dark/rc/branch_end_disabled.png index fe819bc14156ed1ea3822956c893ec996017b404..bb4344c7854ebb1c449d033cf37ff0096b7f2f23 100644 GIT binary patch delta 21 dcmbQiID>J5HaFi91_r((j8nDwq$ips0RTT(1+V}B delta 21 ccmbQiID>J5Hn)H;1A~AsV|owcgNbHI068TEu>b%7 diff --git a/client/resources/qdarkstyle/dark/rc/branch_end_disabled@2x.png b/client/resources/qdarkstyle/dark/rc/branch_end_disabled@2x.png index 58024770943348ff8b9ff6b2f3cce0cbc8eb8894..8feb46d464beb9de0fa1d27a2e4ae1435bfd6b91 100644 GIT binary patch delta 21 dcmX@hc$RU3HaFi91_r((j8nDwq$iq92LMOa22TJ0 delta 21 ccmX@hc$RU3Hn)H;1A~AsV|owcgNbI-0YRb$Pyhe` diff --git a/client/resources/qdarkstyle/dark/rc/branch_end_focus.png b/client/resources/qdarkstyle/dark/rc/branch_end_focus.png index 9a978c0cc626e4c8a3bde6568e3e6197bedbd5cd..ff713cf5f0c10d39e4ee154946209f262fdbbf21 100644 GIT binary patch delta 21 dcmbQrIF)gNHaFi91_r((j8nDwq$iri0{}kV1*ZT2 delta 21 ccmbQrIF)gNHn)H;1A~AsV|owcgNbJG063}zr~m)} diff --git a/client/resources/qdarkstyle/dark/rc/branch_end_focus@2x.png b/client/resources/qdarkstyle/dark/rc/branch_end_focus@2x.png index ece9b825d5ac72bc51e950af77c6071af1d65a1f..0bd0e4ba33f340e999a7985715a0d2b7f84e5510 100644 GIT binary patch delta 21 dcmX@jc$#s7HaFi91_r((j8nDwq$iq91pr5b21x(_ delta 21 ccmX@jc$#s7Hn)H;1A~AsV|owcgNbHS0YOj(N&o-= diff --git a/client/resources/qdarkstyle/dark/rc/branch_end_pressed.png b/client/resources/qdarkstyle/dark/rc/branch_end_pressed.png index 1d4050997cd7ebca3c982e660a9ebdbb4712a9b1..2020162f231100cb45c703ad6bc75ed3753972f9 100644 GIT binary patch delta 21 dcmbQiID>J5HaFi91_r((j8nDwq$ips0RTT(1+V}B delta 21 ccmbQiID>J5Hn)H;1A~AsV|owcgNbHI068TEu>b%7 diff --git a/client/resources/qdarkstyle/dark/rc/branch_end_pressed@2x.png b/client/resources/qdarkstyle/dark/rc/branch_end_pressed@2x.png index 4822745c4378dd4a5780f41afdd9fb3cfec731e8..2a5c4fabf6dbdd4257b2d83b14c2885426f5e0db 100644 GIT binary patch delta 21 dcmX@Zc!qI;HaFi91_r((j8nDwq$iq90{};?2220| delta 21 ccmX@Zc!qI;Hn)H;1A~AsV|owcgNbI-06}>MO#lD@ diff --git a/client/resources/qdarkstyle/dark/rc/branch_line.png b/client/resources/qdarkstyle/dark/rc/branch_line.png index 75cc027f81737e367517a2b2c7fd7bd243ff0d37..803e6a4a1a625c82540389b95d532763d559dcf8 100644 GIT binary patch delta 21 ccmZo=Y-OCF&CPd&fr0M`<5X=v>4|3k06a|vcK`qY delta 21 ccmZo=Y-OCF%`M=|z#!nunBK$qV4|5n05%#0cmMzZ diff --git a/client/resources/qdarkstyle/dark/rc/branch_line@2x.png b/client/resources/qdarkstyle/dark/rc/branch_line@2x.png index 7273705589c0fa5f768274376eab813eda018b3a..4236fe58d800594519f69a08b5f2dcf31d3af892 100644 GIT binary patch delta 21 dcmaFI_>OUcHaFi91_r((j8nDwq$ir~002!M2C@JE delta 21 ccmaFI_>OUcHn)H;1A~AsV|owcgNbH407mNuvj6}9 diff --git a/client/resources/qdarkstyle/dark/rc/branch_line_disabled.png b/client/resources/qdarkstyle/dark/rc/branch_line_disabled.png index 01c6cffa7a4c41e39c8b2f2ad8ac1f60807ae0d2..9c8c47b3d0135be4123a0ff0ed5c95f4853da7ad 100644 GIT binary patch delta 21 ccmZo?Y-gOH&CPd&fr0M`<5X=v>4|2606d=seE4|0m06caDdH?_b delta 21 ccmZo;Y-60D%`M=|z#!nunBK$qV4_(705(GfdjJ3c diff --git a/client/resources/qdarkstyle/dark/rc/branch_line_focus@2x.png b/client/resources/qdarkstyle/dark/rc/branch_line_focus@2x.png index 34e7d603f7aeb233f097c963069f24011c1324da..512ee13a25ee7caa1f90e6ddd8b1cd9696f92fd4 100644 GIT binary patch delta 21 dcmaFI_>OUcHaFi91_r((j8nDwq$ir~002!M2C@JE delta 21 ccmaFI_>OUcHn)H;1A~AsV|owcgNbH407mNuvj6}9 diff --git a/client/resources/qdarkstyle/dark/rc/branch_line_pressed.png b/client/resources/qdarkstyle/dark/rc/branch_line_pressed.png index 6a54b0948d7de3b7b5b7651abdb8caaa23f91080..3ca15c5d0b97a1acc143844169b21a2428a8bc62 100644 GIT binary patch delta 21 ccmZo?Y-gOH&CPd&fr0M`<5X=v>4|2606d=seE4|3N06fYC_5c6? delta 21 ccmZo+YGIn7%`M=|z#!nunBK$qV4~SM05+Ee_W%F@ diff --git a/client/resources/qdarkstyle/dark/rc/branch_more_disabled.png b/client/resources/qdarkstyle/dark/rc/branch_more_disabled.png index 8630b91c95381b851e7caab3ef7ec5b0e92e31ca..29d99a63e811101dbc2878b769cf378f40b6d9bd 100644 GIT binary patch delta 21 dcmZ3^xSVlFDu delta 21 ccmZ3^xSVl4|0+0X;4|3N06fYC_5c6? delta 21 ccmZo+YGIn7%`M=|z#!nunBK$qV4~SM05+Ee_W%F@ diff --git a/client/resources/qdarkstyle/dark/rc/branch_more_pressed.png b/client/resources/qdarkstyle/dark/rc/branch_more_pressed.png index a306eb288f0ce1ee9fcfe32e951f50d99a870320..4f4d9fb9179da2e20b7a5e8fea17aa46304d51a1 100644 GIT binary patch delta 21 dcmZ3;xR7yzHaFi91_r((j8nDwq$iqX0{}qD1c delta 21 ccmZ3;xR7yzHn)H;1A~AsV|owcgNbI@06LZh%m4rY diff --git a/client/resources/qdarkstyle/dark/rc/branch_more_pressed@2x.png b/client/resources/qdarkstyle/dark/rc/branch_more_pressed@2x.png index 7044b28223febf305198af5cabafa1779416736a..5f18f83415213205e3c9069f9ae6a74662b26efa 100644 GIT binary patch delta 21 ccmZo;YGaz9&CPd&fr0M`<5X=v>4|0+06iQ9`~Uy| delta 21 ccmZo;YGaz9%`M=|z#!nunBK$qV4~Rt05<6b{Qv*} diff --git a/client/resources/qdarkstyle/dark/rc/branch_open.png b/client/resources/qdarkstyle/dark/rc/branch_open.png index 445ec718101e8becb0f4b3952a52b66dd5a62721..1ff7b48d195b392eb9d53199d0882c33a121bf06 100644 GIT binary patch delta 22 ecmbQjJcW6JHaFi91_r((j8nDwq&J$yF#-TZDFw*@ delta 22 dcmbQjJcW6JHn)H;1A~AsV|owcgNww7&zHaFi91_r((j8nDwq&J#ww7&zHn)H;1A~AsV|owcgN5XP#i~vK)1+f4C delta 22 dcmeBS?qQyw%`M=|z#!nunBK$qV53@1+oAD diff --git a/client/resources/qdarkstyle/dark/rc/branch_open_focus@2x.png b/client/resources/qdarkstyle/dark/rc/branch_open_focus@2x.png index 296d17553ccf8e51068f163eb1dbf52aa0f563af..b38e17a33ce26a234a77a1ff487304352e780deb 100644 GIT binary patch delta 22 ecmbQvHl1yPHaFi91_r((j8nDwq&J#9WC8$3CI(pm delta 22 dcmbQvHl1yPHn)H;1A~AsV|owcgN5XO~OaMc|1+V}B delta 22 dcmeBT?P8sv%`M=|z#!nunBK$qV535XQQOaMfl1-}3Q delta 22 dcmeBY?Pr~!%`M=|z#!nunBK$qV535XO=7y(1+1|a|d delta 22 dcmZo;X=9n7%`M=|z#!nunBK$qV58XuMgTpx1|k3e diff --git a/client/resources/qdarkstyle/dark/rc/checkbox_indeterminate_pressed@2x.png b/client/resources/qdarkstyle/dark/rc/checkbox_indeterminate_pressed@2x.png index 9e37b8433ae4fc97f4a952769041f84726577b08..aa7493edc603095e2474b6c96e954c16f83b8907 100644 GIT binary patch delta 22 ecmaFN{+NA&HaFi91_r((j8nDwq&J$aWd;CKUk1Pc delta 22 dcmaFN{+NA&Hn)H;1A~AsV|owcgN5XQ=i~vJL1*iZ3 delta 22 dcmeBV?qr^z%`M=|z#!nunBK$qV53 delta 22 dcmX@dc8+a=Hn)H;1A~AsV|owcgN5XQAi~vII1)=}| delta 22 dcmZo?ZfBmL%`M=|z#!nunBK$qV53Zf2gK&CPd&fr0M`<5X=v>5XQ-i~vGC1(pB+ delta 22 dcmZo>Zf2gK%`M=|z#!nunBK$qV56BYBLF-L1(yH- diff --git a/client/resources/qdarkstyle/dark/rc/checkbox_unchecked_focus@2x.png b/client/resources/qdarkstyle/dark/rc/checkbox_unchecked_focus@2x.png index 35c061c0db3db83ddad5fb72cf43eeb06446b58a..4ab217356ec7678b69022302d17ae5d1521590d4 100644 GIT binary patch delta 22 ecmcb_c8P6*HaFi91_r((j8nDwq&J$$FarQjO9l%7 delta 22 dcmcb_c8P6*Hn)H;1A~AsV|owcgNHaFi91_r((j8nDwq&J#rFarQlTLv!x delta 22 dcmcb|c8_g>Hn)H;1A~AsV|owcgN|~sv&CPd&fr0M`<5X=v>4|2+06g&pg8%>k delta 21 ccmeBV>|~sv%`M=|z#!nunBK$qV4_(t05-k_ga7~l diff --git a/client/resources/qdarkstyle/dark/rc/line_horizontal_disabled.png b/client/resources/qdarkstyle/dark/rc/line_horizontal_disabled.png index 72e073a789692e5c2346142b990dcfa47c9c410c..941f14a3859bc35e7616a391a976263c5d2552eb 100644 GIT binary patch delta 19 acmb=doS@CkcZ7j~?+D{mZ9eIVX3hXO&IM5b delta 19 acmb=doS@Au;LE@u;LDia!}wsLnKJ+~n*~w; diff --git a/client/resources/qdarkstyle/dark/rc/line_horizontal_disabled@2x.png b/client/resources/qdarkstyle/dark/rc/line_horizontal_disabled@2x.png index 09a439df962a68164c87bfda552670a44a941c18..972fa080044aa8222dfa5a7918029b49832e265b 100644 GIT binary patch delta 21 ccmeBX>}H&x&CPd&fr0M`<5X=v>4|2c06jwmi2wiq delta 21 ccmeBX>}H&x%`M=|z#!nunBK$qV4_(l05=c?iU0rr diff --git a/client/resources/qdarkstyle/dark/rc/line_horizontal_focus.png b/client/resources/qdarkstyle/dark/rc/line_horizontal_focus.png index c84512bb54d6bb2046f3552363db0b7faa1f6620..221fd4607f550b911111bc52ce98cd12d72b0f01 100644 GIT binary patch delta 19 acmXRfpP diff --git a/client/resources/qdarkstyle/dark/rc/line_horizontal_focus@2x.png b/client/resources/qdarkstyle/dark/rc/line_horizontal_focus@2x.png index 8dd58f609f7e73774edb47f36c7e53c20d419a08..7e6505cae37d16066409cb58f9c1402084680a20 100644 GIT binary patch delta 21 ccmeBV>|~sv&CPd&fr0M`<5X=v>4|2+06g&pg8%>k delta 21 ccmeBV>|~sv%`M=|z#!nunBK$qV4_(t05-k_ga7~l diff --git a/client/resources/qdarkstyle/dark/rc/line_horizontal_pressed.png b/client/resources/qdarkstyle/dark/rc/line_horizontal_pressed.png index 7ca2605bd5a275df2266842439d0725f170647d3..9f9113323f8d5352881bf3280cb963b13545f526 100644 GIT binary patch delta 19 acmb=Zn4rzgcZ7j~?+D{mZ9eIVW=;S&s0B^{ delta 19 acmb=Zn4rxq;LE@u;LDia!}wsLnG*mqbp=lV diff --git a/client/resources/qdarkstyle/dark/rc/line_horizontal_pressed@2x.png b/client/resources/qdarkstyle/dark/rc/line_horizontal_pressed@2x.png index bd966178122b2875018a1430f7fa213f200fe6e4..465680c3b0243987662baf76b0999c61237fe71b 100644 GIT binary patch delta 21 ccmeBT>|>&CPd&fr0M`<5X=v>4|0`06iK7h5!Hn delta 21 ccmeBT>|>%`M=|z#!nunBK$qV4_(F05<0ZhX4Qo diff --git a/client/resources/qdarkstyle/dark/rc/line_vertical.png b/client/resources/qdarkstyle/dark/rc/line_vertical.png index 49a9105261779cb93e4a66ca49d4cd52681081c2..5529f413e4b637bd8de45d95da04eed09d66a5ed 100644 GIT binary patch delta 21 ccmZo=Y-OCF&CPd&fr0M`<5X=v>4|3k06a|vcK`qY delta 21 ccmZo=Y-OCF%`M=|z#!nunBK$qV4|5n05%#0cmMzZ diff --git a/client/resources/qdarkstyle/dark/rc/line_vertical@2x.png b/client/resources/qdarkstyle/dark/rc/line_vertical@2x.png index cbb017ee609e3f273e34f084775e4cc1824b89c6..6a334e7468bc98f38780709ed1b41ad1a244f438 100644 GIT binary patch delta 21 dcmeyy_>FObHaFi91_r((j8nDwq$ipk002&A2Fd^c delta 21 ccmeyy_>FObHn)H;1A~AsV|owcgNbGb07x?i%K!iX diff --git a/client/resources/qdarkstyle/dark/rc/line_vertical_disabled.png b/client/resources/qdarkstyle/dark/rc/line_vertical_disabled.png index 96585468854c16306fb1bd201e9a047f57610e13..c7c4c8959fae03a76b2d3f5890d04e276c45e60c 100644 GIT binary patch delta 21 ccmZo?Y-gOH&CPd&fr0M`<5X=v>4|2606d=seE*yhHaFi91_r((j8nDwq$ipk1^`as2Gall delta 21 ccmey#_>*yhHn)H;1A~AsV|owcgNbH`0Z6U})Bpeg diff --git a/client/resources/qdarkstyle/dark/rc/line_vertical_focus.png b/client/resources/qdarkstyle/dark/rc/line_vertical_focus.png index 512ee7d235a51e815b319907242ec62705bddc2c..36baa09362f46d3c46de7a6a3666fac434ab423c 100644 GIT binary patch delta 21 ccmZo=Y-OCF&CPd&fr0M`<5X=v>4|3k06a|vcK`qY delta 21 ccmZo=Y-OCF%`M=|z#!nunBK$qV4|5n05%#0cmMzZ diff --git a/client/resources/qdarkstyle/dark/rc/line_vertical_focus@2x.png b/client/resources/qdarkstyle/dark/rc/line_vertical_focus@2x.png index af503251d4abd58ec684d81819f531d97cc98f00..24a2b771c30a916357902567cbbcd16ebdd0f2ac 100644 GIT binary patch delta 21 dcmeyy_>FObHaFi91_r((j8nDwq$ipk002&A2Fd^c delta 21 ccmeyy_>FObHn)H;1A~AsV|owcgNbGb07x?i%K!iX diff --git a/client/resources/qdarkstyle/dark/rc/line_vertical_pressed.png b/client/resources/qdarkstyle/dark/rc/line_vertical_pressed.png index b8dd215356f3471b30b411bce8ec8a2a86533eda..60e3574460ca9f195a82c715e66a3299820d1485 100644 GIT binary patch delta 21 ccmZo;Y-60D&CPd&fr0M`<5X=v>4|0m06caDdH?_b delta 21 ccmZo;Y-60D%`M=|z#!nunBK$qV4_(705(GfdjJ3c diff --git a/client/resources/qdarkstyle/dark/rc/line_vertical_pressed@2x.png b/client/resources/qdarkstyle/dark/rc/line_vertical_pressed@2x.png index e1d43a83e28d6d433a5c9b9f8e8be57f3bba786a..c9494051cdf9dc8168f4e3792523d4fba392b80c 100644 GIT binary patch delta 21 dcmeyt_=9nRHaFi91_r((j8nDwq$ipk0sv092G9Ti delta 21 ccmeyt_=9nRHn)H;1A~AsV|owcgNbH`07!)f(EtDd diff --git a/client/resources/qdarkstyle/dark/rc/radio_checked.png b/client/resources/qdarkstyle/dark/rc/radio_checked.png index 2a1d26a4f17cd1fe8d8839310a97b4bf80068f97..274afe1e2928589793f2b27875283dcc42fc0853 100644 GIT binary patch delta 22 ecmaFG`HFLbHaFi91_r((j8nDwq&J#vVF3VC5XO)TmVM;1>^t# delta 22 dcmeAZ?Gv4#%`M=|z#!nunBK$qV53t@~bp^)& delta 22 dcmdnNwS#MdHn)H;1A~AsV|owcgN*n! diff --git a/client/resources/qdarkstyle/dark/rc/radio_checked_focus.png b/client/resources/qdarkstyle/dark/rc/radio_checked_focus.png index 6d9c9801cf0b6ff3649e3eb4b6e641719ecadd20..4bd472e160a5c7e26dbfee8ce8ee94e4af48665a 100644 GIT binary patch delta 22 ecmcb>d4Y3+HaFi91_r((j8nDwq&J$)VgUe9YzB+~ delta 22 dcmcb>d4Y3+Hn)H;1A~AsV|owcgNIPT< delta 22 dcmaDL@<3#QHn)H;1A~AsV|owcgNfoB7&CPd&fr0M`<5X=v>5XQWSO7&d1~vcy delta 22 dcmeC+>foB7%`M=|z#!nunBK$qV58Y3763m21~&iz diff --git a/client/resources/qdarkstyle/dark/rc/radio_checked_pressed@2x.png b/client/resources/qdarkstyle/dark/rc/radio_checked_pressed@2x.png index 9030e10138c4604d59f620a4fa3e69da8f228b33..ffe0fd851766602001de17df7851895d16896b80 100644 GIT binary patch delta 22 ecmew&`bBhtHaFi91_r((j8nDwq&J%F;{pI!f(I4= delta 22 dcmew&`bBhtHn)H;1A~AsV|owcgN` diff --git a/client/resources/qdarkstyle/dark/rc/radio_unchecked@2x.png b/client/resources/qdarkstyle/dark/rc/radio_unchecked@2x.png index 41e790ac764a1c951fffc2559cecd2c87d87d59f..8237e4062ad61679bd0c4dd16ff810e3f0456481 100644 GIT binary patch delta 22 ecmaDO@J3*QHaFi91_r((j8nDwq&J$GaR2~SSO#(c delta 22 dcmaDO@J3*QHn)H;1A~AsV|owcgN& diff --git a/client/resources/qdarkstyle/dark/rc/radio_unchecked_focus@2x.png b/client/resources/qdarkstyle/dark/rc/radio_unchecked_focus@2x.png index 0f12c860be431b46ed6351643e9ba8a3c39aa854..eaf7bc26b9e24e84a85420e7aafbb2d726c2cbc4 100644 GIT binary patch delta 22 ecmX>va9&`7HaFi91_r((j8nDwq&J#LasU8OTm~Be delta 22 dcmX>va9&`7Hn)H;1A~AsV|owcgN5XP*nE^xx1|k3e delta 22 dcmZqXXy%xp%`M=|z#!nunBK$qV58YtW&l0a1|t9f diff --git a/client/resources/qdarkstyle/dark/rc/radio_unchecked_pressed@2x.png b/client/resources/qdarkstyle/dark/rc/radio_unchecked_pressed@2x.png index 9e424e4b37ae52a2a94d351b855b2167bc27f5b2..ba4f83b91ede00725dd5c1a73aecc39315b49d3d 100644 GIT binary patch delta 22 ecmcaEcwKOUHaFi91_r((j8nDwq&J!^ delta 22 dcmcaEcwKOUHn)H;1A~AsV|owcgN}8yw&CPd&fr0M`<5X=v>4|3H06mojj{pDw delta 21 ccmeBW>}8yw%`M=|z#!nunBK$qV4_(#05@Uc!6<(HaFi91_r((j8nDwq$irq0su%*23P<9 delta 21 ccmcb>c!6<(Hn)H;1A~AsV|owcgNbId074xGSpWb4 diff --git a/client/resources/qdarkstyle/dark/rc/toolbar_move_vertical_disabled.png b/client/resources/qdarkstyle/dark/rc/toolbar_move_vertical_disabled.png index 5cd85dd72434f5171f88f8d259bb21150186da3b..37453ac258dde75dfd42ab72f78e5e7820a2bc46 100644 GIT binary patch delta 21 ccmeBS>|vas&CPd&fr0M`<5X=v>4|1x06lC4i~s-t delta 21 ccmeBS>|vas%`M=|z#!nunBK$qV4_(V05>@WjQ{`u diff --git a/client/resources/qdarkstyle/dark/rc/toolbar_move_vertical_disabled@2x.png b/client/resources/qdarkstyle/dark/rc/toolbar_move_vertical_disabled@2x.png index 07d5ae1bffe7e5b37934788ef4f4face59da1ecb..cca8f6d961b68d1981802e36a70ac11600781b44 100644 GIT binary patch delta 21 dcmcb{c#Uy_HaFi91_r((j8nDwq$ip!002ow25JBR delta 21 ccmcb{c#Uy_Hn)H;1A~AsV|owcgNbGf07DZ7YXATM diff --git a/client/resources/qdarkstyle/dark/rc/toolbar_move_vertical_focus.png b/client/resources/qdarkstyle/dark/rc/toolbar_move_vertical_focus.png index 9aac0365ad51127f595ecece819298531ad89ab9..b548771816311b42f03f8c2a8df528b78dd436db 100644 GIT binary patch delta 21 ccmeBX>}H&x&CPd&fr0M`<5X=v>4|2c06jwmi2wiq delta 21 ccmeBX>}H&x%`M=|z#!nunBK$qV4_(l05=c?iU0rr diff --git a/client/resources/qdarkstyle/dark/rc/toolbar_move_vertical_focus@2x.png b/client/resources/qdarkstyle/dark/rc/toolbar_move_vertical_focus@2x.png index c3b1d1805cb3fe3c4ead89149b2c6528ce6cf155..d4dd49dec9b18ff2afc1843b720f83449e1a8bdd 100644 GIT binary patch delta 21 dcmcc2c$sm6HaFi91_r((j8nDwq$irq1pr9P24MgI delta 21 ccmcc2c$sm6Hn)H;1A~AsV|owcgNbHy0YaDtVgLXD diff --git a/client/resources/qdarkstyle/dark/rc/toolbar_move_vertical_pressed.png b/client/resources/qdarkstyle/dark/rc/toolbar_move_vertical_pressed.png index 30b3921e20e5c01d2839ced911886aad7674711e..768ebaf4ca4d2eb8cf15b00d918ea43c1d6295c0 100644 GIT binary patch delta 21 ccmeBY>}Q;y&CPd&fr0M`<5X=v>4|2M06pggl>h($ delta 21 ccmeBY>}Q;y%`M=|z#!nunBK$qV4_(h05`M+mH+?% diff --git a/client/resources/qdarkstyle/dark/rc/toolbar_move_vertical_pressed@2x.png b/client/resources/qdarkstyle/dark/rc/toolbar_move_vertical_pressed@2x.png index bd01207452e9c6acbe6f2bff42e02217b69849cd..2f170ffd8f91f1cc140c62a3eb9304bbe1550e10 100644 GIT binary patch delta 21 dcmcb}c#&~}HaFi91_r((j8nDwq$irq1^`HT23r6C delta 21 ccmcb}c#&~}Hn)H;1A~AsV|owcgNbId0YXLwTmS$7 diff --git a/client/resources/qdarkstyle/dark/rc/toolbar_separator_horizontal.png b/client/resources/qdarkstyle/dark/rc/toolbar_separator_horizontal.png index 96e2689ff5f7f4f5c69ec2c9bd5ecac9ee60c346..ecf2ab7d0cf13b74e90e4f9f263db0f0553c7da3 100644 GIT binary patch delta 21 dcmbQvIGu5VHaFi91_r((j8nDwq$ips0sucR1+4%8 delta 21 ccmbQvIGu5VHn)H;1A~AsV|owcgNbH|066>wt^fc4 diff --git a/client/resources/qdarkstyle/dark/rc/toolbar_separator_horizontal@2x.png b/client/resources/qdarkstyle/dark/rc/toolbar_separator_horizontal@2x.png index 5944e44c9550998d5b4ce1b448b1fffd79e0042e..ac2b343264624c5a6ce5842ea5c87a4f45abfb7b 100644 GIT binary patch delta 21 dcmZ3$w18=XHaFi91_r((j8nDwq$ira0suiq21)<` delta 21 ccmZ3$w18=XHn)H;1A~AsV|owcgNbIZ06P-~O8@`> diff --git a/client/resources/qdarkstyle/dark/rc/toolbar_separator_horizontal_disabled.png b/client/resources/qdarkstyle/dark/rc/toolbar_separator_horizontal_disabled.png index 941e14509d5b8c58c484db94925f6f6d09a4be09..f8796f9e6be5332d43ff24a1c7dcf7c95a71f223 100644 GIT binary patch delta 21 dcmbQvIGu5VHaFi91_r((j8nDwq$ips0sucR1+4%8 delta 21 ccmbQvIGu5VHn)H;1A~AsV|owcgNbH|066>wt^fc4 diff --git a/client/resources/qdarkstyle/dark/rc/toolbar_separator_horizontal_disabled@2x.png b/client/resources/qdarkstyle/dark/rc/toolbar_separator_horizontal_disabled@2x.png index e44a33be6c9523e88a75557fda60da7c348e4a9d..1d9f20421c8b76e0431bfde488092a91350b64b8 100644 GIT binary patch delta 21 dcmZ3?w3umvHaFi91_r((j8nDwq$ira1pq<822%h4 delta 21 ccmZ3?w3umvHn)H;1A~AsV|owcgNbHu0XvQcQ~&?~ diff --git a/client/resources/qdarkstyle/dark/rc/toolbar_separator_horizontal_focus.png b/client/resources/qdarkstyle/dark/rc/toolbar_separator_horizontal_focus.png index 590b314711ced2ff4b6aa08022cce45a9cca0e11..b592e61c161f720b2348a369b1dd52a9b0a66184 100644 GIT binary patch delta 21 dcmbQrIF)gNHaFi91_r((j8nDwq$iri0{}kV1*ZT2 delta 21 ccmbQrIF)gNHn)H;1A~AsV|owcgNbJG063}zr~m)} diff --git a/client/resources/qdarkstyle/dark/rc/toolbar_separator_horizontal_focus@2x.png b/client/resources/qdarkstyle/dark/rc/toolbar_separator_horizontal_focus@2x.png index ca88313f67c91854ee2b3a89bfbbf8d25d0f6002..a593a7e761473ff439a4dcb4cc79f0557149f016 100644 GIT binary patch delta 21 dcmZ3$w18=XHaFi91_r((j8nDwq$ira0suiq21)<` delta 21 ccmZ3$w18=XHn)H;1A~AsV|owcgNbIZ06P-~O8@`> diff --git a/client/resources/qdarkstyle/dark/rc/toolbar_separator_horizontal_pressed.png b/client/resources/qdarkstyle/dark/rc/toolbar_separator_horizontal_pressed.png index 38004682a2a882747f0036f792655109c96123b5..a806257e0643aa63891216b8399d6c364e39e3e1 100644 GIT binary patch delta 21 dcmbQvIGu5VHaFi91_r((j8nDwq$ips0sucR1+4%8 delta 21 ccmbQvIGu5VHn)H;1A~AsV|owcgNbH|066>wt^fc4 diff --git a/client/resources/qdarkstyle/dark/rc/toolbar_separator_horizontal_pressed@2x.png b/client/resources/qdarkstyle/dark/rc/toolbar_separator_horizontal_pressed@2x.png index d4b88c0476bb5b540ddf5108a02b52fe26618d8f..e1e8e3c148b075e240ba0da19e5b2146eee3a3b1 100644 GIT binary patch delta 21 dcmZ3+w2WzjHaFi91_r((j8nDwq$iqv002Tf23!CD delta 21 ccmZ3+w2WzjHn)H;1A~AsV|owcgNbGz06Yl>T>t<8 diff --git a/client/resources/qdarkstyle/dark/rc/toolbar_separator_vertical.png b/client/resources/qdarkstyle/dark/rc/toolbar_separator_vertical.png index b503c8093ee49c71fae9ae15d78c6163cf10a41d..a894304e69432811e246dd41c03728af53192b6e 100644 GIT binary patch delta 21 ccmeBV>|~sv&CPd&fr0M`<5X=v>4|2+06g&pg8%>k delta 21 ccmeBV>|~sv%`M=|z#!nunBK$qV4_(t05-k_ga7~l diff --git a/client/resources/qdarkstyle/dark/rc/toolbar_separator_vertical@2x.png b/client/resources/qdarkstyle/dark/rc/toolbar_separator_vertical@2x.png index 2725a7fa1aee6f336b84b25639cdfe63ffa14d38..2f66e93d34699edb9b049006704fdfa01db79707 100644 GIT binary patch delta 21 dcmX@Wcz|(&HaFi91_r((j8nDwq$iqn0RTn71}Fdk delta 21 ccmX@Wcz|(&Hn)H;1A~AsV|owcgNbHc06&ceDF6Tf diff --git a/client/resources/qdarkstyle/dark/rc/toolbar_separator_vertical_disabled.png b/client/resources/qdarkstyle/dark/rc/toolbar_separator_vertical_disabled.png index 6aa1fbdd763f029569ac0f31d10ea9627d4edced..48b2657f5025ba7c7fd6d22c4fff8b3c44ecb60c 100644 GIT binary patch delta 21 ccmeBR>|mUr&CPd&fr0M`<5X=v>4|1R06fSAfB*mh delta 21 ccmeBR>|mUr%`M=|z#!nunBK$qV4_(N05+8cfdBvi diff --git a/client/resources/qdarkstyle/dark/rc/toolbar_separator_vertical_disabled@2x.png b/client/resources/qdarkstyle/dark/rc/toolbar_separator_vertical_disabled@2x.png index 8e54cfa8ec05ee3ff66c6ba131919b7a70974f1b..a2173c5eef07938886ce6c7853121601fafbf40e 100644 GIT binary patch delta 21 dcmX@Xc!F_)HaFi91_r((j8nDwq$iq90suz{20#D+ delta 21 ccmX@Xc!F_)Hn)H;1A~AsV|owcgNbI706^6SK>z>% diff --git a/client/resources/qdarkstyle/dark/rc/toolbar_separator_vertical_focus.png b/client/resources/qdarkstyle/dark/rc/toolbar_separator_vertical_focus.png index fcdfc0f21835c0e22d2a6f1010ca2e3f0bd0e37e..e31c694b05f39da714a97ffccb64b11de637ffb5 100644 GIT binary patch delta 21 ccmZo?Y-gOH&CPd&fr0M`<5X=v>4|2606d=seEH~;_u diff --git a/client/resources/qdarkstyle/dark/rc/toolbar_separator_vertical_pressed.png b/client/resources/qdarkstyle/dark/rc/toolbar_separator_vertical_pressed.png index 9d6f84d51ff46471d0aa34652ecbde506cefddb4..4ee7aaaabd6a1d4ebcc276259a2de91fd38a4548 100644 GIT binary patch delta 21 ccmeBT>|>&CPd&fr0M`<5X=v>4|0`06iK7h5!Hn delta 21 ccmeBT>|>%`M=|z#!nunBK$qV4_(F05<0ZhX4Qo diff --git a/client/resources/qdarkstyle/dark/rc/toolbar_separator_vertical_pressed@2x.png b/client/resources/qdarkstyle/dark/rc/toolbar_separator_vertical_pressed@2x.png index 3876a8e87650fd78fdc753ed3cd853d14f6f9a21..d8bf93bf65e449dc92fc861d918f94f15a25cd82 100644 GIT binary patch delta 21 dcmX@Yc!Y6+HaFi91_r((j8nDwq$is70RTp11~dQw delta 21 ccmX@Yc!Y6+Hn)H;1A~AsV|owcgNbH+06;MYH2?qr diff --git a/client/resources/qdarkstyle/dark/rc/transparent.png b/client/resources/qdarkstyle/dark/rc/transparent.png index 3a95111e51595aa94007fbb3345f2e1c6f2d3a15..67753617fec23bbc57360e16d16bdd82ab984743 100644 GIT binary patch delta 19 acmd1En4rzgcZ7j~?+D{mZ9eIVW<~%uNCh4M delta 19 acmd1En4rxq;LE@u;LDia!}wsLnGpam6$Kvv diff --git a/client/resources/qdarkstyle/dark/rc/transparent@2x.png b/client/resources/qdarkstyle/dark/rc/transparent@2x.png index 4c4b952259520cacaeb5fac54556987170b3bc70..4012944b58252423bd3c84fbf6f5e698b1a39bf0 100644 GIT binary patch delta 19 acmXRdouJLlcZ7j~?+D{mZ9eIVX7&I$HU&ih delta 19 acmXRdouJJv;LE@u;LDia!}wsLnLPk90|iC^ diff --git a/client/resources/qdarkstyle/dark/rc/transparent_disabled.png b/client/resources/qdarkstyle/dark/rc/transparent_disabled.png index 3a95111e51595aa94007fbb3345f2e1c6f2d3a15..67753617fec23bbc57360e16d16bdd82ab984743 100644 GIT binary patch delta 19 acmd1En4rzgcZ7j~?+D{mZ9eIVW<~%uNCh4M delta 19 acmd1En4rxq;LE@u;LDia!}wsLnGpam6$Kvv diff --git a/client/resources/qdarkstyle/dark/rc/transparent_disabled@2x.png b/client/resources/qdarkstyle/dark/rc/transparent_disabled@2x.png index 4c4b952259520cacaeb5fac54556987170b3bc70..4012944b58252423bd3c84fbf6f5e698b1a39bf0 100644 GIT binary patch delta 19 acmXRdouJLlcZ7j~?+D{mZ9eIVX7&I$HU&ih delta 19 acmXRdouJJv;LE@u;LDia!}wsLnLPk90|iC^ diff --git a/client/resources/qdarkstyle/dark/rc/transparent_focus.png b/client/resources/qdarkstyle/dark/rc/transparent_focus.png index 3a95111e51595aa94007fbb3345f2e1c6f2d3a15..67753617fec23bbc57360e16d16bdd82ab984743 100644 GIT binary patch delta 19 acmd1En4rzgcZ7j~?+D{mZ9eIVW<~%uNCh4M delta 19 acmd1En4rxq;LE@u;LDia!}wsLnGpam6$Kvv diff --git a/client/resources/qdarkstyle/dark/rc/transparent_focus@2x.png b/client/resources/qdarkstyle/dark/rc/transparent_focus@2x.png index 4c4b952259520cacaeb5fac54556987170b3bc70..4012944b58252423bd3c84fbf6f5e698b1a39bf0 100644 GIT binary patch delta 19 acmXRdouJLlcZ7j~?+D{mZ9eIVX7&I$HU&ih delta 19 acmXRdouJJv;LE@u;LDia!}wsLnLPk90|iC^ diff --git a/client/resources/qdarkstyle/dark/rc/transparent_pressed.png b/client/resources/qdarkstyle/dark/rc/transparent_pressed.png index 3a95111e51595aa94007fbb3345f2e1c6f2d3a15..67753617fec23bbc57360e16d16bdd82ab984743 100644 GIT binary patch delta 19 acmd1En4rzgcZ7j~?+D{mZ9eIVW<~%uNCh4M delta 19 acmd1En4rxq;LE@u;LDia!}wsLnGpam6$Kvv diff --git a/client/resources/qdarkstyle/dark/rc/transparent_pressed@2x.png b/client/resources/qdarkstyle/dark/rc/transparent_pressed@2x.png index 4c4b952259520cacaeb5fac54556987170b3bc70..4012944b58252423bd3c84fbf6f5e698b1a39bf0 100644 GIT binary patch delta 19 acmXRdouJLlcZ7j~?+D{mZ9eIVX7&I$HU&ih delta 19 acmXRdouJJv;LE@u;LDia!}wsLnLPk90|iC^ diff --git a/client/resources/qdarkstyle/dark/rc/window_close.png b/client/resources/qdarkstyle/dark/rc/window_close.png index 0115ca3f32bedff8b25115c025f0de5a19c4c658..2b364793825f2b66017aad2a13512aa397cdf038 100644 GIT binary patch delta 22 ecmX@bdWv;|HaFi91_r((j8nDwq&J#PVFCb7!Uk{v delta 22 dcmX@bdWv;|Hn)H;1A~AsV|owcgNHaFi91_r((j8nDwq&J$?vjG51Y6e9B delta 22 dcmdnWyOno>Hn)H;1A~AsV|owcgNHaFi91_r((j8nDwq&J!^VgdkBDh8SW delta 22 dcmcb?dV_U>Hn)H;1A~AsV|owcgNITXH delta 22 dcmaFC`hsz>% diff --git a/client/resources/qdarkstyle/dark/rc/window_minimize@2x.png b/client/resources/qdarkstyle/dark/rc/window_minimize@2x.png index 434bb07cd3d0f0166679d6153aeaeaa24a03bac4..0e25540417148282733b934716c94515f46bf202 100644 GIT binary patch delta 22 ecmX@kbew5|HaFi91_r((j8nDwq&J!gG6Dch#RcF1 delta 22 dcmX@kbew5|Hn)H;1A~AsV|owcgNpby diff --git a/client/resources/qdarkstyle/dark/rc/window_minimize_disabled.png b/client/resources/qdarkstyle/dark/rc/window_minimize_disabled.png index a1ee4aedad5a25e978e2b997db6a0805a41453f0..cc51ed0eed66b9ed3a25a9b80b7f6affc4b266f7 100644 GIT binary patch delta 21 dcmX@lc%E^BHaFi91_r((j8nDwq$irq1OP}U22}t6 delta 21 ccmX@lc%E^BHn)H;1A~AsV|owcgNbG{0YUTzRsaA1 diff --git a/client/resources/qdarkstyle/dark/rc/window_minimize_disabled@2x.png b/client/resources/qdarkstyle/dark/rc/window_minimize_disabled@2x.png index 8454ad832e0f95d6b8adb24ad5122117d4f7f135..c1676469f9d122a85de2e9dd7f0e97e404a47cf4 100644 GIT binary patch delta 22 ecmcb>bb)DtHaFi91_r((j8nDwq&J#LF#-TiQ3d+| delta 22 dcmcb>bb)DtHn)H;1A~AsV|owcgNHaFi91_r((j8nDwq$irq0RTv%23`OF delta 21 ccmcb_c!_a>Hn)H;1A~AsV|owcgNbHy077pDUjP6A diff --git a/client/resources/qdarkstyle/dark/rc/window_minimize_pressed@2x.png b/client/resources/qdarkstyle/dark/rc/window_minimize_pressed@2x.png index 5750a8e7ed5bc6e188eb7c8979808fca3cc2d35f..5a515c806bac1fa3038baaf2747be22f8ded802f 100644 GIT binary patch delta 22 ecmcb}bdhO-HaFi91_r((j8nDwq&J#LGXelkeFgpi delta 22 dcmcb}bdhO-Hn)H;1A~AsV|owcgN5XRR839AR1|9$a delta 22 dcmZo=X=Rz9%`M=|z#!nunBK$qV58Z2MgTpF1|I+b diff --git a/client/resources/qdarkstyle/dark/rc/window_undock@2x.png b/client/resources/qdarkstyle/dark/rc/window_undock@2x.png index 40345ab9425d92d9963ecac67d9426040f28840a..44c147feb99a939e84c69be51314518d2f53c042 100644 GIT binary patch delta 22 ecmaFJ_K5XQ=%m72@1+oAD delta 22 dcmeBV?_{5#%`M=|z#!nunBK$qV53 - rc/.keep rc/arrow_down.png rc/arrow_down@2x.png rc/arrow_down_disabled.png @@ -212,6 +211,6 @@ rc/window_undock_pressed@2x.png - style.qss + darkstyle.qss diff --git a/client/resources/qdarkstyle/dark/style.qss b/client/resources/qdarkstyle/dark/style.qss index b392674..589a41d 100644 --- a/client/resources/qdarkstyle/dark/style.qss +++ b/client/resources/qdarkstyle/dark/style.qss @@ -1286,18 +1286,22 @@ QComboBox::indicator:alternate { background: #19232D; } +QComboBox::item { + /* Remove to fix #282, #285 and MR #288*/ + /*&:checked { + font-weight: bold; + } + + &:selected { + border: 0px solid transparent; + } + */ +} + QComboBox::item:alternate { background: #19232D; } -QComboBox::item:checked { - font-weight: bold; -} - -QComboBox::item:selected { - border: 0px solid transparent; -} - QComboBox::drop-down { subcontrol-origin: padding; subcontrol-position: top right; diff --git a/client/resources/qdarkstyle/light/rc/arrow_down.png b/client/resources/qdarkstyle/light/rc/arrow_down.png index f07aa76f0a27557e384736cec7005e890f436760..8b8f1f255847377dd5f71b355795d3c5fc37be60 100644 GIT binary patch delta 22 ecmZ3%vVvuTHaFi91_r((j8nDwq&J#0z0m&CPd&fr0M`<5X=v>5XRB7y(4_1~UKv delta 22 dcmeBS>0z0m%`M=|z#!nunBK$qV58YJMgTs)1~dQw diff --git a/client/resources/qdarkstyle/light/rc/arrow_down_disabled@2x.png b/client/resources/qdarkstyle/light/rc/arrow_down_disabled@2x.png index a1bc8741611e72ceadee1df350153ca181398a12..1503e1994988a1c9824b9097a099e1a9e0638558 100644 GIT binary patch delta 22 ecmbQlF^OY>HaFi91_r((j8nDwq&J$~VFmz3n+8t+ delta 22 dcmbQlF^OY>Hn)H;1A~AsV|owcgN1LUr&CPd&fr0M`<5X=v>5XPr839Da1~32s delta 22 dcmeBX>1LUr%`M=|z#!nunBK$qV58YpMgTsO1~C8t diff --git a/client/resources/qdarkstyle/light/rc/arrow_down_focus@2x.png b/client/resources/qdarkstyle/light/rc/arrow_down_focus@2x.png index a0463e5e961ab24b62a8145c6ed316177d32a135..98672c91b50830f0bcbc1bb1a595378d01df16eb 100644 GIT binary patch delta 22 ecmaFM{+4}$HaFi91_r((j8nDwq&J#vX9fUO7Y5z{ delta 22 dcmaFM{+4}$Hn)H;1A~AsV|owcgN9 diff --git a/client/resources/qdarkstyle/light/rc/arrow_down_pressed@2x.png b/client/resources/qdarkstyle/light/rc/arrow_down_pressed@2x.png index 28ae890aef4d1d3f70218ef09901fc0ccc1b8955..d17a9b5e63f186a70a927edf5331ce450b37212e 100644 GIT binary patch delta 22 ecmX@YeuRC3HaFi91_r((j8nDwq&J%NF#`Zj3kG8V delta 22 dcmX@YeuRC3Hn)H;1A~AsV|owcgN5XOqEC55a1+D-9 delta 22 dcmZqUY~!4u%`M=|z#!nunBK$qV53<83jjTW1+M@A diff --git a/client/resources/qdarkstyle/light/rc/arrow_left_focus.png b/client/resources/qdarkstyle/light/rc/arrow_left_focus.png index c0856669a6b55f5a387f53dfa9f6807f9cbdeac0..aca7f7066b24f1614c176c7de2528cbbfa43b03b 100644 GIT binary patch delta 22 ecmdnMvVmoSHaFi91_r((j8nDwq&J%VVgvw7AqJlS delta 22 dcmdnMvVmoSHn)H;1A~AsV|owcgN2$OaPt delta 22 dcmcc2ahYR+Hn)H;1A~AsV|owcgNZ2220| diff --git a/client/resources/qdarkstyle/light/rc/arrow_right@2x.png b/client/resources/qdarkstyle/light/rc/arrow_right@2x.png index bafdf16c9b87c4accdf08fc1954fa5300ad7d7cb..78212102cdf6a0548759857612bc11b9faa0857e 100644 GIT binary patch delta 22 ecmX@jahhX-HaFi91_r((j8nDwq&J$0vH$>1Xa)NK delta 22 dcmX@jahhX-Hn)H;1A~AsV|owcgNb%?Yz52! delta 22 dcmbQhIe~M6Hn)H;1A~AsV|owcgN13Ip&CPd&fr0M`<5X=v>5XQW839CX1}Xpm delta 22 dcmeBV>13Ip%`M=|z#!nunBK$qV58Y(MgTrL1}gvn diff --git a/client/resources/qdarkstyle/light/rc/arrow_up_disabled@2x.png b/client/resources/qdarkstyle/light/rc/arrow_up_disabled@2x.png index 0f582d3236c5cf8c9aa40503268f0d282273c4cf..067ce1f945569d3684764a2764f31762c17c08de 100644 GIT binary patch delta 22 ecmbQjF@5XO=839BU1|$Fg delta 22 dcmZo?X=jjv8Z delta 22 dcmaFE{)T;mHn)H;1A~AsV|owcgN5XRoi~vHF1)Kl? delta 22 dcmZo=Ze^aJ%`M=|z#!nunBK$qV56BoBLF;O1)Tr@ diff --git a/client/resources/qdarkstyle/light/rc/branch_closed_pressed@2x.png b/client/resources/qdarkstyle/light/rc/branch_closed_pressed@2x.png index 2008d625698cfd29b6df82eb2479b380aa9771c5..9c80d487c63897da69b179426936dca41a4f62a9 100644 GIT binary patch delta 22 ecmZ3&wuEhhHaFi91_r((j8nDwq&J$qV*&t4Vg`T! delta 22 dcmZ3&wuEhhHn)H;1A~AsV|owcgNJ5HaFi91_r((j8nDwq$ips0RTT(1+V}B delta 21 ccmbQiID>J5Hn)H;1A~AsV|owcgNbHI068TEu>b%7 diff --git a/client/resources/qdarkstyle/light/rc/branch_end_focus@2x.png b/client/resources/qdarkstyle/light/rc/branch_end_focus@2x.png index d756b29193b1958e595b58ba2c3532fe9c504a1b..32491c6ae130c6386d26810cb7fd017dfd03e31e 100644 GIT binary patch delta 21 dcmX@Zc!qI;HaFi91_r((j8nDwq$iq90{};?2220| delta 21 ccmX@Zc!qI;Hn)H;1A~AsV|owcgNbI-06}>MO#lD@ diff --git a/client/resources/qdarkstyle/light/rc/branch_end_pressed.png b/client/resources/qdarkstyle/light/rc/branch_end_pressed.png index 7a868658ef543ffdc9c25145f5721b529ced1ec0..33a1adf62d165d5ed19b06cc22c96de51d42e28f 100644 GIT binary patch delta 21 dcmbQtIGJ&RHaFi91_r((j8nDwq$iri0suaX1)%@{ delta 21 ccmbQtIGJ&RHn)H;1A~AsV|owcgNbIb0616$q5uE@ diff --git a/client/resources/qdarkstyle/light/rc/branch_end_pressed@2x.png b/client/resources/qdarkstyle/light/rc/branch_end_pressed@2x.png index 561e6ebf665cc1e188e77081c8fe8cdd982dce98..4f8d2c8e0e0dd2fc91c5366ec0e170d8207abcf5 100644 GIT binary patch delta 21 dcmX@bc#3g?HaFi91_r((j8nDwq$iq90RTr@21Wn? delta 21 ccmX@bc#3g?Hn)H;1A~AsV|owcgNbHS06`}PM*si- diff --git a/client/resources/qdarkstyle/light/rc/branch_line.png b/client/resources/qdarkstyle/light/rc/branch_line.png index e55608ddc44041e6875d044582bb58e87a3a877e..f94928a4800b23a955fd0c572e2d6012193d0831 100644 GIT binary patch delta 21 ccmZo;Y-60D&CPd&fr0M`<5X=v>4|0m06caDdH?_b delta 21 ccmZo;Y-60D%`M=|z#!nunBK$qV4_(705(GfdjJ3c diff --git a/client/resources/qdarkstyle/light/rc/branch_line@2x.png b/client/resources/qdarkstyle/light/rc/branch_line@2x.png index 59967fd6045bf54d8f927ad7545b2a6d5188525d..b956af18907973721034b1b79ed60672829d319a 100644 GIT binary patch delta 21 dcmeys_4|0m06caDdH?_b delta 21 ccmZo;Y-60D%`M=|z#!nunBK$qV4_(705(GfdjJ3c diff --git a/client/resources/qdarkstyle/light/rc/branch_line_disabled@2x.png b/client/resources/qdarkstyle/light/rc/branch_line_disabled@2x.png index a35c3a66db3defd6cb02579a9cb358888cdf1e4c..d7e03eeef44ee0b52871a562fd563295aac330d4 100644 GIT binary patch delta 21 dcmeys_4|2606d=seE4|0m06caDdH?_b delta 21 ccmZo;Y-60D%`M=|z#!nunBK$qV4_(705(GfdjJ3c diff --git a/client/resources/qdarkstyle/light/rc/branch_line_pressed@2x.png b/client/resources/qdarkstyle/light/rc/branch_line_pressed@2x.png index 7ca30cd61e1160f5cc8265684f007deedd8d6fbb..6861baf556caa4c1de4f0cd9d63a2ab5ad0d49bc 100644 GIT binary patch delta 21 dcmaFQ_?~fsHaFi91_r((j8nDwq$ir~1OQD(2DJbH delta 21 ccmaFQ_?~fsHn)H;1A~AsV|owcgNbH40Y?-Dwg3PC diff --git a/client/resources/qdarkstyle/light/rc/branch_more.png b/client/resources/qdarkstyle/light/rc/branch_more.png index 14012929504b155d6330f54cb8d25949bb38134d..150b7d069e14fbd7f1e3a76c4cca32ebfcaef237 100644 GIT binary patch delta 21 dcmZ3^xSVlFDu delta 21 ccmZ3^xSVl4|0+0X;c delta 21 ccmZ3;xR7yzHn)H;1A~AsV|owcgNbI@06LZh%m4rY diff --git a/client/resources/qdarkstyle/light/rc/branch_more_disabled@2x.png b/client/resources/qdarkstyle/light/rc/branch_more_disabled@2x.png index 2505e2a7c95c93a6c9572e2dfcab3a228b633627..ce9a18065be5ee7e245dd39df024bdde6b1dbd8e 100644 GIT binary patch delta 21 ccmZo;YGaz9&CPd&fr0M`<5X=v>4|0+06iQ9`~Uy| delta 21 ccmZo;YGaz9%`M=|z#!nunBK$qV4~Rt05<6b{Qv*} diff --git a/client/resources/qdarkstyle/light/rc/branch_more_focus.png b/client/resources/qdarkstyle/light/rc/branch_more_focus.png index be5b2cbfaf9abea347dd0404091e459ed3f116f8..20e3d236fe5b44efc40850a77a7f4bea7137bb59 100644 GIT binary patch delta 21 dcmZ3%xPozlHaFi91_r((j8nDwq$ipc0RTbh1>gVx delta 21 ccmZ3%xPozlHn)H;1A~AsV|owcgNbHE06Vn>;Q#;t diff --git a/client/resources/qdarkstyle/light/rc/branch_more_focus@2x.png b/client/resources/qdarkstyle/light/rc/branch_more_focus@2x.png index ca0f99e0e84d0a37ac142c34db23514d0d864070..af6c5db82c3d7d4b2d287ef2fbfaa56644169492 100644 GIT binary patch delta 21 ccmZo?YG<0D&CPd&fr0M`<5X=v>4|0+0X;YG#_C&CPd&fr0M`<5X=v>4|1%0X(4v^8f$< delta 21 ccmZo>YG#_C%`M=|z#!nunBK$qV4~Ss05)y~^Z)<= diff --git a/client/resources/qdarkstyle/light/rc/branch_open.png b/client/resources/qdarkstyle/light/rc/branch_open.png index e43b940cb937f25691aae96e4e3ea0f4e450833d..1c35b8c6fc64e5f73abd12fee31e49fc0cac803c 100644 GIT binary patch delta 22 ecmdnNyn}gyHaFi91_r((j8nDwq&J#1F#-TfSq3!# delta 22 dcmdnNyn}gyHn)H;1A~AsV|owcgN5XQQi~vMU1-bwL delta 22 dcmeBY?q{B$%`M=|z#!nunBK$qV53tdUr&CPd&fr0M`<5X=v>5XPrm;glT1~LEu delta 22 dcmeBT>tdUr%`M=|z#!nunBK$qV58X;CICLT1~UKv diff --git a/client/resources/qdarkstyle/light/rc/checkbox_checked.png b/client/resources/qdarkstyle/light/rc/checkbox_checked.png index f63f2b38fab618da63bff593247e38ba91e6631a..fd1d4a4a783e005585121633eea2f96e7b97d66f 100644 GIT binary patch delta 22 ecmX@ldY*NHHaFi91_r((j8nDwq&J$)WC8$Bo(6va delta 22 dcmX@ldY*NHHn)H;1A~AsV|owcgN^t# diff --git a/client/resources/qdarkstyle/light/rc/checkbox_checked_disabled@2x.png b/client/resources/qdarkstyle/light/rc/checkbox_checked_disabled@2x.png index 518d55d5ee0c316f5fa56fa198fcf2cb1bc53cd2..40a34a3b1fbd69510dd0ae847350b3495c891ccf 100644 GIT binary patch delta 22 dcmZqRYT%ln&CPd&fr0M`<5X=v>5XQmSO7!R1|9$a delta 22 dcmZqRYT%ln%`M=|z#!nunBK$qV58Y7763h>1|I+b diff --git a/client/resources/qdarkstyle/light/rc/checkbox_checked_focus.png b/client/resources/qdarkstyle/light/rc/checkbox_checked_focus.png index fccb71edc125bd08f0b7a5dee25ee03d382aeea3..31e2111b965209d9b74773a11d10f2b3f4721287 100644 GIT binary patch delta 22 ecmdnNx`TCsHaFi91_r((j8nDwq&J#1F#!Ness=g$ delta 22 dcmdnNx`TCsHn)H;1A~AsV|owcgN5XRLOaMei1-SqK delta 22 dcmeBW?PZ;y%`M=|z#!nunBK$qV53<$697IG1-bwL diff --git a/client/resources/qdarkstyle/light/rc/checkbox_checked_pressed@2x.png b/client/resources/qdarkstyle/light/rc/checkbox_checked_pressed@2x.png index 7ee1d3514d76a422d35b447b44665ad4f1b46d37..38874b2b6a472c0e7113aaa333af945c27a16ec2 100644 GIT binary patch delta 22 ecmaFH`HXXdHaFi91_r((j8nDwq&J#vU;zMBGzQK9 delta 22 dcmaFH`HXXdHn)H;1A~AsV|owcgN0z0m&CPd&fr0M`<5X=v>5XRB7y(4_1~UKv delta 22 dcmeBS>0z0m%`M=|z#!nunBK$qV58YJMgTs)1~dQw diff --git a/client/resources/qdarkstyle/light/rc/checkbox_indeterminate@2x.png b/client/resources/qdarkstyle/light/rc/checkbox_indeterminate@2x.png index 3d106399b30f90a690538d6a8d5a92c4c3f6fd6a..df49db52663d30a1d398efeac000b65f1d7220a4 100644 GIT binary patch delta 22 dcmZqRXyBNj&CPd&fr0M`<5X=v>5XQmm;pnB1{nYV delta 22 dcmZqRXyBNj%`M=|z#!nunBK$qV58Y7W&k}=1{weW diff --git a/client/resources/qdarkstyle/light/rc/checkbox_indeterminate_disabled.png b/client/resources/qdarkstyle/light/rc/checkbox_indeterminate_disabled.png index 0a093c819d1ebb22a820f669d224eef2322b4312..0ae357c57d80666064d20a1edaaa5cd1ad6bba45 100644 GIT binary patch delta 22 ecmaFF{D^siHaFi91_r((j8nDwq&J$aVFUnDkp{B> delta 22 dcmaFF{D^siHn)H;1A~AsV|owcgN^~HaFi91_r((j8nDwq&J#PV*~(B$p&!% delta 22 dcmX@Ze1>^~Hn)H;1A~AsV|owcgN7y(F^266xZ diff --git a/client/resources/qdarkstyle/light/rc/checkbox_indeterminate_pressed@2x.png b/client/resources/qdarkstyle/light/rc/checkbox_indeterminate_pressed@2x.png index fb4e03861146cf258a7f0f8f660141fe8c94151a..97efff28da218bf78b400382f4289f07cf58facb 100644 GIT binary patch delta 22 ecmZ3_zMg%8HaFi91_r((j8nDwq&J#XG6MigZw4d) delta 22 dcmZ3_zMg%8Hn)H;1A~AsV|owcgN5XRIi~vF91&{y$ delta 22 dcmZo5XRIi~vF91&{y$ delta 22 dcmZo5XPyi~vEo1&sgz delta 22 dcmZo*ZeX6E%`M=|z#!nunBK$qV56BABLF*x1&#m! diff --git a/client/resources/qdarkstyle/light/rc/checkbox_unchecked_focus@2x.png b/client/resources/qdarkstyle/light/rc/checkbox_unchecked_focus@2x.png index 3f96917b5bcdf880d14bb0ebaf35280ca1367328..275d3b9345071d4528316344bd8ee464df422f78 100644 GIT binary patch delta 22 ecmaFK_L6OaHaFi91_r((j8nDwq&J!wGXnrqKL$_$ delta 22 dcmaFK_L6OaHn)H;1A~AsV|owcgN5XRIi~vF91&{y$ delta 22 dcmZo}H&x&CPd&fr0M`<5X=v>4|2c06jwmi2wiq delta 21 ccmeBX>}H&x%`M=|z#!nunBK$qV4_(l05=c?iU0rr diff --git a/client/resources/qdarkstyle/light/rc/line_horizontal_disabled.png b/client/resources/qdarkstyle/light/rc/line_horizontal_disabled.png index 3dc9c69e0a22825f6b4fd9affcd423ed81bf5de3..7918aa2087f0d37afe35ce2e18cb3057d56f4d44 100644 GIT binary patch delta 19 acmb=doS@CkcZ7j~?+D{mZ9eIVX3hXO&IM5b delta 19 acmb=doS@Au;LE@u;LDia!}wsLnKJ+~n*~w; diff --git a/client/resources/qdarkstyle/light/rc/line_horizontal_disabled@2x.png b/client/resources/qdarkstyle/light/rc/line_horizontal_disabled@2x.png index a2d3664af470d4f350338ae84156dadd7fb7028d..44de721d4d267a7964ce327313bb39fccb6785e8 100644 GIT binary patch delta 21 ccmeBX>}H&x&CPd&fr0M`<5X=v>4|2c06jwmi2wiq delta 21 ccmeBX>}H&x%`M=|z#!nunBK$qV4_(l05=c?iU0rr diff --git a/client/resources/qdarkstyle/light/rc/line_horizontal_focus.png b/client/resources/qdarkstyle/light/rc/line_horizontal_focus.png index 136faa84c730952d0755ceebc09f2ebe16cab30f..bd87c6842e8aa0bea12e6dbb4330bb4b4d74851e 100644 GIT binary patch delta 19 acmb=Zn4rzgcZ7j~?+D{mZ9eIVW=;S&s0B^{ delta 19 acmb=Zn4rxq;LE@u;LDia!}wsLnG*mqbp=lV diff --git a/client/resources/qdarkstyle/light/rc/line_horizontal_focus@2x.png b/client/resources/qdarkstyle/light/rc/line_horizontal_focus@2x.png index 398d224326c262d712e86d3d93ae72e29878754a..f3fc5321c20e4f1af91c771d9674826c7e6487e6 100644 GIT binary patch delta 21 ccmeBT>|>&CPd&fr0M`<5X=v>4|0`06iK7h5!Hn delta 21 ccmeBT>|>%`M=|z#!nunBK$qV4_(F05<0ZhX4Qo diff --git a/client/resources/qdarkstyle/light/rc/line_horizontal_pressed.png b/client/resources/qdarkstyle/light/rc/line_horizontal_pressed.png index e2027b14ed008c7a73d50a243b549db2588324de..5dd8eb284c69950ade9fdec8008cb69907aa164f 100644 GIT binary patch delta 19 acmb=Zn4rzgcZ7j~?+D{mZ9eIVW=;S&s0B^{ delta 19 acmb=Zn4rxq;LE@u;LDia!}wsLnG*mqbp=lV diff --git a/client/resources/qdarkstyle/light/rc/line_horizontal_pressed@2x.png b/client/resources/qdarkstyle/light/rc/line_horizontal_pressed@2x.png index 24b83299bcf314b563ef5b240284bdf5c5a65bee..a79bb70b5b93f8cf577bfe4676af322ed6e57541 100644 GIT binary patch delta 21 ccmeBT>|>&CPd&fr0M`<5X=v>4|0`06iK7h5!Hn delta 21 ccmeBT>|>%`M=|z#!nunBK$qV4_(F05<0ZhX4Qo diff --git a/client/resources/qdarkstyle/light/rc/line_vertical.png b/client/resources/qdarkstyle/light/rc/line_vertical.png index 0a4c5f36451087f0c95b8aa804e534d1fa2399d7..a1ce509059b01d13ede8ca895520b6f377c4e74d 100644 GIT binary patch delta 21 ccmZo;Y-60D&CPd&fr0M`<5X=v>4|0m06caDdH?_b delta 21 ccmZo;Y-60D%`M=|z#!nunBK$qV4_(705(GfdjJ3c diff --git a/client/resources/qdarkstyle/light/rc/line_vertical@2x.png b/client/resources/qdarkstyle/light/rc/line_vertical@2x.png index e67ccf52bbe14ac3ec41c453f54df7c655fedcbe..4763755b5167cd1dbb84ad6611f7500732e755c6 100644 GIT binary patch delta 21 dcmeyt_=9nRHaFi91_r((j8nDwq$ipk0sv092G9Ti delta 21 ccmeyt_=9nRHn)H;1A~AsV|owcgNbH`07!)f(EtDd diff --git a/client/resources/qdarkstyle/light/rc/line_vertical_disabled.png b/client/resources/qdarkstyle/light/rc/line_vertical_disabled.png index 9700752d912bc97de4c64ed249098375ad042299..c7616e7e6293a3fc156fdc24b0b83d41c7859754 100644 GIT binary patch delta 21 ccmZo;Y-60D&CPd&fr0M`<5X=v>4|0m06caDdH?_b delta 21 ccmZo;Y-60D%`M=|z#!nunBK$qV4_(705(GfdjJ3c diff --git a/client/resources/qdarkstyle/light/rc/line_vertical_disabled@2x.png b/client/resources/qdarkstyle/light/rc/line_vertical_disabled@2x.png index 0f57c568f6d28edfc8e9118042ef1c739db0d717..53862da0d8afb9007f65c321bae90b444227c935 100644 GIT binary patch delta 21 dcmeyt_=9nRHaFi91_r((j8nDwq$ipk0sv092G9Ti delta 21 ccmeyt_=9nRHn)H;1A~AsV|owcgNbH`07!)f(EtDd diff --git a/client/resources/qdarkstyle/light/rc/line_vertical_focus.png b/client/resources/qdarkstyle/light/rc/line_vertical_focus.png index 15ef20825437205a95311d20eb0544567c0e16d8..43fcb1f3d386f2d40aac459d41d47e3da844e4d1 100644 GIT binary patch delta 21 ccmZo;Y-60D&CPd&fr0M`<5X=v>4|0m06caDdH?_b delta 21 ccmZo;Y-60D%`M=|z#!nunBK$qV4_(705(GfdjJ3c diff --git a/client/resources/qdarkstyle/light/rc/line_vertical_focus@2x.png b/client/resources/qdarkstyle/light/rc/line_vertical_focus@2x.png index a35e97ed0afaccc739bc41aa9684a1bf8764c394..2b55586fbd56688f9d85864ca6c81c126af3411a 100644 GIT binary patch delta 21 dcmey#_>*yhHaFi91_r((j8nDwq$ipk1^`as2Gall delta 21 ccmey#_>*yhHn)H;1A~AsV|owcgNbH`0Z6U})Bpeg diff --git a/client/resources/qdarkstyle/light/rc/line_vertical_pressed.png b/client/resources/qdarkstyle/light/rc/line_vertical_pressed.png index 7399cd38ed378d8451df98bdac539cfd8cd15cbf..b5bcd9e0820fe248f38bfac60a6274d9ec4abe74 100644 GIT binary patch delta 21 ccmZo=Y-OCF&CPd&fr0M`<5X=v>4|3k06a|vcK`qY delta 21 ccmZo=Y-OCF%`M=|z#!nunBK$qV4|5n05%#0cmMzZ diff --git a/client/resources/qdarkstyle/light/rc/line_vertical_pressed@2x.png b/client/resources/qdarkstyle/light/rc/line_vertical_pressed@2x.png index e018b9af84508e103e77ab01f4130b0c49d747ab..69c9857dce4acca9782a254d0ebd089f18a7764d 100644 GIT binary patch delta 21 dcmeyy_>FObHaFi91_r((j8nDwq$ipk002&A2Fd^c delta 21 ccmeyy_>FObHn)H;1A~AsV|owcgNbGb07x?i%K!iX diff --git a/client/resources/qdarkstyle/light/rc/radio_checked.png b/client/resources/qdarkstyle/light/rc/radio_checked.png index 878b6c53ca712fa52fe63de8e328c6f6a754e06d..f72a6e84f6ec9d7bf402d2814936e1d6d3d5ccb1 100644 GIT binary patch delta 22 dcmeC>>gAfC&CPd&fr0M`<5X=v>5XRBSpY^521Nh> delta 22 dcmeC>>gAfC%`M=|z#!nunBK$qV58Y}763oq21Wn? diff --git a/client/resources/qdarkstyle/light/rc/radio_checked@2x.png b/client/resources/qdarkstyle/light/rc/radio_checked@2x.png index ed20cd4cf59145ed9129ff13370dc5738c28717a..dcb4e444df86630843b43f3266abc2a84a9c538b 100644 GIT binary patch delta 22 ecmaDM`a*PqHaFi91_r((j8nDwq&J#v;sO9xat87M delta 22 dcmaDM`a*PqHn)H;1A~AsV|owcgNg1ZB&CPd&fr0M`<5X=v>5XQWSpY>~1~~u# delta 22 dcmeC=>g1ZB%`M=|z#!nunBK$qV58Y(763mk208!$ diff --git a/client/resources/qdarkstyle/light/rc/radio_checked_disabled@2x.png b/client/resources/qdarkstyle/light/rc/radio_checked_disabled@2x.png index 72b69d59b455c82c9fd6d836518563e43cf0852d..4d83905bbda0b5bb3db2eca31ef6535b10497571 100644 GIT binary patch delta 22 ecmX>gdO&o7HaFi91_r((j8nDwq&J#%aRC5Nk_LJJ delta 22 dcmX>gdO&o7Hn)H;1A~AsV|owcgNfxH8&CPd&fr0M`<5X=v>5XRBSO7)j20{P; delta 22 dcmeC->fxH8%`M=|z#!nunBK$qV58YJ763o8215V< diff --git a/client/resources/qdarkstyle/light/rc/radio_checked_focus@2x.png b/client/resources/qdarkstyle/light/rc/radio_checked_focus@2x.png index 81771885f454f93aa6c5ef5797243ca8963ba746..2d659f13c9a7c443cfad2a885626101a26a52e2b 100644 GIT binary patch delta 22 ecmca2dPQ`CHaFi91_r((j8nDwq&J$);{pIv0tU7K delta 22 dcmca2dPQ`CHn)H;1A~AsV|owcgNg} delta 22 dcmbOtGDT#9Hn)H;1A~AsV|owcgN+Jn+E3q delta 22 dcmeys{(*ghHn)H;1A~AsV|owcgNq22B81| diff --git a/client/resources/qdarkstyle/light/rc/radio_unchecked_disabled.png b/client/resources/qdarkstyle/light/rc/radio_unchecked_disabled.png index 6f7424ca789b69fe823be10d1bb87b886aa8cf70..7e4b3b5a11e093b076002b69a401ed7639d5a8eb 100644 GIT binary patch delta 22 ecmeyz{*QfvHaFi91_r((j8nDwq&J$KU;?w_ delta 22 dcmbO$I9G6jHn)H;1A~AsV|owcgN5XQWm;prN1~C8t delta 22 dcmeC+=-`;3%`M=|z#!nunBK$qV58Y3W&l311~LEu diff --git a/client/resources/qdarkstyle/light/rc/radio_unchecked_focus@2x.png b/client/resources/qdarkstyle/light/rc/radio_unchecked_focus@2x.png index 9695890babd83acd13888368e24fc2afb90848a1..8888b52742b87eff7f2c90920b7c6c30792935ff 100644 GIT binary patch delta 22 ecmZ23xLk08HaFi91_r((j8nDwq&J!sasU8Iqy{Ab delta 22 dcmZ23xLk08Hn)H;1A~AsV|owcgN?q delta 21 ccmdnYw3%swHn)H;1A~AsV|owcgNbH;0X`lEga7~l diff --git a/client/resources/qdarkstyle/light/rc/toolbar_move_horizontal_pressed.png b/client/resources/qdarkstyle/light/rc/toolbar_move_horizontal_pressed.png index 94c0f5b6db2cf006b194cbb1945c3f68f9e6495c..c18f66d56f6613af0eb0c3931c2edad1d707ec73 100644 GIT binary patch delta 21 dcmbQmIE!(DHaFi91_r((j8nDwq$irC002L#1-1YH delta 21 ccmbQmIE!(DHn)H;1A~AsV|owcgNbG-06BLBw*UYD diff --git a/client/resources/qdarkstyle/light/rc/toolbar_move_horizontal_pressed@2x.png b/client/resources/qdarkstyle/light/rc/toolbar_move_horizontal_pressed@2x.png index 612ea774fdb0a5ceee7da4a621ad3ef87286d94f..fcbad73f5daa4b71153ca15f499d8af20bb41fba 100644 GIT binary patch delta 21 dcmdnUw2^6oHaFi91_r((j8nDwq$isF1^`3<27Lek delta 21 ccmdnUw2^6oHn)H;1A~AsV|owcgNbIp0X@tHegFUf diff --git a/client/resources/qdarkstyle/light/rc/toolbar_move_vertical.png b/client/resources/qdarkstyle/light/rc/toolbar_move_vertical.png index b16c48c40bedc7e07e3a86c1847d349a65623150..2e881ef48f78305bd4c55bf9e60adb76431292c3 100644 GIT binary patch delta 21 ccmeBU>|>mu&CPd&fr0M`<5X=v>4|0$06o41k^lez delta 21 ccmeBU>|>mu%`M=|z#!nunBK$qV4_(B05^*TlK=n! diff --git a/client/resources/qdarkstyle/light/rc/toolbar_move_vertical@2x.png b/client/resources/qdarkstyle/light/rc/toolbar_move_vertical@2x.png index 853962cd646000c6f27d82947c32f47794d743ec..3e37185a48d13804d6dafc585e379a1510e2c049 100644 GIT binary patch delta 21 dcmcb}c#&~}HaFi91_r((j8nDwq$irq1^`HT23r6C delta 21 ccmcb}c#&~}Hn)H;1A~AsV|owcgNbId0YXLwTmS$7 diff --git a/client/resources/qdarkstyle/light/rc/toolbar_move_vertical_disabled.png b/client/resources/qdarkstyle/light/rc/toolbar_move_vertical_disabled.png index 9b3caec07d9ddd5e17f7c97ac54c8aca50e84202..0f6cd5f93618609a6ad07b309f9d8d87998e3cb9 100644 GIT binary patch delta 21 ccmeBU>|>mu&CPd&fr0M`<5X=v>4|0$06o41k^lez delta 21 ccmeBU>|>mu%`M=|z#!nunBK$qV4_(B05^*TlK=n! diff --git a/client/resources/qdarkstyle/light/rc/toolbar_move_vertical_disabled@2x.png b/client/resources/qdarkstyle/light/rc/toolbar_move_vertical_disabled@2x.png index bdda6796a2d6503002c68763c0aaf3216a54c356..d5c34dffac3e12ff5af5230fd2919d25560a509d 100644 GIT binary patch delta 21 dcmcb{c#Uy_HaFi91_r((j8nDwq$ip!002ow25JBR delta 21 ccmcb{c#Uy_Hn)H;1A~AsV|owcgNbGf07DZ7YXATM diff --git a/client/resources/qdarkstyle/light/rc/toolbar_move_vertical_focus.png b/client/resources/qdarkstyle/light/rc/toolbar_move_vertical_focus.png index 6a432a4ba065dcba6a1789bdb901bbcde0b6e397..c2787488900f227b7d6c55bf7a023299acf24f0e 100644 GIT binary patch delta 21 dcmbQhIDv73HaFi91_r((j8nDwq$iq10RTP_1(*N; delta 21 ccmbQhIDv73Hn)H;1A~AsV|owcgNbHQ05{zQnE(I) diff --git a/client/resources/qdarkstyle/light/rc/toolbar_move_vertical_focus@2x.png b/client/resources/qdarkstyle/light/rc/toolbar_move_vertical_focus@2x.png index 817a8da55b6c5874eaf5126619524107fd8f22cf..9978da3b3d913db68700e413bf128bb645c6b0ef 100644 GIT binary patch delta 21 dcmcc0c$IO2HaFi91_r((j8nDwq$irq2LMSO24?^O delta 21 ccmcc0c$IO2Hn)H;1A~AsV|owcgNbJI0Yd5qXaE2J diff --git a/client/resources/qdarkstyle/light/rc/toolbar_move_vertical_pressed.png b/client/resources/qdarkstyle/light/rc/toolbar_move_vertical_pressed.png index 50228af7b83ab26c5c3f6c5e0a47225f02dea6e6..9c39964925d084733dbe4d3a4da5897b4b68d088 100644 GIT binary patch delta 21 ccmeBX>}H&x&CPd&fr0M`<5X=v>4|2c06jwmi2wiq delta 21 ccmeBX>}H&x%`M=|z#!nunBK$qV4_(l05=c?iU0rr diff --git a/client/resources/qdarkstyle/light/rc/toolbar_move_vertical_pressed@2x.png b/client/resources/qdarkstyle/light/rc/toolbar_move_vertical_pressed@2x.png index 1946791add3e39c17b445ad34d9b93d6c9c095b6..763751dca1aa026e1fcb50e72425b27c76f71983 100644 GIT binary patch delta 21 dcmX@dc#d&`HaFi91_r((j8nDwq$irq002k+22ub3 delta 21 ccmX@dc#d&`Hn)H;1A~AsV|owcgNbG{071(JQvd(} diff --git a/client/resources/qdarkstyle/light/rc/toolbar_separator_horizontal.png b/client/resources/qdarkstyle/light/rc/toolbar_separator_horizontal.png index f6661b4b1d2d0393855851c9349553ecd0088f53..0d599e5ca02de12a4ba9d0d0f8a5b960a3a4d788 100644 GIT binary patch delta 21 dcmbQjIE8V7HaFi91_r((j8nDwq$iri0RTR<1*8A~ delta 21 ccmbQjIE8V7Hn)H;1A~AsV|owcgNbHw062jKr2qf` diff --git a/client/resources/qdarkstyle/light/rc/toolbar_separator_horizontal@2x.png b/client/resources/qdarkstyle/light/rc/toolbar_separator_horizontal@2x.png index 77cadc21754545e3e5b58d95da8736f94016b33b..3e4666ad787e51aa2fe5415b69a9cea02fae6f08 100644 GIT binary patch delta 21 dcmZ3$w18=XHaFi91_r((j8nDwq$ira0suiq21)<` delta 21 ccmZ3$w18=XHn)H;1A~AsV|owcgNbIZ06P-~O8@`> diff --git a/client/resources/qdarkstyle/light/rc/toolbar_separator_horizontal_disabled.png b/client/resources/qdarkstyle/light/rc/toolbar_separator_horizontal_disabled.png index a65e13e466a3fc0cffecb1f6c854ab976d84072b..e85ff2be2be658e2cb74ba26bf729f9eda1148bb 100644 GIT binary patch delta 21 dcmbQiID>J5HaFi91_r((j8nDwq$ips0RTT(1+V}B delta 21 ccmbQiID>J5Hn)H;1A~AsV|owcgNbHI068TEu>b%7 diff --git a/client/resources/qdarkstyle/light/rc/toolbar_separator_horizontal_disabled@2x.png b/client/resources/qdarkstyle/light/rc/toolbar_separator_horizontal_disabled@2x.png index 77b9abcaf168ff16949dafb8c9944e759b4d7c8d..3bd5323ecca6d744e6d43f94c9fcd72990194176 100644 GIT binary patch delta 21 dcmZ3&w1jDbHaFi91_r((j8nDwq$ira0{}tl237z7 delta 21 ccmZ3&w1jDbHn)H;1A~AsV|owcgNbJE06Vt^R{#J2 diff --git a/client/resources/qdarkstyle/light/rc/toolbar_separator_horizontal_focus.png b/client/resources/qdarkstyle/light/rc/toolbar_separator_horizontal_focus.png index 843633ffa0a215ed0f903365ac869ccbd7ed9501..4674965ffea1e905c50c14cd552c253489345da7 100644 GIT binary patch delta 21 dcmbQvIGu5VHaFi91_r((j8nDwq$ips0sucR1+4%8 delta 21 ccmbQvIGu5VHn)H;1A~AsV|owcgNbH|066>wt^fc4 diff --git a/client/resources/qdarkstyle/light/rc/toolbar_separator_horizontal_focus@2x.png b/client/resources/qdarkstyle/light/rc/toolbar_separator_horizontal_focus@2x.png index 21d4011fc09f17dc21621b086561ca1d9ff19757..89a876026324b2f645370c4bdf5bcf0eddad782f 100644 GIT binary patch delta 21 dcmZ3)w1{bfHaFi91_r((j8nDwq$ira0RTam22cP1 delta 21 ccmZ3)w1{bfHn)H;1A~AsV|owcgNbHu06S#{Q2+n{ diff --git a/client/resources/qdarkstyle/light/rc/toolbar_separator_horizontal_pressed.png b/client/resources/qdarkstyle/light/rc/toolbar_separator_horizontal_pressed.png index edf05752f7cc915adbcb42b1f061b5b401aa03d2..8f1f98911404e6d03e701eea67ef2c58d70919ec 100644 GIT binary patch delta 21 dcmbQnIE`_FHaFi91_r((j8nDwq$ips002J*1*!l5 delta 21 ccmbQnIE`_FHn)H;1A~AsV|owcgNbGd065bHs{jB1 diff --git a/client/resources/qdarkstyle/light/rc/toolbar_separator_horizontal_pressed@2x.png b/client/resources/qdarkstyle/light/rc/toolbar_separator_horizontal_pressed@2x.png index 977ec62a96f00d5c8095f2e765955ea17fc87976..7ef52e27b929c1c5e4daf68cae432616dc5b25af 100644 GIT binary patch delta 21 dcmZ3)w1{bfHaFi91_r((j8nDwq$ira0RTam22cP1 delta 21 ccmZ3)w1{bfHn)H;1A~AsV|owcgNbHu06S#{Q2+n{ diff --git a/client/resources/qdarkstyle/light/rc/toolbar_separator_vertical.png b/client/resources/qdarkstyle/light/rc/toolbar_separator_vertical.png index 2776d87b55f13a288b0c8c3ea7657139ee1109a7..06acdaab6d2f730b303a4f307cc894f45f737e3a 100644 GIT binary patch delta 21 ccmeBV>|~sv&CPd&fr0M`<5X=v>4|2+06g&pg8%>k delta 21 ccmeBV>|~sv%`M=|z#!nunBK$qV4_(t05-k_ga7~l diff --git a/client/resources/qdarkstyle/light/rc/toolbar_separator_vertical@2x.png b/client/resources/qdarkstyle/light/rc/toolbar_separator_vertical@2x.png index ab9e773a881358ada1977e20ef1bd98d4481bc1e..28925a0a407a7fa4ddf047b230f4ccf18c4d65d9 100644 GIT binary patch delta 21 dcmX@ac!+U=HaFi91_r((j8nDwq$is7002f31}*>q delta 21 ccmX@ac!+U=Hn)H;1A~AsV|owcgNbH606*UbF8}}l diff --git a/client/resources/qdarkstyle/light/rc/toolbar_separator_vertical_disabled.png b/client/resources/qdarkstyle/light/rc/toolbar_separator_vertical_disabled.png index cb443940bcabf340aa6ff32107f4aac9a7fba175..2f5025b60bec4205a331797f936f8f5ea5f7acd1 100644 GIT binary patch delta 21 ccmeBT>|>&CPd&fr0M`<5X=v>4|0`06iK7h5!Hn delta 21 ccmeBT>|>%`M=|z#!nunBK$qV4_(F05<0ZhX4Qo diff --git a/client/resources/qdarkstyle/light/rc/toolbar_separator_vertical_disabled@2x.png b/client/resources/qdarkstyle/light/rc/toolbar_separator_vertical_disabled@2x.png index f4e241ab2dcfca237a1aab138bdeb3b8432c8886..e892a2fcd67329d9b22e06ca139707ac5dbc47c6 100644 GIT binary patch delta 21 dcmX@kc${&9HaFi91_r((j8nDwq$iq91OP_g20Z`( delta 21 ccmX@kc${&9Hn)H;1A~AsV|owcgNbGn0YIz}8yw&CPd&fr0M`<5X=v>4|3H06mojj{pDw delta 21 ccmeBW>}8yw%`M=|z#!nunBK$qV4_(#05@U4|2606d=seEFDu diff --git a/client/resources/qdarkstyle/light/rc/window_close_focus.png b/client/resources/qdarkstyle/light/rc/window_close_focus.png index 1cd49c73e473d219431b165266a99df7c83e7565..5745d2a510d7768b346eb1edde76917381b0effb 100644 GIT binary patch delta 22 ecmX@ZdWLm^HaFi91_r((j8nDwq&J#PV*&tA8U}U% delta 22 dcmX@ZdWLm^Hn)H;1A~AsV|owcgNm;gxV26q4e diff --git a/client/resources/qdarkstyle/light/rc/window_close_focus@2x.png b/client/resources/qdarkstyle/light/rc/window_close_focus@2x.png index a13da212905e9cbebf52e836d5997e34ed12f7bc..f5bc16826594e2b38afde303f8264aa0c41f0a28 100644 GIT binary patch delta 22 ecmZ3>yOwu?HaFi91_r((j8nDwq&J$CvjG503I;6z delta 22 dcmZ3>yOwu?Hn)H;1A~AsV|owcgNq1}*>q diff --git a/client/resources/qdarkstyle/light/rc/window_close_pressed.png b/client/resources/qdarkstyle/light/rc/window_close_pressed.png index c5e2a9143238f169fc48b890299b92969f22d9d5..c8dca67b6fe3b2d4a7b01fd02af87777444c577a 100644 GIT binary patch delta 22 ecmX@bdWv;|HaFi91_r((j8nDwq&J#PVFCb7!Uk{v delta 22 dcmX@bdWv;|Hn)H;1A~AsV|owcgNk;7wgzYb delta 22 dcmaFE^M+@FHn)H;1A~AsV|owcgN1~32s diff --git a/client/resources/qdarkstyle/light/rc/window_grip_disabled@2x.png b/client/resources/qdarkstyle/light/rc/window_grip_disabled@2x.png index eb4a063a73c36e62ea0714caa18a8737defd17c2..d79420e4e3288d3b20b37fed43082264e0497a63 100644 GIT binary patch delta 22 ecmcb?dV_U>HaFi91_r((j8nDwq&J!^VgdkBDh8SW delta 22 dcmcb?dV_U>Hn)H;1A~AsV|owcgN~n delta 22 dcmZ3@yqbA}Hn)H;1A~AsV|owcgNITXH delta 22 dcmaFC`hsz>% diff --git a/client/resources/qdarkstyle/light/rc/window_minimize@2x.png b/client/resources/qdarkstyle/light/rc/window_minimize@2x.png index dcd2570cc1018ef90d0f23e17925aa3604597fa2..407007fb9906184a3f766e149886cba2026487ca 100644 GIT binary patch delta 22 ecmX@dbdG6)HaFi91_r((j8nDwq&J#LFaiKg`33a= delta 22 dcmX@dbdG6)Hn)H;1A~AsV|owcgN% delta 22 dcmX@ZbcShyHn)H;1A~AsV|owcgN diff --git a/client/resources/qdarkstyle/light/rc/window_minimize_focus.png b/client/resources/qdarkstyle/light/rc/window_minimize_focus.png index 4d748783b02fe7f165277a48dc34b12c64b0a0ef..2db1960e4919d4362e494d876fceb18523ab4e5a 100644 GIT binary patch delta 21 dcmX@Zc!qI;HaFi91_r((j8nDwq$iq90{};?2220| delta 21 ccmX@Zc!qI;Hn)H;1A~AsV|owcgNbI-06}>MO#lD@ diff --git a/client/resources/qdarkstyle/light/rc/window_minimize_focus@2x.png b/client/resources/qdarkstyle/light/rc/window_minimize_focus@2x.png index 97901fed5951f2a24b9ee204dc78b1611a70d96c..b05fd312dbfc492e1e0113212a01aa9431cbfaaf 100644 GIT binary patch delta 22 ecmX@hbe3s?HaFi91_r((j8nDwq&J$0GXelj%?0uR delta 22 dcmX@hbe3s?Hn)H;1A~AsV|owcgNpby diff --git a/client/resources/qdarkstyle/light/rc/window_undock.png b/client/resources/qdarkstyle/light/rc/window_undock.png index 4da192f33059a391cb573c35ebe42308f3e3735f..2f937bee6ea2e1c8b458868407dccf52aaa05e16 100644 GIT binary patch delta 22 dcmeBT>0+6n&CPd&fr0M`<5X=v>5XPr7y(3?1}y*p delta 22 dcmeBT>0+6n%`M=|z#!nunBK$qV58X;MgTr%1}*>q diff --git a/client/resources/qdarkstyle/light/rc/window_undock@2x.png b/client/resources/qdarkstyle/light/rc/window_undock@2x.png index 5cfe75ccc9eac3399b449749c8010d3c219a7e31..62fb1c1c5ec166e80c4ff95182165174ad8f99c7 100644 GIT binary patch delta 22 dcmeBX?`EH%&CPd&fr0M`<5X=v>5XQg%m73`1-JkJ delta 22 dcmeBX?`EH%%`M=|z#!nunBK$qV53 - rc/.keep rc/arrow_down.png rc/arrow_down@2x.png rc/arrow_down_disabled.png @@ -212,6 +211,6 @@ rc/window_undock_pressed@2x.png - style.qss + lightstyle.qss diff --git a/client/resources/qdarkstyle/light/style.qss b/client/resources/qdarkstyle/light/style.qss index 866b2d5..f3deea1 100644 --- a/client/resources/qdarkstyle/light/style.qss +++ b/client/resources/qdarkstyle/light/style.qss @@ -1286,18 +1286,22 @@ QComboBox::indicator:alternate { background: #FAFAFA; } +QComboBox::item { + /* Remove to fix #282, #285 and MR #288*/ + /*&:checked { + font-weight: bold; + } + + &:selected { + border: 0px solid transparent; + } + */ +} + QComboBox::item:alternate { background: #FAFAFA; } -QComboBox::item:checked { - font-weight: bold; -} - -QComboBox::item:selected { - border: 0px solid transparent; -} - QComboBox::drop-down { subcontrol-origin: padding; subcontrol-position: top right; diff --git a/client/runguard.cpp b/client/runguard.cpp new file mode 100644 index 0000000..2be1222 --- /dev/null +++ b/client/runguard.cpp @@ -0,0 +1,79 @@ +#include "runguard.h" + +#include + +namespace +{ + +QString generateKeyHash( const QString& key, const QString& salt ) +{ + QByteArray data; + + data.append( key.toUtf8() ); + data.append( salt.toUtf8() ); + data = QCryptographicHash::hash( data, QCryptographicHash::Sha1 ).toHex(); + + return data; +} + +} + + +RunGuard::RunGuard( const QString& key ) + : key( key ) + , memLockKey( generateKeyHash( key, "_memLockKey" ) ) + , sharedmemKey( generateKeyHash( key, "_sharedmemKey" ) ) + , sharedMem( sharedmemKey ) + , memLock( memLockKey, 1 ) +{ + memLock.acquire(); + { + QSharedMemory fix( sharedmemKey ); // Fix for *nix: http://habrahabr.ru/post/173281/ + fix.attach(); + } + memLock.release(); +} + +RunGuard::~RunGuard() +{ + release(); +} + +bool RunGuard::isAnotherRunning() +{ + if ( sharedMem.isAttached() ) + return false; + + memLock.acquire(); + const bool isRunning = sharedMem.attach(); + if ( isRunning ) + sharedMem.detach(); + memLock.release(); + + return isRunning; +} + +bool RunGuard::tryToRun() +{ + if ( isAnotherRunning() ) // Extra check + return false; + + memLock.acquire(); + const bool result = sharedMem.create( sizeof( quint64 ) ); + memLock.release(); + if ( !result ) + { + release(); + return false; + } + + return true; +} + +void RunGuard::release() +{ + memLock.acquire(); + if ( sharedMem.isAttached() ) + sharedMem.detach(); + memLock.release(); +} diff --git a/client/runguard.h b/client/runguard.h new file mode 100644 index 0000000..06d45a8 --- /dev/null +++ b/client/runguard.h @@ -0,0 +1,32 @@ +#ifndef RUNGUARD_H +#define RUNGUARD_H + +#include +#include +#include + + +class RunGuard +{ + +public: + RunGuard( const QString& key ); + ~RunGuard(); + + bool isAnotherRunning(); + bool tryToRun(); + void release(); + +private: + const QString key; + const QString memLockKey; + const QString sharedmemKey; + + QSharedMemory sharedMem; + QSystemSemaphore memLock; + + Q_DISABLE_COPY( RunGuard ) +}; + + +#endif // RUNGUARD_H