mirror of
https://github.com/derrod/legendary.git
synced 2025-08-26 20:11:04 +00:00
added folders and file choosers. TODO: tooltips, actual install
This commit is contained in:
parent
4a528b115e
commit
f613a4b946
|
@ -48,6 +48,7 @@ def update_avail(app_name):
|
||||||
else:
|
else:
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
|
# TODO: tooltips, actual install
|
||||||
def install_gtk(app_name, app_title, parent):
|
def install_gtk(app_name, app_title, parent):
|
||||||
install_dialog = Gtk.MessageDialog( parent=parent,
|
install_dialog = Gtk.MessageDialog( parent=parent,
|
||||||
destroy_with_parent=True,
|
destroy_with_parent=True,
|
||||||
|
@ -65,6 +66,7 @@ def install_gtk(app_name, app_title, parent):
|
||||||
# advanced options declaration
|
# advanced options declaration
|
||||||
show_advanced = False
|
show_advanced = False
|
||||||
show_advanced_check_button = Gtk.CheckButton(label="Show advanced options")
|
show_advanced_check_button = Gtk.CheckButton(label="Show advanced options")
|
||||||
|
show_advanced_check_button.set_tooltip_text("Show more options")
|
||||||
vbox.add(show_advanced_check_button)
|
vbox.add(show_advanced_check_button)
|
||||||
advanced_options = Gtk.VBox(spacing=5)
|
advanced_options = Gtk.VBox(spacing=5)
|
||||||
|
|
||||||
|
@ -72,6 +74,27 @@ def install_gtk(app_name, app_title, parent):
|
||||||
base_path_box = Gtk.HBox()
|
base_path_box = Gtk.HBox()
|
||||||
base_path_label = Gtk.Label(label="Base Path")
|
base_path_label = Gtk.Label(label="Base Path")
|
||||||
base_path_entry = Gtk.Entry()
|
base_path_entry = Gtk.Entry()
|
||||||
|
base_path_file_chooser_button = Gtk.Button(label="Browse")
|
||||||
|
def base_path_choose_folder(self):
|
||||||
|
# fc = file chooser
|
||||||
|
fc = Gtk.FileChooserDialog(title="Please choose the base path",
|
||||||
|
parent=install_dialog,
|
||||||
|
action=Gtk.FileChooserAction.SELECT_FOLDER,
|
||||||
|
destroy_with_parent=True
|
||||||
|
)
|
||||||
|
fc.add_buttons(Gtk.STOCK_CANCEL,
|
||||||
|
Gtk.ResponseType.CANCEL,
|
||||||
|
Gtk.STOCK_OPEN,
|
||||||
|
Gtk.ResponseType.OK
|
||||||
|
)
|
||||||
|
fc.set_default_size(600, 300)
|
||||||
|
base_path_file_response = fc.run()
|
||||||
|
if base_path_file_response == Gtk.ResponseType.OK:
|
||||||
|
base_path_entry.set_text(fc.get_filename())
|
||||||
|
print("Folder selected for base path:"+fc.get_filename())
|
||||||
|
fc.destroy()
|
||||||
|
base_path_file_chooser_button.connect("clicked",base_path_choose_folder)
|
||||||
|
base_path_box.pack_end(base_path_file_chooser_button, False, False, 5)
|
||||||
base_path_box.pack_start(base_path_label, False, False, 10)
|
base_path_box.pack_start(base_path_label, False, False, 10)
|
||||||
base_path_box.pack_start(base_path_entry, True, True, 0)
|
base_path_box.pack_start(base_path_entry, True, True, 0)
|
||||||
vbox.add(base_path_box)
|
vbox.add(base_path_box)
|
||||||
|
@ -80,6 +103,27 @@ def install_gtk(app_name, app_title, parent):
|
||||||
game_folder_box = Gtk.HBox()
|
game_folder_box = Gtk.HBox()
|
||||||
game_folder_label = Gtk.Label(label="Game Folder")
|
game_folder_label = Gtk.Label(label="Game Folder")
|
||||||
game_folder_entry = Gtk.Entry()
|
game_folder_entry = Gtk.Entry()
|
||||||
|
game_folder_file_chooser_button = Gtk.Button(label="Browse")
|
||||||
|
def game_folder_choose_folder(self):
|
||||||
|
# fc = file chooser
|
||||||
|
fc = Gtk.FileChooserDialog(title="Please choose the game folder",
|
||||||
|
parent=install_dialog,
|
||||||
|
action=Gtk.FileChooserAction.SELECT_FOLDER,
|
||||||
|
destroy_with_parent=True
|
||||||
|
)
|
||||||
|
fc.add_buttons(Gtk.STOCK_CANCEL,
|
||||||
|
Gtk.ResponseType.CANCEL,
|
||||||
|
Gtk.STOCK_OPEN,
|
||||||
|
Gtk.ResponseType.OK
|
||||||
|
)
|
||||||
|
fc.set_default_size(600, 300)
|
||||||
|
game_folder_file_response = fc.run()
|
||||||
|
if game_folder_file_response == Gtk.ResponseType.OK:
|
||||||
|
game_folder_entry.set_text(fc.get_filename())
|
||||||
|
print("Folder selected for game folder:"+fc.get_filename())
|
||||||
|
fc.destroy()
|
||||||
|
game_folder_file_chooser_button.connect("clicked",game_folder_choose_folder)
|
||||||
|
game_folder_box.pack_end(game_folder_file_chooser_button, False, False, 5)
|
||||||
game_folder_box.pack_start(game_folder_label, False, False, 10)
|
game_folder_box.pack_start(game_folder_label, False, False, 10)
|
||||||
game_folder_box.pack_start(game_folder_entry, True, True, 0)
|
game_folder_box.pack_start(game_folder_entry, True, True, 0)
|
||||||
vbox.add(game_folder_box)
|
vbox.add(game_folder_box)
|
||||||
|
@ -104,6 +148,27 @@ def install_gtk(app_name, app_title, parent):
|
||||||
override_manifest_box = Gtk.HBox()
|
override_manifest_box = Gtk.HBox()
|
||||||
override_manifest_label = Gtk.Label(label="Manifest")
|
override_manifest_label = Gtk.Label(label="Manifest")
|
||||||
override_manifest_entry = Gtk.Entry()
|
override_manifest_entry = Gtk.Entry()
|
||||||
|
override_manifest_file_chooser_button = Gtk.Button(label="Browse")
|
||||||
|
def override_manifest_choose_folder(self):
|
||||||
|
# fc = file chooser
|
||||||
|
fc = Gtk.FileChooserDialog(title="Please choose the manifest",
|
||||||
|
parent=install_dialog,
|
||||||
|
action=Gtk.FileChooserAction.OPEN,
|
||||||
|
destroy_with_parent=True
|
||||||
|
)
|
||||||
|
fc.add_buttons(Gtk.STOCK_CANCEL,
|
||||||
|
Gtk.ResponseType.CANCEL,
|
||||||
|
Gtk.STOCK_OPEN,
|
||||||
|
Gtk.ResponseType.OK
|
||||||
|
)
|
||||||
|
fc.set_default_size(600, 300)
|
||||||
|
override_manifest_file_response = fc.run()
|
||||||
|
if override_manifest_file_response == Gtk.ResponseType.OK:
|
||||||
|
override_manifest_entry.set_text(fc.get_filename())
|
||||||
|
print("Folder selected for manifest:"+fc.get_filename())
|
||||||
|
fc.destroy()
|
||||||
|
override_manifest_file_chooser_button.connect("clicked",override_manifest_choose_folder)
|
||||||
|
override_manifest_box.pack_end(override_manifest_file_chooser_button, False, False, 5)
|
||||||
override_manifest_box.pack_start(override_manifest_label, False, False, 10)
|
override_manifest_box.pack_start(override_manifest_label, False, False, 10)
|
||||||
override_manifest_box.pack_start(override_manifest_entry, True, True, 0)
|
override_manifest_box.pack_start(override_manifest_entry, True, True, 0)
|
||||||
advanced_options.add(override_manifest_box)
|
advanced_options.add(override_manifest_box)
|
||||||
|
@ -112,6 +177,27 @@ def install_gtk(app_name, app_title, parent):
|
||||||
override_old_manifest_box = Gtk.HBox()
|
override_old_manifest_box = Gtk.HBox()
|
||||||
override_old_manifest_label = Gtk.Label(label="Old Manifest")
|
override_old_manifest_label = Gtk.Label(label="Old Manifest")
|
||||||
override_old_manifest_entry = Gtk.Entry()
|
override_old_manifest_entry = Gtk.Entry()
|
||||||
|
override_old_manifest_file_chooser_button = Gtk.Button(label="Browse")
|
||||||
|
def override_old_manifest_choose_folder(self):
|
||||||
|
# fc = file chooser
|
||||||
|
fc = Gtk.FileChooserDialog(title="Please choose the old manifest",
|
||||||
|
parent=install_dialog,
|
||||||
|
action=Gtk.FileChooserAction.OPEN,
|
||||||
|
destroy_with_parent=True
|
||||||
|
)
|
||||||
|
fc.add_buttons(Gtk.STOCK_CANCEL,
|
||||||
|
Gtk.ResponseType.CANCEL,
|
||||||
|
Gtk.STOCK_OPEN,
|
||||||
|
Gtk.ResponseType.OK
|
||||||
|
)
|
||||||
|
fc.set_default_size(600, 300)
|
||||||
|
override_old_manifest_file_response = fc.run()
|
||||||
|
if override_old_manifest_file_response == Gtk.ResponseType.OK:
|
||||||
|
override_old_manifest_entry.set_text(fc.get_filename())
|
||||||
|
print("Folder selected for old manifest:"+fc.get_filename())
|
||||||
|
fc.destroy()
|
||||||
|
override_old_manifest_file_chooser_button.connect("clicked",override_old_manifest_choose_folder)
|
||||||
|
override_old_manifest_box.pack_end(override_old_manifest_file_chooser_button, False, False, 5)
|
||||||
override_old_manifest_box.pack_start(override_old_manifest_label, False, False, 10)
|
override_old_manifest_box.pack_start(override_old_manifest_label, False, False, 10)
|
||||||
override_old_manifest_box.pack_start(override_old_manifest_entry, True, True, 0)
|
override_old_manifest_box.pack_start(override_old_manifest_entry, True, True, 0)
|
||||||
advanced_options.add(override_old_manifest_box)
|
advanced_options.add(override_old_manifest_box)
|
||||||
|
@ -120,6 +206,27 @@ def install_gtk(app_name, app_title, parent):
|
||||||
override_delta_manifest_box = Gtk.HBox()
|
override_delta_manifest_box = Gtk.HBox()
|
||||||
override_delta_manifest_label = Gtk.Label(label="Delta Manifest")
|
override_delta_manifest_label = Gtk.Label(label="Delta Manifest")
|
||||||
override_delta_manifest_entry = Gtk.Entry()
|
override_delta_manifest_entry = Gtk.Entry()
|
||||||
|
override_delta_manifest_file_chooser_button = Gtk.Button(label="Browse")
|
||||||
|
def override_delta_manifest_choose_folder(self):
|
||||||
|
# fc = file chooser
|
||||||
|
fc = Gtk.FileChooserDialog(title="Please choose the delta manifest",
|
||||||
|
parent=install_dialog,
|
||||||
|
action=Gtk.FileChooserAction.OPEN,
|
||||||
|
destroy_with_parent=True
|
||||||
|
)
|
||||||
|
fc.add_buttons(Gtk.STOCK_CANCEL,
|
||||||
|
Gtk.ResponseType.CANCEL,
|
||||||
|
Gtk.STOCK_OPEN,
|
||||||
|
Gtk.ResponseType.OK
|
||||||
|
)
|
||||||
|
fc.set_default_size(600, 300)
|
||||||
|
override_delta_manifest_file_response = fc.run()
|
||||||
|
if override_delta_manifest_file_response == Gtk.ResponseType.OK:
|
||||||
|
override_delta_manifest_entry.set_text(fc.get_filename())
|
||||||
|
print("Folder selected for delta manifest:"+fc.get_filename())
|
||||||
|
fc.destroy()
|
||||||
|
override_delta_manifest_file_chooser_button.connect("clicked",override_delta_manifest_choose_folder)
|
||||||
|
override_delta_manifest_box.pack_end(override_delta_manifest_file_chooser_button, False, False, 5)
|
||||||
override_delta_manifest_box.pack_start(override_delta_manifest_label, False, False, 10)
|
override_delta_manifest_box.pack_start(override_delta_manifest_label, False, False, 10)
|
||||||
override_delta_manifest_box.pack_start(override_delta_manifest_entry, True, True, 0)
|
override_delta_manifest_box.pack_start(override_delta_manifest_entry, True, True, 0)
|
||||||
advanced_options.add(override_delta_manifest_box)
|
advanced_options.add(override_delta_manifest_box)
|
||||||
|
@ -192,7 +299,7 @@ def install_gtk(app_name, app_title, parent):
|
||||||
glm_debug_check_button.connect("toggled", glm_debug_button_toggled, "glm_debug")
|
glm_debug_check_button.connect("toggled", glm_debug_button_toggled, "glm_debug")
|
||||||
advanced_options.add(glm_debug_check_button)
|
advanced_options.add(glm_debug_check_button)
|
||||||
|
|
||||||
# --platform <Platform>
|
# --platform <Platform> # use drop-down menu
|
||||||
platform_override_box = Gtk.HBox()
|
platform_override_box = Gtk.HBox()
|
||||||
platform_override_label = Gtk.Label(label="Platform")
|
platform_override_label = Gtk.Label(label="Platform")
|
||||||
platform_override_entry = Gtk.Entry()
|
platform_override_entry = Gtk.Entry()
|
||||||
|
@ -236,7 +343,7 @@ def install_gtk(app_name, app_title, parent):
|
||||||
enable_reordering_check_button.connect("toggled", enable_reordering_button_toggled, "enable_reordering")
|
enable_reordering_check_button.connect("toggled", enable_reordering_button_toggled, "enable_reordering")
|
||||||
advanced_options.add(enable_reordering_check_button)
|
advanced_options.add(enable_reordering_check_button)
|
||||||
|
|
||||||
# --dl-timeout <sec>
|
# --dl-timeout <sec> # use number thingy with - 00 +
|
||||||
dl_timeout_box = Gtk.HBox()
|
dl_timeout_box = Gtk.HBox()
|
||||||
dl_timeout_label = Gtk.Label(label="Downloader timeout")
|
dl_timeout_label = Gtk.Label(label="Downloader timeout")
|
||||||
dl_timeout_entry = Gtk.Entry()
|
dl_timeout_entry = Gtk.Entry()
|
||||||
|
@ -248,6 +355,27 @@ def install_gtk(app_name, app_title, parent):
|
||||||
save_path_box = Gtk.HBox()
|
save_path_box = Gtk.HBox()
|
||||||
save_path_label = Gtk.Label(label="Save path")
|
save_path_label = Gtk.Label(label="Save path")
|
||||||
save_path_entry = Gtk.Entry()
|
save_path_entry = Gtk.Entry()
|
||||||
|
save_path_file_chooser_button = Gtk.Button(label="Browse")
|
||||||
|
def save_path_choose_folder(self):
|
||||||
|
# fc = file chooser
|
||||||
|
fc = Gtk.FileChooserDialog(title="Please choose the save path",
|
||||||
|
parent=install_dialog,
|
||||||
|
action=Gtk.FileChooserAction.SELECT_FOLDER,
|
||||||
|
destroy_with_parent=True
|
||||||
|
)
|
||||||
|
fc.add_buttons(Gtk.STOCK_CANCEL,
|
||||||
|
Gtk.ResponseType.CANCEL,
|
||||||
|
Gtk.STOCK_OPEN,
|
||||||
|
Gtk.ResponseType.OK
|
||||||
|
)
|
||||||
|
fc.set_default_size(600, 300)
|
||||||
|
save_path_file_response = fc.run()
|
||||||
|
if save_path_file_response == Gtk.ResponseType.OK:
|
||||||
|
save_path_entry.set_text(fc.get_filename())
|
||||||
|
print("Folder selected for save path:"+fc.get_filename())
|
||||||
|
fc.destroy()
|
||||||
|
save_path_file_chooser_button.connect("clicked",save_path_choose_folder)
|
||||||
|
save_path_box.pack_end(save_path_file_chooser_button, False, False, 5)
|
||||||
save_path_box.pack_start(save_path_label, False, False, 10)
|
save_path_box.pack_start(save_path_label, False, False, 10)
|
||||||
save_path_box.pack_start(save_path_entry, True, True, 0)
|
save_path_box.pack_start(save_path_entry, True, True, 0)
|
||||||
advanced_options.add(save_path_box)
|
advanced_options.add(save_path_box)
|
||||||
|
@ -318,7 +446,9 @@ def install_gtk(app_name, app_title, parent):
|
||||||
def show_advanced_button_toggled(button, name):
|
def show_advanced_button_toggled(button, name):
|
||||||
if button.get_active():
|
if button.get_active():
|
||||||
show_advanced = True
|
show_advanced = True
|
||||||
advanced_options.show()
|
advanced_options.set_no_show_all(False)
|
||||||
|
install_dialog.show_all()
|
||||||
|
# advanced_options.show()
|
||||||
else:
|
else:
|
||||||
show_advanced = False
|
show_advanced = False
|
||||||
#vbox.remove(advanced_options)
|
#vbox.remove(advanced_options)
|
||||||
|
@ -327,8 +457,10 @@ def install_gtk(app_name, app_title, parent):
|
||||||
print(name, "is now", show_advanced)
|
print(name, "is now", show_advanced)
|
||||||
show_advanced_check_button.connect("toggled", show_advanced_button_toggled, "show_advanced")
|
show_advanced_check_button.connect("toggled", show_advanced_button_toggled, "show_advanced")
|
||||||
|
|
||||||
vbox.show()
|
advanced_options.set_no_show_all(True)
|
||||||
install_dialog.show()
|
#vbox.show()
|
||||||
|
install_dialog.show_all()
|
||||||
|
#install_dialog.get_content_area().show()
|
||||||
#advanced_options.hide()
|
#advanced_options.hide()
|
||||||
#install_dialog.resize(400,5)
|
#install_dialog.resize(400,5)
|
||||||
|
|
||||||
|
@ -348,7 +480,7 @@ def install_gtk(app_name, app_title, parent):
|
||||||
dl_timeout = dl_timeout_entry.get_text()
|
dl_timeout = dl_timeout_entry.get_text()
|
||||||
save_path = save_path_entry.get_text()
|
save_path = save_path_entry.get_text()
|
||||||
install_dialog.destroy()
|
install_dialog.destroy()
|
||||||
print(base_path)
|
#print(base_path)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue