From d70352a6ce634fb8d4a200be10e294a2e4dfce65 Mon Sep 17 00:00:00 2001 From: DungFu Date: Wed, 22 Aug 2018 19:29:34 -0700 Subject: [PATCH] UI: Add retina support and updated icons OBS Studio currently does not support retina rendering for any of the images in the app. This adds support for retina pixmap rendering as well as adding higher resolution versions of each icon that was not a high enough resolution to support 2x. The icons work when switching themes and will only render the 2x versions when the device pixel ratio is greater than or equal to 2. I also added credits to the readme for images that were already being used that require credit to the author. If the OBS community has paid for these images already, I can remove the credits from the readme. The credit is for the invisible, visible, and gear icons. --- README.rst | 6 ++++++ UI/data/themes/Acri/cogwheel@2x.png | Bin 0 -> 741 bytes UI/data/themes/Dark/cogwheel@2x.png | Bin 0 -> 741 bytes UI/forms/images/configuration21_16@2x.png | Bin 0 -> 728 bytes UI/forms/images/invisible_mask@2x.png | Bin 0 -> 815 bytes UI/forms/images/locked_mask@2x.png | Bin 0 -> 478 bytes UI/forms/images/properties@2x.png | Bin 0 -> 728 bytes UI/forms/images/settings/advanced@2x.png | Bin 0 -> 2668 bytes .../settings/applications-system-2@2x.png | Bin 0 -> 5809 bytes .../settings/decibel_audio_player@2x.png | Bin 0 -> 5755 bytes .../images/settings/network-bluetooth@2x.png | Bin 0 -> 3743 bytes UI/forms/images/settings/network@2x.png | Bin 0 -> 4129 bytes ...ferences-desktop-keyboard-shortcuts@2x.png | Bin 0 -> 3925 bytes .../preferences-system-network-3@2x.png | Bin 0 -> 5770 bytes .../images/settings/system-settings-3@2x.png | Bin 0 -> 4570 bytes .../images/settings/video-display-3@2x.png | Bin 0 -> 3394 bytes UI/forms/images/unlocked_mask@2x.png | Bin 0 -> 501 bytes UI/forms/images/visible_mask@2x.png | Bin 0 -> 610 bytes UI/forms/obs.qrc | 14 ++++++++++++++ UI/locked-checkbox.cpp | 18 ++++++++++++------ UI/obs-app.cpp | 2 ++ UI/visibility-checkbox.cpp | 18 ++++++++++++------ 22 files changed, 46 insertions(+), 12 deletions(-) create mode 100644 UI/data/themes/Acri/cogwheel@2x.png create mode 100644 UI/data/themes/Dark/cogwheel@2x.png create mode 100644 UI/forms/images/configuration21_16@2x.png create mode 100644 UI/forms/images/invisible_mask@2x.png create mode 100644 UI/forms/images/locked_mask@2x.png create mode 100644 UI/forms/images/properties@2x.png create mode 100644 UI/forms/images/settings/advanced@2x.png create mode 100644 UI/forms/images/settings/applications-system-2@2x.png create mode 100644 UI/forms/images/settings/decibel_audio_player@2x.png create mode 100644 UI/forms/images/settings/network-bluetooth@2x.png create mode 100644 UI/forms/images/settings/network@2x.png create mode 100644 UI/forms/images/settings/preferences-desktop-keyboard-shortcuts@2x.png create mode 100644 UI/forms/images/settings/preferences-system-network-3@2x.png create mode 100644 UI/forms/images/settings/system-settings-3@2x.png create mode 100644 UI/forms/images/settings/video-display-3@2x.png create mode 100644 UI/forms/images/unlocked_mask@2x.png create mode 100644 UI/forms/images/visible_mask@2x.png diff --git a/README.rst b/README.rst index 3e0e02dd4..e288eef03 100644 --- a/README.rst +++ b/README.rst @@ -47,3 +47,9 @@ Contributing you fully understand -- bad advice is worse than no advice. When it comes to something that you don't fully know or understand, please defer to the official help or official channels. + +Credits +------- + - Icons made by [Freepik](http://www.freepik.com) from + [www.flaticon.com](https://www.flaticon.com/) is licensed by + [CC 3.0 BY](http://creativecommons.org/licenses/by/3.0/) diff --git a/UI/data/themes/Acri/cogwheel@2x.png b/UI/data/themes/Acri/cogwheel@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..49c4070a7cb67ec987a517b1507ddca1ffad3d61 GIT binary patch literal 741 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE0wix1Z>k4UEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10f+@+{-GzZ+Rj;xUkjGiz z5m^kh={g8AI%&+V01C2~c>21sKjIK)<`XWO`|LOa1LI~-7sn8f<8!B2dou?Lw5E$U zcTH$R)lG$#pWx7F87 z?ygWfIpalS4HIAF0a3-HoPiZfTs;CF%@MPUoNDJ~%Tu?&siBLZ|M`Vg#yF7&Zy7cr=y{+PXTY0pjdd`a}ADX-IRHkpjEs5{18Wt+PpH#9>q>-_5a-!{( zt+V#cV7bRr-|jlU_}-U&ces^v9v;tlv{9`1AXmL;z=CVVJ-55Qd);Gd?jtsOdcy5}?}3MlqoceGbjZ91*w&T>b?{Aak*;gln%KFSKt=&YEuBx$Or>5}Vf zehG7lI5if1*I2&%$UdJAk6^Q_uRrw5v)`{QpE7Z7956;zOI#yLQW8s2t&)pUffR$0 zfuV)2frYM-afpGjm7$51p{2Hgk(GhL#^3kOqG-s?PsvQH#I51Lva~{=21$?&!TD(= p<%vb94CUqJdYO6I#mR{Use1WE>9gP2NC6cwc)I$ztaD0e0sxQcBHaK0 literal 0 HcmV?d00001 diff --git a/UI/data/themes/Dark/cogwheel@2x.png b/UI/data/themes/Dark/cogwheel@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..49c4070a7cb67ec987a517b1507ddca1ffad3d61 GIT binary patch literal 741 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE0wix1Z>k4UEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10f+@+{-GzZ+Rj;xUkjGiz z5m^kh={g8AI%&+V01C2~c>21sKjIK)<`XWO`|LOa1LI~-7sn8f<8!B2dou?Lw5E$U zcTH$R)lG$#pWx7F87 z?ygWfIpalS4HIAF0a3-HoPiZfTs;CF%@MPUoNDJ~%Tu?&siBLZ|M`Vg#yF7&Zy7cr=y{+PXTY0pjdd`a}ADX-IRHkpjEs5{18Wt+PpH#9>q>-_5a-!{( zt+V#cV7bRr-|jlU_}-U&ces^v9v;tlv{9`1AXmL;z=CVVJ-55Qd);Gd?jtsOdcy5}?}3MlqoceGbjZ91*w&T>b?{Aak*;gln%KFSKt=&YEuBx$Or>5}Vf zehG7lI5if1*I2&%$UdJAk6^Q_uRrw5v)`{QpE7Z7956;zOI#yLQW8s2t&)pUffR$0 zfuV)2frYM-afpGjm7$51p{2Hgk(GhL#^3kOqG-s?PsvQH#I51Lva~{=21$?&!TD(= p<%vb94CUqJdYO6I#mR{Use1WE>9gP2NC6cwc)I$ztaD0e0sxQcBHaK0 literal 0 HcmV?d00001 diff --git a/UI/forms/images/configuration21_16@2x.png b/UI/forms/images/configuration21_16@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fb56560360120e1799f5f05624cea0fd07788627 GIT binary patch literal 728 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE0wix1Z>k4UEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10f+@+{-GzZ+Rj;xUkjGiz z5m^kh={g8AI%&+V01C2~c>21sKjIK)m| z@OF){ddj93T2)fQ-Ns=T8$?7M4;)M2>e%SpE2oyJZ|i)R(LVTC(Z$>x9iFJZ>k5y> zEGBW(&y~$*eZTO9tlBS^T!jkA68`N6e`y~bXv7RC((z`A zO?u5;P1e0A?%ToilZBJdfZ66zYs=2G%QI6xU8%ht@hK($snqluwv}2>r-i=1$YXOV zSJYPgRk{|>?ho133wM>j;Ptt{8G2CN_#KzoQ`48(hGlmd3s-J4nBu+l%;v|o25+zW zBwt#5%*-%>>#*zk2}~x}ERH|Aw|nyMWs^nsSngwObXA_{9qL9BJ!?Ocf;_10zwj#5JNMC9x#cD!C{XNHG{07+UBWSm+uVhZq=I z8Jb!d8)_RESs57kulHPpq9HdwB{QuOw+6dUALW1=BtbR==ckpFCl;kLl$V$5W#(lU cCnpx9>g5-u&wghk1ysb~>FVdQ&MBb@0FJ2~b^rhX literal 0 HcmV?d00001 diff --git a/UI/forms/images/invisible_mask@2x.png b/UI/forms/images/invisible_mask@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..dffe83aa65a9e2ff269f17028e5fa52e3c1898f3 GIT binary patch literal 815 zcmV+~1JL}5P)kdg00002VoOIv0RM-N z%)bBt010qNS#tmY4c7nw4c7reD4Tcy000McNliru;s_QOBLbV0@Dl(40>DW`K~zY` z<(18A6Hye!&$}~88);(NVCq;a6$IVbm6Sql$^=Ca0tLa1;!1QUh)Me&2#qO<8(ru| zbSbn11hFJ#Y@ifZ-T8qnNNuM!N=!_XCi9+)Nv88*LEVXW_wKykd2jBVdk6UEgZ(*@ z@1P-LGye831?EEXBou&8nG*8eTeTpMq8H#BK7I6unJa`E6Hov^iefJTEhx_5r0C@V zb4@TXUtu3>4+8#13Wopy>wL+4>JoT;z&OWG!|zcgVE4e~yA86zME zScE_XHDqXur*PQ9OP;Tg?_xJ_%!aPA8MYED1B-!X2RH1v6gGC$b%#Jc%5I|9f;r3b ztjgQVLa1T8yy&J|Xo|Ec!2m$(=P7jA%rQGQ3kWtp$P|CB9$>A?V_l@t&63y$pkzuA z@J8ZS?KoC>7FY;t6YLs)=ftI+77pxZ$yWh@fXaFFJIpzwa>0!2;s~E+MLX_eyp01u zw|oJhTptoHcdr2RgI-)M$#rx(cB;7nlCHSCP>huUrnqrbf#GcwooCS{66CUs004i^ ziA!OM|EhNwC;rSttcWZI09Wb4JP94pf`~ZwHjO6~Uln;rvexV%!Ir&cP!%WGWBvBn7C;FM z*zgKHI%VuySz!~9`LtZLJiq3wc=@KEokANed$I7NpzwJ=BhkLK|EC(o_3xK$=16!r>KYQrftU#7NnP> zU+gKlJ!#qGZsm=-JnnKw4LVz9bFs2pvn4=7LUBx+dw>=+4nkp!Z^#?5(q5ytC17ll tXIRC`DC7Na|5$Rzr6^x&kIMflegcLyHxA@xP8|RM002ovPDHLkV1f zu-yO~f08^RmVifqi1?)jUV!zoxGtG|MAD`0S)lu&eE}TX&Lyn^3z9P10`6_k*?t;U z_nUoP9z?`MLd_Vk*B7%j%<&&4zz@Lq5Bg|D#8pDk5s(#OXC;znl4d?f4|Ht5e&f>4 zZJ#7@(~?Gu@LPo3jg*yrg!|f0opdl=sfNwlB)wc#HkFOM3a#^w%nBAmzQE+q!-w z4Wt4ZmS1@b>L|bJ6tc3wDIImGX((tYXejuX6to6(AGTl1{8H1H0zYpaHI4mbAMS7r U6Y6#EHvj+t07*qoM6N<$f{Pi+lmGw# literal 0 HcmV?d00001 diff --git a/UI/forms/images/properties@2x.png b/UI/forms/images/properties@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fb56560360120e1799f5f05624cea0fd07788627 GIT binary patch literal 728 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE0wix1Z>k4UEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10f+@+{-GzZ+Rj;xUkjGiz z5m^kh={g8AI%&+V01C2~c>21sKjIK)m| z@OF){ddj93T2)fQ-Ns=T8$?7M4;)M2>e%SpE2oyJZ|i)R(LVTC(Z$>x9iFJZ>k5y> zEGBW(&y~$*eZTO9tlBS^T!jkA68`N6e`y~bXv7RC((z`A zO?u5;P1e0A?%ToilZBJdfZ66zYs=2G%QI6xU8%ht@hK($snqluwv}2>r-i=1$YXOV zSJYPgRk{|>?ho133wM>j;Ptt{8G2CN_#KzoQ`48(hGlmd3s-J4nBu+l%;v|o25+zW zBwt#5%*-%>>#*zk2}~x}ERH|Aw|nyMWs^nsSngwObXA_{9qL9BJ!?Ocf;_10zwj#5JNMC9x#cD!C{XNHG{07+UBWSm+uVhZq=I z8Jb!d8)_RESs57kulHPpq9HdwB{QuOw+6dUALW1=BtbR==ckpFCl;kLl$V$5W#(lU cCnpx9>g5-u&wghk1ysb~>FVdQ&MBb@0FJ2~b^rhX literal 0 HcmV?d00001 diff --git a/UI/forms/images/settings/advanced@2x.png b/UI/forms/images/settings/advanced@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f4e19cbb096cbe99029df1d7f610f37470500e24 GIT binary patch literal 2668 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 v|1yDYF~s@&EBwN4F~F;H%YPOI_7KG`EP)D=K( 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 SP(Z)`p3LA@uv%l+8~*}$y_enq literal 0 HcmV?d00001 diff --git a/UI/forms/images/settings/network@2x.png b/UI/forms/images/settings/network@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..ded3efd6c29fc147520d63640ed1504050e966e9 GIT binary patch literal 4129 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 literal 0 HcmV?d00001 diff --git a/UI/forms/images/settings/preferences-system-network-3@2x.png b/UI/forms/images/settings/preferences-system-network-3@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..75090280a377703ab18c661a1a6a27174557f57f GIT binary patch literal 5770 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 IM6N<$g0@}tvH$=8 literal 0 HcmV?d00001 diff --git a/UI/forms/images/settings/system-settings-3@2x.png b/UI/forms/images/settings/system-settings-3@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..6baeb0ae22f559f7f4483ae271fa9780a95503c8 GIT binary patch literal 4570 zcmV<05hd=4P)d zaBzY)H99;zNq2XSSXgaT4GuFiKXnTWC@3u*2M110UrI_>B_%0HNLPG(lzIgOJUm8V zV0cDGRB#InJ_-sZCMZ=^Xm4zPd3uzIiJxL(c5(p&f`XdUySj36kd2L_|Ns90UB>`e z!~kW?09C>QY0uEn-2hF!0Aa}hQNQWx@8aU?;Na)f)Zo|G;=#eu+}!89z0U0H@#W?1 z_xSqF&Dj7+yV~01o}RJ*JhJ-x{`~s;0CCvv?(@aP(f~!c0DIv8ZPc)^!MVB1w6w>h zq`Kef|H{hN0715Pc7s<}X4&Qc^z`_bn69_B#H*~o05!1ycH96ltgHnAO zmxF|kYiMv_VQ%p7^$Kpzii@Fte}w>n=Kvz5#TEz4+y6~WOlK=B>+%24-u`B2d!`l* za|Q<3*xY(~j%^wm#@PS*+0^&Nz5ptyoSdXZMMk*^0>;PI!@|hyuBih9Z_XD5@%R7K z;r{@N@c5Twn(VT3l374h~A^Og9d8+40QE_N}64VP9)HJKHcEywCp4 z$jX_XyRNOS2~VFQT9DXoXykEZ&QC|Fugwu*vXPC78$xv2d2`D-FY_!5>ged)+1C|x z%el6;fl^nHWpVgMbElWueyC}NIaWRYQGMpCgM0000)bW%=J00bHd z{{0Un{#SW3{{GfTX8!P=Ed9@#<&FNkR6hRv;Ki}59Q(0H@9MmMceJRLhJbKXKlE(p z)au}~q~qY%%>BrW1#^o?000g}NklHPMBM z$+ebN+D_YPXF8>YBJDJ#O`%9)AJ9tD1&M5=!LSe#NZFTt!-4`K!2~G_fd!9+JOp<> zWAxm)Q_+pN#;so_Bn0~ZbN_SZoX(d2{70tb5B#$-W#y_)gj*Y~7RY@Hx>h zH~~Hs3boYKSoL~6sM@fq#bOZw6QC8%14m0K4Yuuxy=gEZmkTZz&tqjQE&~>Nz$RP3 z1wJC!m{^n0adA6siO(>;20wDTuo8q|u^24)CV{Rlzu##bK98rbuP^NL z!rupv?4mWenszuigj^n#Dv^jpfg}Kx9e@JI;;~p92x5kV!vK?Vh^(kOwU^dl$2pZR z%p>G)Ut3!nQy5X`{)G&odo?0zExrr;XxnJlxv0-qgODY#ww4)E=pnQL&zqZ@n|{*V z+|wN}v7&VI>Ne^s2f_{`LS?G843>Njid9wh^|f}LuCh|2(WqrKn#xL@y|%XYc_yx9 zO>WvY0#3xk4i=%7-K!ZzzX=R#6$1dv%lbMyI5cI3Crzx-aeh0k!BxiRa3jQX<=tRV z)VJF~9<=W(fD3qlMg7o9PGs2xv{4CVmD3KN*M*P}AL&u_Nj^mWAwl-gV27S>Qx>hM zfxeAyoKuCvA*gb4tOo)j`a~Yo9~8kJ*g@C!sUO-%x^U^rl~O8$(qmE2ZaqT!{;?ra zV4_dtD~iY#IHsoVsKFxiGx^>LxMB(kjs`tG0l9d0d3ReAF(CR_zPbol$PViDIc6gIqQ+_QdXwoLB@`K5Vs?i) zn00J^q-`@GtPk>!6=a7Bh-oI@yEKnNqFIu{9qEIm6b2^`G#6Kt%Fbk*lV2tOp)pd;mrNG0}fYEU-h}bgvWXVPb0q zt|5Nz;I0yyDjx}W!$#z4$*m446#xVI{;@iNI8u?v?Pcu*EY?vc58}q1?rR{a|LeSFo8q$<)fH zxlj4dCpmKm{Zcy_^myI8i?4}(0fVAGmM;$Mx*2BHD0047dhYXvuDRXFnuJ06rFJOz z#LTt0_)zvs6VaE`QRFM2XG#1G6QI9dsjGdv0NYY6QVwLOz5|6SE zTI*UNetj3jzp}hhsfNutH)+wbjyu%ffJ@Ft-CiT&`GxYf`l{mn%kr(Qt<~>_d$k7h z8;F0oaQ`7J9nJERL14o-_id#;!j%CtXMz*d#J}3f0XFr=-!ZcW5`ST);sIWq>Wyrf zVDcWmw2gKz-->(90@T2n{AAzMm*vObj%M``e?Gljm?29C3?h1grEeox{1^JV+#y#8 zWxvP1GSp@nvf{ZSA_{|~|fe&s}l6ei?3Gq+i_$L^+{SS+aGll8tw{H(evP+ZC z46I-Z-`ug4*5KNJxr^mPEhza}U0evo_){x$b0FM)INCWixiCL(g^eb{3koY8-bp=; zZnQTF0)AD?uEH}03$41E#P12DQcR$8Dz~sO53g-D{07Bp0m09@|Duhq$9HS}#(N*X zzuI4}Q|s0Xg=uEi2Jy$!z5PoIe&L1aZZu(7tk0T6W0_HcX+)|2qdhZ;O(KlqxK${- z1uH7mTK8RJH14}{;y?#Ru*3-l4y-8(9BL^wkWgvaDh;-nY9eioQkUW`h&FC9rizM* z+PKuj>cxv|ycpyAh9YX+8ujL%EBxMj|MzC*o5$4S9=fEdms8J4#Cek+Uaod-2m2LT zGj)5pv+Yi02z}UUc+Xs4xgso=3}H1o$Xf473Q8e2dj>g9M3-))SSycd=|u!kvX zu>VS^EyT8j)oP>2kH~TgCNau11pPRF!H7aG>o=P`&#|GBuaJJ^G~?>t z%v!$F9tvX^MXuVWlFKoXTBkQVjt4x`#*LUUaU_$=f)@W~0Tz|TgG+lkkuG8Iagn>^ zfmou|S8uPnqYzWpqm=dZ;{pDHX-k1DU~;(y#Vp!j!2hPEIUC1pCk(q znMDIK0uNl1Rx6%t6w`a5fUd62T^BCguZX*MR+ode4`l**Fy#CP+bD3TRIIw)TjGoC z>e_Yi!l6fZ-&FA2dqXy-^U4y&z|s9LGD3;H=W$|>`}l_sKWi*wVrM4Z+S`2f>~UzXIBDwJj8~ zO%~+;5gzz6kvrFuDE%BC#7jNE)kgc0f^YYZc>_v+_=I|JCz$Na^4~O8kScQbwuKdn z*2$y$?l-V*oH}pays1M5!XECd(|(g;EU;wdK^Zps_0Ud);_70An1ub`U= z!t7W*Z}1UIk<`p=VpIR<=c^BOEK1 zqcZY-$wNf7CDciPOhX!VZ3 zG6?aj?q<^8lHFY&_yVHaPMJvJ&1qu-jM?te!Y8d6RVTO=}@ zXU-2EnP5-Fsk2~D!_k8$NdB3ZE*Hu_pxcI)zW@h1;%5Ww$pioa9`rWNmWT+?c-r?0 zn9oVLP6*Eef7dsBJ3syUl~M_KQ2ziBfuy(WsM~C4suZnn?H>W%8+?hIM}^7Yxue(j zoj`b!-;DgH!`!F4CAAPD7r>AWfby@|W7t|t!TiRs%p%#ifn7Z(|J#dqg0JXW5cmyQ z{+Z8whYpq~S}UQ)Ux7(kkI(>t_G~slXH=L!eBNS_sTC5~mtz}jCPrRA{%K@C@K0RK z@T1LHJ}!erHID1_gicz!d#eFW5NK;Hptr~|<9Rk=HmA+%QjFa5mtrcl>Fd*7-UMhb zOegU7ow#@j@oz?(n}N>*e}GR4SK}JJMg$?Y*6vm+w}>&ny0sGBFS_5oz4cZvMFC(Z zPuWlwHckAh3t2wc^EJO@r^%tk$qJCvMx)HC!GH~JTP#|Fur#fI^~$ih?zK!Or2tzj zrifKafB7&0?F)luB0fw%Y5%1o2d;hQ&n_Hc^4Qq8u?bf3ZCv zZZfKISoMcR6gfpK2bBp`8V?nAMmhd`G$!Y&9VCFvl%qjtSQv$0D;3j8YBY2 z23fj3qf$7rOW?>0$AfLaR&6U2Dob0-siO)RU$h{9RpNOt*=PSL;NQF%jgtIAl*SMm zW8^r~e!5n&kvu?4r5h0&!%#=T6TqreK;O1SDO8HXZ64~V(ahrfuMBcsPeS@6|MazM zH`}Apc2^wu1^Jn;3@)BKf?8drk-(oRh>rC&lk}u7bJ(N%EjABz*w8{|!C*9_xdLLR zgE{^gk{^lJFBTLJ$$g2&oifbCClq2aj0(vXixC>wO1O#0MNiwxO=Cw5ohV?i`tZ39 zG+spG19;#+zu6A**4Hm)vT}T~i~>}KEiB%m5(6Hkjo4*!f4H*BV}jI27czm4e)Ua& z=2H#(5dU-^KN^Ga;nMm&{PJ0|W(+e0TCp-E%DPO2DJ&t9Jqp3O#Wa%MKY**}VwT_0 z-rj-iM^n&WWWz^MJ#9vRxHVL@znVH0u_p?+3~np~hc~YO`mX`&6aGNJHp-QEh5!Hn07*qoM6N<$ Ef>*!F2mk;8 literal 0 HcmV?d00001 diff --git a/UI/forms/images/settings/video-display-3@2x.png b/UI/forms/images/settings/video-display-3@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fbe85632ce01f3215436df567cf3fbafd872cccf GIT binary patch literal 3394 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 Y-`--AN_RDaAOHXW07*qoM6N<$f*|dT;Q#;t literal 0 HcmV?d00001 diff --git a/UI/forms/images/unlocked_mask@2x.png b/UI/forms/images/unlocked_mask@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..de5a6ad08a4c3e0a3e918620157e4a9defbba380 GIT binary patch literal 501 zcmV{0VF-P{W_)eq|Mn|Z9ulClE$`?1aN8lLs1mh*}+GWUf6yv2}!%TPR{Rz0pK7< z2k;AcUl|98h#MdQ-)eg%DJAuGpe#!PPisrFh*+%RB4R1&i*53^+lJwd07;67cP*K^ z$t(fLc7FzPZFQDfz4R_ZcQxF*5v7zyz{?uOw?(!xe+G>5`n9APu*{f~h?uu!U^}7vWCTQSn0FNeRNLDtD{YykdcmO`N300000NkvXXu0mjfc3s>m literal 0 HcmV?d00001 diff --git a/UI/forms/images/visible_mask@2x.png b/UI/forms/images/visible_mask@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..540180fdd560e9f12d9384681372c897d6fcac3f GIT binary patch literal 610 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE0wix1Z>k4UEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10f+@+{-GzZ+Rj;xUkjGiz z5m^kh={g8AI%&+V01C2~c>21sKjIK);^9(da@)kfz-Zv<;uzv_{Oy#zU55e$TK%0w zxJ= zve6}@FuZNwv@EH=HkCV<6lVG)pFCY^v}4({x?a)JHU6cXlY=-XzY>b^{SqO4N9z1V zm**1JIb3PZ&!-#O?e)-)cq(4AOuXj#dxi5dQpQr39=zLKdq!Zu_%?Hyu4g5GcUV1Ik6yBFTW^#_B$IXpdtoOS3j3^P63!h8 literal 0 HcmV?d00001 diff --git a/UI/forms/obs.qrc b/UI/forms/obs.qrc index a68bc705e..7ea29c256 100644 --- a/UI/forms/obs.qrc +++ b/UI/forms/obs.qrc @@ -4,30 +4,44 @@ images/unmute.png images/refresh.png images/configuration21_16.png + images/configuration21_16@2x.png images/invisible_mask.png + images/invisible_mask@2x.png images/visible_mask.png + images/visible_mask@2x.png images/list_remove.png images/add.png images/down.png images/editscene.png images/live.png images/properties.png + images/properties@2x.png images/up.png images/obs.png images/tray_active.png images/locked_mask.png + images/locked_mask@2x.png images/unlocked_mask.png + images/unlocked_mask@2x.png images/collapse.png images/expand.png images/settings/advanced.png + images/settings/advanced@2x.png images/settings/network.png + images/settings/network@2x.png images/settings/video-display-3.png + images/settings/video-display-3@2x.png images/settings/decibel_audio_player.png + images/settings/decibel_audio_player@2x.png images/settings/applications-system-2.png + images/settings/applications-system-2@2x.png images/settings/system-settings-3.png + images/settings/system-settings-3@2x.png images/settings/network-bluetooth.png + images/settings/network-bluetooth@2x.png images/settings/preferences-desktop-keyboard-shortcuts.png + images/settings/preferences-desktop-keyboard-shortcuts@2x.png diff --git a/UI/locked-checkbox.cpp b/UI/locked-checkbox.cpp index 91a049fac..a5f6b5649 100644 --- a/UI/locked-checkbox.cpp +++ b/UI/locked-checkbox.cpp @@ -7,10 +7,17 @@ LockedCheckBox::LockedCheckBox() : QCheckBox() { - lockedImage = - QPixmap::fromImage(QImage(":/res/images/locked_mask.png")); - unlockedImage = - QPixmap::fromImage(QImage(":/res/images/unlocked_mask.png")); + QString lockedFile; + QString unlockedFile; + if (devicePixelRatio() >= 2) { + lockedFile = ":/res/images/locked_mask@2x.png"; + unlockedFile = ":/res/images/unlocked_mask@2x.png"; + } else { + lockedFile = ":/res/images/locked_mask.png"; + unlockedFile = ":/res/images/unlocked_mask.png"; + } + lockedImage = QPixmap::fromImage(QImage(lockedFile)); + unlockedImage = QPixmap::fromImage(QImage(unlockedFile)); setMinimumSize(16, 16); setStyleSheet("outline: none;"); @@ -31,6 +38,5 @@ void LockedCheckBox::paintEvent(QPaintEvent *event) palette().color(foregroundRole())); QPainter p(this); - p.drawPixmap(0, 0, image.width(), image.height(), - QPixmap::fromImage(image)); + p.drawPixmap(0, 0, 16, 16, QPixmap::fromImage(image)); } diff --git a/UI/obs-app.cpp b/UI/obs-app.cpp index 900d7ac26..8fce4eaaf 100644 --- a/UI/obs-app.cpp +++ b/UI/obs-app.cpp @@ -1213,6 +1213,8 @@ bool OBSApp::OBSInit() { ProfileScope("OBSApp::OBSInit"); + setAttribute(Qt::AA_UseHighDpiPixmaps); + bool licenseAccepted = config_get_bool(globalConfig, "General", "LicenseAccepted"); OBSLicenseAgreement agreement(nullptr); diff --git a/UI/visibility-checkbox.cpp b/UI/visibility-checkbox.cpp index 5b73084e0..004a65c4d 100644 --- a/UI/visibility-checkbox.cpp +++ b/UI/visibility-checkbox.cpp @@ -7,10 +7,17 @@ VisibilityCheckBox::VisibilityCheckBox() : QCheckBox() { - checkedImage = - QPixmap::fromImage(QImage(":/res/images/visible_mask.png")); - uncheckedImage = - QPixmap::fromImage(QImage(":/res/images/invisible_mask.png")); + QString checkedFile; + QString uncheckedFile; + if (devicePixelRatio() >= 2) { + checkedFile = ":/res/images/visible_mask@2x.png"; + uncheckedFile = ":/res/images/invisible_mask@2x.png"; + } else { + checkedFile = ":/res/images/visible_mask.png"; + uncheckedFile = ":/res/images/invisible_mask.png"; + } + checkedImage = QPixmap::fromImage(QImage(checkedFile)); + uncheckedImage = QPixmap::fromImage(QImage(uncheckedFile)); setMinimumSize(16, 16); setStyleSheet("outline: none;"); @@ -31,6 +38,5 @@ void VisibilityCheckBox::paintEvent(QPaintEvent *event) palette().color(foregroundRole())); QPainter p(this); - p.drawPixmap(0, 0, image.width(), image.height(), - QPixmap::fromImage(image)); + p.drawPixmap(0, 0, 16, 16, QPixmap::fromImage(image)); }