Skip to content

Commit e1be653

Browse files
authored
Hover an entry shows the content of the entry
1 parent e12aed6 commit e1be653

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

faugus-launcher.py

+34
Original file line numberDiff line numberDiff line change
@@ -2585,6 +2585,8 @@ def __init__(self, parent):
25852585
self.label_api_key.set_markup('<a href="https://www.steamgriddb.com/profile/preferences/api">SteamGridDB API Key</a>')
25862586
self.label_api_key.connect("activate-link", self.on_link_clicked)
25872587
self.entry_api_key = Gtk.Entry()
2588+
self.entry_api_key.set_has_tooltip(True)
2589+
self.entry_api_key.connect("query-tooltip", self.on_entry_query_tooltip)
25882590

25892591
# Create checkbox for 'Start maximized' option
25902592
self.checkbox_start_maximized = Gtk.CheckButton(label="Start maximized")
@@ -2607,6 +2609,8 @@ def __init__(self, parent):
26072609

26082610
self.entry_default_prefix = Gtk.Entry()
26092611
self.entry_default_prefix.set_tooltip_text("/path/to/the/prefix")
2612+
self.entry_default_prefix.set_has_tooltip(True)
2613+
self.entry_default_prefix.connect("query-tooltip", self.on_entry_query_tooltip)
26102614
self.entry_default_prefix.connect("changed", self.on_entry_changed, self.entry_default_prefix)
26112615

26122616
self.button_search_prefix = Gtk.Button()
@@ -2878,6 +2882,14 @@ def __init__(self, parent):
28782882
self.checkbox_gamemode.set_active(False)
28792883
self.checkbox_gamemode.set_tooltip_text("Tweaks your system to improve performance. NOT INSTALLED.")
28802884

2885+
def on_entry_query_tooltip(self, widget, x, y, keyboard_mode, tooltip):
2886+
current_text = widget.get_text()
2887+
if current_text.strip():
2888+
tooltip.set_text(current_text)
2889+
else:
2890+
tooltip.set_text(widget.get_tooltip_text())
2891+
return True
2892+
28812893
def on_checkbox_toggled(self, checkbox, option):
28822894
if checkbox.get_active():
28832895
if option == "maximized":
@@ -3718,6 +3730,8 @@ def __init__(self, parent, game_running2, file_path, api_key, interface_mode):
37183730
if interface_mode == "Banners":
37193731
self.entry_title.connect("focus-out-event", self.on_entry_focus_out)
37203732
self.entry_title.set_tooltip_text("Game Title")
3733+
self.entry_title.set_has_tooltip(True)
3734+
self.entry_title.connect("query-tooltip", self.on_entry_query_tooltip)
37213735

