From 4356e653b8edafc19c642d290c9ae5db6e87beb7 Mon Sep 17 00:00:00 2001 From: Boris Yumankulov Date: Mon, 8 Sep 2025 20:48:03 +0500 Subject: [PATCH] feat: added control hint Signed-off-by: Boris Yumankulov --- portprotonqt/main_window.py | 98 ++++++++++++++++++ .../themes/standart/images/button_a.png | Bin 0 -> 3912 bytes .../themes/standart/images/button_b.png | Bin 0 -> 3840 bytes .../themes/standart/images/button_lb.png | Bin 0 -> 2923 bytes .../themes/standart/images/button_lt.png | Bin 0 -> 2584 bytes .../themes/standart/images/button_rb.png | Bin 0 -> 2779 bytes .../themes/standart/images/button_rt.png | Bin 0 -> 2933 bytes .../themes/standart/images/button_select.png | Bin 0 -> 3382 bytes .../themes/standart/images/button_start.png | Bin 0 -> 3349 bytes .../themes/standart/images/button_x.png | Bin 0 -> 4065 bytes .../themes/standart/images/button_y.png | Bin 0 -> 3819 bytes .../themes/standart/images/key_context.png | Bin 0 -> 3227 bytes portprotonqt/themes/standart/images/key_e.png | Bin 0 -> 1343 bytes .../themes/standart/images/key_enter.png | Bin 0 -> 2279 bytes .../themes/standart/images/key_f11.png | Bin 0 -> 1457 bytes .../themes/standart/images/key_insert.png | Bin 0 -> 1871 bytes .../themes/standart/images/key_left.png | Bin 0 -> 1441 bytes .../themes/standart/images/key_right.png | Bin 0 -> 1502 bytes 18 files changed, 98 insertions(+) create mode 100644 portprotonqt/themes/standart/images/button_a.png create mode 100644 portprotonqt/themes/standart/images/button_b.png create mode 100644 portprotonqt/themes/standart/images/button_lb.png create mode 100644 portprotonqt/themes/standart/images/button_lt.png create mode 100644 portprotonqt/themes/standart/images/button_rb.png create mode 100644 portprotonqt/themes/standart/images/button_rt.png create mode 100644 portprotonqt/themes/standart/images/button_select.png create mode 100644 portprotonqt/themes/standart/images/button_start.png create mode 100644 portprotonqt/themes/standart/images/button_x.png create mode 100644 portprotonqt/themes/standart/images/button_y.png create mode 100644 portprotonqt/themes/standart/images/key_context.png create mode 100644 portprotonqt/themes/standart/images/key_e.png create mode 100644 portprotonqt/themes/standart/images/key_enter.png create mode 100644 portprotonqt/themes/standart/images/key_f11.png create mode 100644 portprotonqt/themes/standart/images/key_insert.png create mode 100644 portprotonqt/themes/standart/images/key_left.png create mode 100644 portprotonqt/themes/standart/images/key_right.png diff --git a/portprotonqt/main_window.py b/portprotonqt/main_window.py index e5ffb38..fc2fcbc 100644 --- a/portprotonqt/main_window.py +++ b/portprotonqt/main_window.py @@ -199,9 +199,15 @@ class MainWindow(QMainWindow): self.createPortProtonTab() # вкладка 4 self.createThemeTab() # вкладка 5 + self.controlHintsWidget = self.createControlHintsWidget() + mainLayout.addWidget(self.controlHintsWidget) + self.restore_state() self.input_manager = InputManager(self) + # Connect InputManager gamepad connection/disconnection signals + self.input_manager.button_pressed.connect(self.updateControlHints) + self.input_manager.dpad_moved.connect(self.updateControlHints) self.detail_animations = DetailPageAnimations(self, self.theme) QTimer.singleShot(0, self.loadGames) @@ -213,6 +219,98 @@ class MainWindow(QMainWindow): self.resize(width, height) else: self.showNormal() + + def createControlHintsWidget(self) -> QWidget: + from portprotonqt.localization import _ + """Creates a widget displaying control hints for gamepad and keyboard.""" + logger.debug("Creating control hints widget") + hintsWidget = QWidget() + hintsWidget.setStyleSheet(self.theme.STATUS_BAR_STYLE) + + hintsLayout = QHBoxLayout(hintsWidget) + + gamepad_hints = [ + ("button_a", _("Select")), + ("button_b", _("Back")), + ("button_x", _("Add Game")), + ("button_y", _("Previous Directory")), + ("button_lb", _("Previous Tab")), + ("button_rb", _("Next Tab")), + ("button_start", _("Context Menu")), + ("button_select", _("Toggle Fullscreen")), + ("button_guide", _("System Overlay")), + ("button_rt", _("Increase Size")), + ("button_lt", _("Decrease Size")), + ] + + keyboard_hints = [ + ("key_enter", _("Select")), + ("key_esc", _("Back")), + ("key_e", _("Add Game")), + ("key_left", _("Previous Tab")), + ("key_right", _("Next Tab")), + ("key_context", _("Context Menu")), + ("key_insert", _("System Overlay")), + ("key_f11", _("Toggle Fullscreen")), + ] + + self.hintsLabels = [] + + def makeHint(icon_name: str, action: str, visible: bool): + container = QWidget() + layout = QHBoxLayout(container) + layout.setContentsMargins(0, 0, 0, 0) + layout.setSpacing(10) + + # иконка + icon_label = QLabel() + icon_label.setFixedSize(48, 48) + icon_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + + pixmap = QPixmap() + icon_path = self.theme_manager.get_theme_image(icon_name, self.current_theme_name) + if not icon_path: + icon_path = self.theme_manager.get_theme_image("placeholder", self.current_theme_name) + + if icon_path: + pixmap.load(str(icon_path)) + + if not pixmap.isNull(): + icon_label.setPixmap(pixmap.scaled(48, 48, Qt.AspectRatioMode.KeepAspectRatio, + Qt.TransformationMode.SmoothTransformation)) + + layout.addWidget(icon_label) + + # текст + text_label = QLabel(action) + text_label.setStyleSheet(self.theme.LAST_LAUNCH_VALUE_STYLE) + text_label.setAlignment(Qt.AlignmentFlag.AlignVCenter | Qt.AlignmentFlag.AlignLeft) + layout.addWidget(text_label) + + container.setVisible(visible) + self.hintsLabels.append((container, icon_name)) + hintsLayout.addWidget(container) + + for icon, action in gamepad_hints: + makeHint(icon, action, visible=False) + + for icon, action in keyboard_hints: + makeHint(icon, action, visible=True) + + hintsLayout.addStretch() # чтобы всё разъехалось на всю ширину + return hintsWidget + + def updateControlHints(self, *args) -> None: + """Updates control hints based on gamepad connection status.""" + is_gamepad_connected = self.input_manager.gamepad is not None + logger.debug("Updating control hints, gamepad connected: %s", is_gamepad_connected) + + for container, icon_name in self.hintsLabels: + if icon_name.startswith("button_"): # это геймпад + container.setVisible(is_gamepad_connected) + else: # это клавиатура + container.setVisible(not is_gamepad_connected) + @Slot(list) def on_games_loaded(self, games: list[tuple]): self.games = games diff --git a/portprotonqt/themes/standart/images/button_a.png b/portprotonqt/themes/standart/images/button_a.png new file mode 100644 index 0000000000000000000000000000000000000000..e22bb29af148f3d046d4a5147428cc7d25f6270c GIT binary patch literal 3912 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 a9`c4)NPj(B&N5?*Rsd;gYf@|Mj{65tf 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 HbkhF-`TcFN literal 0 HcmV?d00001 diff --git a/portprotonqt/themes/standart/images/button_start.png b/portprotonqt/themes/standart/images/button_start.png new file mode 100644 index 0000000000000000000000000000000000000000..190780edb7dbe079b4f5bb4ddde3c43850662dd2 GIT binary patch literal 3349 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 literal 0 HcmV?d00001 diff --git a/portprotonqt/themes/standart/images/button_x.png b/portprotonqt/themes/standart/images/button_x.png new file mode 100644 index 0000000000000000000000000000000000000000..e944b3e2e8bb90806a4f548b07f5570d3d5ed0c3 GIT binary patch literal 4065 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 z ^!`ZJxLo(hd)+qOgMDro_<#J&x_T7#k}xOOe@Qkc6MCn;={q;Q7fZ% zcXvaEQX2KIripAe8%lulJP*6OyTa=&%L;wtIMM-(Nr*^FI-QPGl%GF;9y-3Xv~=Zl z7DX@&Lzs>D{P}aKYVLG~XK|AhWggr6S1Ofu01Q=e@H|i0$${lsEEb232fm?sSspDb z#(8*n7@9Q(5Ue*mw{82=ah5~_6A)sW=8IynIF#8W+sI@xp>=pcapYOn zIN=c#CdVA~cp|h3pPW=`T)BPR1_PG;v68b#?V?e*HtGQjuo#)$4U(y%W## zV47yEb%<#~Q4|!5MPV@Q@bFM-0QP!4oS%ncPTS39^B*T^&&1V$N~O~Of>T|N;|Q%= z;I*XmdOcJs!zFwNmsih9S`5QLsZrS*oSdAXSS*Id97R!($z(3?rIb#bxE=V@0wP3GVObWw`|dkw zXhBwYky82~ts3#E7QqyihgB2><#IVPP}OKOP^;Ae-`;V7jg=lZ;dgE2m0GQ~~8tHG4Ce3>uAwP>oF!r>CblIy#E1-y2c8H}!(b zsn_l8ld{7v-DJ<6Nd;Ol8na(2M7P0cDtrh**a=#3d1l$2BHW-h3j&; zoLa$t(=>5$ae-E=6>IH^X_~_D0%L5;w(SSg*zjel#rQ?)3rJp!UsY8sEiGNTTjCHJ zWQ5qZjdr_@cDo&W0Z~-x!D-fg2d2DTMW2){QF)0sal49XlL5?VLzn(GN5ZveL5$?8 zy}yp*pwsEdY@eBJe>Af#kLvaMCyJtM$<}P^x{h2fH**iLZQJN}yHW=yV{C^p_Svkq zJW9ndjDvQ&y{~E7magkL0C)KFfg$NQ4k)FU#fql^-}f)a7QU#=0L~d>zqW1rrza;T zFQ(EE0j^}*yhfw(ea6_y>US*{`;?8MpLA z;HrQ za`y=#52m#-ae)5r(VN|Fck3#4^ps()2pL4bKJZ<}*j=Qsb9AsnG$CZ0Qo2148xe~z zw}kKrHnvw)b%Qas5$7I4$e!=}dyeDm%##!>u)qQfEU>@=3oNj}0t+m#fE51+VlKr& T0VOy)00000NkvXXu0mjfe2dIy literal 0 HcmV?d00001 diff --git a/portprotonqt/themes/standart/images/button_y.png b/portprotonqt/themes/standart/images/button_y.png new file mode 100644 index 0000000000000000000000000000000000000000..cf4a997212fa6a076ff2b46bd4a3cd137b64328e GIT binary patch literal 3819 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 N002ovPDHLkV1n9-G)Vve literal 0 HcmV?d00001 diff --git a/portprotonqt/themes/standart/images/key_e.png b/portprotonqt/themes/standart/images/key_e.png new file mode 100644 index 0000000000000000000000000000000000000000..34b7be11427f4639652d0ad381029153d68941b3 GIT binary patch literal 1343 zcmV-F1;F}=P) z!A|Qq6o!w}vh8|G0b5oxZ*X~(`zSLnfEWojtUBTWhP#6Wr~@Ez8~ zIAGgv%?}0x2!a4O=env*6x+6;P$;~a);{pdF9LX;qg9oO9ruL$O#4 z{d4I;>yY&tni@wVH91pKrkB_lm zai@;af&iG|)B?r3C(6RQr=dp zrA-i8e$O!^NX8&RG6pJ!2q7Bsa`-$B=-l7m!)P>0yJ|_2uQ|Soxoxo;0;28H^TWXJ-etwzeYY zzq-1Dy3a>aP|p}f4Ow}6JE+1KK~7Fi=G}x; zFh&p);|~UkAsK@N$rva>qOA7HH{_VIw^oJRcDZkJU+q=hI4U0||r}?Qc#%{H81}jMD0%g@W>$)y@ zo`e)~uA7PNI#@iv?-k zsZ_$4G?wvrtlU~O@lkBBLH!UEU)9O_o~M*SeM1DjNVBoA@h^62mv@8^XScVvzhTOv zgSrr6ACTwha!zmJ8x&|kI-Snb~M@}|KU zYXiXH&CSi<^KJ`45ClOG1VIo4K@bE%5CoA0egJ=Ku6kgvjN1SJ002ovPDHLkV1h4# BdhY-L literal 0 HcmV?d00001 diff --git a/portprotonqt/themes/standart/images/key_enter.png b/portprotonqt/themes/standart/images/key_enter.png new file mode 100644 index 0000000000000000000000000000000000000000..1f144f5864ab0355a9347c85b22ba08b2c5733c3 GIT binary patch literal 2279 zcmV zTW`}$8pr>R(nE(U= zfj}S-2n6$?nr(p9gu~$kMNxrfTw4%?rM0!SR3mBHN)V3YScYN#0pJ=%QGYbso?1jv zoB{CY$B!SkbGh86-g#{!NH`o$xLmFzfTom&2KcL5t)5$1S((*}blGi<6>uEKx?HYD zaK0D-5OBF%Nsi-Kt;n_zgkhLl0HRGcqY(l-RjUfO-IiFyHN6P8+YOhiIq#hy2oMB8 zFZvpQ|0o07MGzH!zaI?4G}{aS!1newwzs!sVS0^@wy3hS=<4cfwh0nGpRew7+g6ZP zKxm;H|t^P>I2-4HjgLpg+ zx7++%_WS+P-%u!o#l=N@|Nh-jUL8?o(KL-%EM|!qS_}*ffTn5bxLU1ho%WYjU`GfN z2n68qcx=0#+wDdm@c%w4&-1Etc7{^aX{|HMIrR1Q$&LjA_*DY-=m0iEM+)L(h#(Gw2;wk^AP$2F;xLFH4uc3{ z616>Z04SA8hVp57L3X@K&NbT(ijuo0)H}eaC*1* z?q-`{2wg#TTxuTezJ1C!z{&LV^fcQ9!{`daFig^EzD@Pg$PAqw=u}@xtw2pd!r}1W zTTu*(qNK^ERz*_~ilT1WY{$N!X&N4n2R@&#X&xqKp(n^WWthj~0mCq$X}YD~K&Mmp zd|4BF;WV>Y5Fnl}G!1%{p~ z$8oY_K@d=>R5aaPoJO@;HO;xf3QT#;i^XC~h|vm=wyeV-f;bFAf)ok`*>S6W;GKve zL7d!5X>~}Ik2jqbw{e;Pva*c3!gOu)Rl@N;R~7lmx>tU|AMC&*R&-Z>HG7vMd;eLA6@N`ucj^ z<8g-$9YS|^H?rBR>8(#kcCjyAx`g53VF19)%nU?P#Q6BQ*<0yLWi{^r@wtWZPR=Yinx_rAehyQkr}| zk4z>b3F7s78_H{7U_kmm8jT_vjcT6P-`}qpK07;W`G|$>C1iSfx}o!x3tws-mm8@z zJRXniJG0wp&_YXSp69W?zFznBjNzSZx=i zw%SlqEEY|B3$=EWTV7s9JRX;hlgXs?e}8{J`uh6t@#9BRu5T1u1sNV5-m|K>fB*iz z1gU+42L}gn`SN8H3I*^ykEy9C%+1Y7f{c%kqpPb6sZFy9>wwF$ED+?r6pO%FOf*#>eZ{5n3#}Un}&vlRGZb$O6c{(&)v_ z&(9+m3}S3-Om`L4^z<~gwze=fHik$fB88VqC4Bny3DeWl(hhM(ZC9exNj(RRT}d^E zX(N%yzbK0OcWs!@=aX*I@Au2HHlhM2$$8lg727(}9V`D>eDRb@hbT%Rb@ay^1I(y8|&r8CV%VlhAY{ zXscFMJD}$Vr23Tsr%cnfJ9=(Fsx|6P+Pb@)Ayt;cAgwHmFuKr`w6ZM1=!yVRWjPE} z1R?7~_8ubAdOmua`xttX`FvisNr2buZFy06o(E0ShMV`w`>!1r(-BMa2h0pT#au3@ za))VkLCm(lcEq?5^g4#B;#6y}nKOIsNFzV$qC~IaQxzv=v0GYNGTm#h9mr<0x;|$0 zu&;8OPN%WDx@y`_2emq-Qfc24TKldz1wk-eUlP>R-RvbRZ;jK4`;cY{5k+xE`C-rH zayW3{z&=guOt!YRRACMM#e-Cwe^&UVhOj?>GVJKB7Zw@6Ap(HE|=?;)+{2S zekh8XsaC6huB@!gHro~gfj}S-2m}IwKp;4n{{bg$=aEH_E|35K002ovPDHLkV1n*9 BQ{?~v literal 0 HcmV?d00001 diff --git a/portprotonqt/themes/standart/images/key_f11.png b/portprotonqt/themes/standart/images/key_f11.png new file mode 100644 index 0000000000000000000000000000000000000000..18001d0bcaecfc1ae8ae2e488cc8fc7b68843f87 GIT binary patch literal 1457 zcmV;i1y1^jP) z%}y#w6vzMFv=@!RxkNPaE0@HjCNmRXK$os&b}Yw-@B!`v_z*KocFsyx>TFm#-b5Bg zO&AqSRDy`%D^1rdR3b&SHbqxcjpvt;Kv8|F>inTjb#+%YKoA5$5ClOG1VIo4K@bE% zgdf8XBXe_e-%Qh7Hw+^Q0ES^C8DmL5Z0m|)78`$n32hYvT zeX}g5SdY1{VqL4=VOWMN_9XVWwf0eqFUF`_&;jo_l-sa>2w$@M#agycmGKz|`#32h7+RiyqQjIktt(}JH1bl&UZ z8;yo<<@klD?Juj4|LND3?1G&npXR3^>2%sRTR|XdyU0ggpe{=@ND$2+K{SH|(F_tq zGqgA{^lK`k(P(tpdT)qasZ>1Y4HBh-@XN~F)`j>r%)Pt2^K2`Z%ORJ`eVC80v+DJc z)MaS~38EP!h-Q!=nn8kS1_`1WQi6Dy?d5mKaoO!46!3ND+cxysUeS)De5Lq%V#B-& zm#;hDws)?F^bK`cnnBB=JrHEwl?lS%R1k?oFg7-(syJnQ`SPWwORCjs%F0tVm(^;u z&}=q4dt?E@Z3D;{L%ZEpvL2;cttuU$DDARJrIJeXt{8@)L=4-uad~;^yWO|Q3evNI zvZ$Xe7KBn7Jw0{X5>|AG)F#ui=OMrFX>Rf1;^G3uVlgx~s);C<%dTPo z;Y1kwNjZ?XpuRJ-6Ds^{<}+QQJj6@`CKG zq{jfdg4Wa16M*Lvsn0~K)#|kUEiXRm8`+?~3&B%$L>2qQNIgSDdXi>waq(Z-q1~v% z7(2eczW!C_Sm~h77~6v6I=T_(;l(#nNDERZ6n;34vo0IFMiIu?@gUEi0(^RG-qO<2 zZvcKD^+)BoVHidp!0y%6)!)Oe3qcSBK@bE%5ClOG1VIo4p#%Q|l#l%MJlPef00000 LNkvXXu0mjfnJTtD literal 0 HcmV?d00001 diff --git a/portprotonqt/themes/standart/images/key_insert.png b/portprotonqt/themes/standart/images/key_insert.png new file mode 100644 index 0000000000000000000000000000000000000000..d0ae4d5caaa7b8ea6b34078a690e36de37f3f0bd GIT binary patch literal 1871 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 literal 0 HcmV?d00001 diff --git a/portprotonqt/themes/standart/images/key_right.png b/portprotonqt/themes/standart/images/key_right.png new file mode 100644 index 0000000000000000000000000000000000000000..929cb3520453886a94ed08bc2e296e727556ae4f GIT binary patch literal 1502 zcmV<41tI#0P) z%}(n$6vzKb0~Dc(iztyORJRha;!1Z0cC3IME7)~c*zg|rJ=n~=L0Q2HmOYk*~f&Du*;mEEYq5e?Pjqy59a)iDg-M ze0*%Wo!7ijE|+n2bybrmR3Ixz4&1c2TCECaRwE-L=e)Exm?ZXs@1BfdhG`tAeGc#_i)}L>Qo|;@LUX)#N%-!5{a5}(bz>ka)N8KED@$@ zsx;pcRF6qn4vEELFpQ7pA08fH+cqrAQq`=h7>0pJB=TWe`x*{ah4z3=FioE7B+xq!m-&Xf%q&#YId^Ot@n2t0}MBgz6jep4r)1%+JpUE`)_v5C9k( z8$%|O2~-FRwIBe{+uMtDI*sx1@m6=m5x(2cn3W;oIV6)wY;JC%TrRt6 z-%Wfch-sQgCX-5R|M>9(rfDLZ&EodFEiptE6ROR{ zpo;;7Opq`@g7^#)#Aiqe;$*j%ze7%)yB!1qzVH0l+}!Pzy^}*tV|=IhYhr_Z3YYIY zKekVP4`~<*Sw4e~MLWRDzAF=iUlT+k5p;BPsA^6bot>REA?e}aL0NmsR_c{X1?6)2 z!!=J{-3E{`hHAB{DWLs-37*DsN+d&x?;5MmDKuA$Y2esAFx6)H6h+H))24hyRtG+Jzm)*zW1+ z>7O!nrIR{iYzdO*=t9o*i*KZm7Nk%p{I+d-S~huw5yseVGtZv_TzYI?GMStQun_h~ z<<&#ev>bqJKA&H0bzcaAAP9mW2!bF8f*=TjAP7J3KN(x=&xkl-UjP6A07*qoM6N<$ Ef