37223736
# Widgets for path
37233737
self.label_path = Gtk.Label(label="Path")
@@ -3727,6 +3741,8 @@ def __init__(self, parent, game_running2, file_path, api_key, interface_mode):
37273741
if file_path:
37283742
self.entry_path.set_text(file_path)
37293743
self.entry_path.set_tooltip_text("/path/to/the/exe")
3744+
self.entry_path.set_has_tooltip(True)
3745+
self.entry_path.connect("query-tooltip", self.on_entry_query_tooltip)
37303746
self.button_search = Gtk.Button()
37313747
self.button_search.set_image(Gtk.Image.new_from_icon_name("system-search-symbolic", Gtk.IconSize.BUTTON))
37323748
self.button_search.connect("clicked", self.on_button_search_clicked)
@@ -3738,6 +3754,8 @@ def __init__(self, parent, game_running2, file_path, api_key, interface_mode):
37383754
self.entry_prefix = Gtk.Entry()
37393755
self.entry_prefix.connect("changed", self.on_entry_changed, self.entry_prefix)
37403756
self.entry_prefix.set_tooltip_text("/path/to/the/prefix")
3757+
self.entry_prefix.set_has_tooltip(True)
3758+
self.entry_prefix.connect("query-tooltip", self.on_entry_query_tooltip)
37413759
self.button_search_prefix = Gtk.Button()
37423760
self.button_search_prefix.set_image(Gtk.Image.new_from_icon_name("system-search-symbolic", Gtk.IconSize.BUTTON))
37433761
self.button_search_prefix.connect("clicked", self.on_button_search_prefix_clicked)
@@ -3753,6 +3771,8 @@ def __init__(self, parent, game_running2, file_path, api_key, interface_mode):
37533771
self.label_protonfix.set_halign(Gtk.Align.START)
37543772
self.entry_protonfix = Gtk.Entry()
37553773
self.entry_protonfix.set_tooltip_text("UMU ID")
3774+
self.entry_protonfix.set_has_tooltip(True)
3775+
self.entry_protonfix.connect("query-tooltip", self.on_entry_query_tooltip)
37563776
self.button_search_protonfix = Gtk.Button()
37573777
self.button_search_protonfix.set_image(Gtk.Image.new_from_icon_name("system-search-symbolic", Gtk.IconSize.BUTTON))
37583778
self.button_search_protonfix.connect("clicked", self.on_button_search_protonfix_clicked)
@@ -3763,19 +3783,25 @@ def __init__(self, parent, game_running2, file_path, api_key, interface_mode):
37633783
self.label_launch_arguments.set_halign(Gtk.Align.START)
37643784
self.entry_launch_arguments = Gtk.Entry()
37653785
self.entry_launch_arguments.set_tooltip_text("e.g.: PROTON_USE_WINED3D=1 gamescope -W 2560 -H 1440")
3786+
self.entry_launch_arguments.set_has_tooltip(True)
3787+
self.entry_launch_arguments.connect("query-tooltip", self.on_entry_query_tooltip)
37663788

37673789
# Widgets for game arguments
37683790
self.label_game_arguments = Gtk.Label(label="Game Arguments")
37693791
self.label_game_arguments.set_halign(Gtk.Align.START)
37703792
self.entry_game_arguments = Gtk.Entry()
37713793
self.entry_game_arguments.set_tooltip_text("e.g.: -d3d11 -fullscreen")
3794+
self.entry_game_arguments.set_has_tooltip(True)
3795+
self.entry_game_arguments.connect("query-tooltip", self.on_entry_query_tooltip)
37723796

37733797
# Widgets for extra executable
37743798
self.checkbox_addapp = Gtk.CheckButton(label="Additional Application")
37753799
self.checkbox_addapp.set_tooltip_text("Additional application to run with the game, like Cheat Engine, Trainers, Mods...")
37763800
self.checkbox_addapp.connect("toggled", self.on_checkbox_addapp_toggled)
37773801
self.entry_addapp = Gtk.Entry()
37783802
self.entry_addapp.set_tooltip_text("/path/to/the/app")
3803+
self.entry_addapp.set_has_tooltip(True)
3804+
self.entry_addapp.connect("query-tooltip", self.on_entry_query_tooltip)
37793805
self.entry_addapp.set_sensitive(False)
37803806
self.button_search_addapp = Gtk.Button()
37813807
self.button_search_addapp.set_image(Gtk.Image.new_from_icon_name("system-search-symbolic", Gtk.IconSize.BUTTON))
@@ -4030,6 +4056,14 @@ def __init__(self, parent, game_running2, file_path, api_key, interface_mode):
40304056
self.image_banner.set_from_pixbuf(pixbuf)
40314057
self.image_banner2.set_from_pixbuf(pixbuf)
40324058

4059+
def on_entry_query_tooltip(self, widget, x, y, keyboard_mode, tooltip):
4060+
current_text = widget.get_text()
4061+
if current_text.strip():
4062+
tooltip.set_text(current_text)
4063+
else:
4064+
tooltip.set_text(widget.get_tooltip_text())
4065+
return True
4066+
40334067
def on_image_clicked(self, widget, event):
40344068
self.menu.popup_at_pointer(event)
40354069

0 commit comments

Comments
 (0)