small refactoring of chooser dialog

This commit is contained in:
DYefremov
2020-04-21 14:43:57 +03:00
parent 04fd8b7182
commit 3160ec2455
6 changed files with 11 additions and 10 deletions

View File

@@ -81,10 +81,11 @@ def show_dialog(dialog_type: DialogType, transient, text=None, settings=None, ac
return get_about_dialog(transient)
def get_chooser_dialog(transient, settings, pattern, name):
def get_chooser_dialog(transient, settings, name, patterns):
file_filter = Gtk.FileFilter()
file_filter.add_pattern(pattern)
file_filter.set_name(name)
for p in patterns:
file_filter.add_pattern(p)
return show_dialog(dialog_type=DialogType.CHOOSER,
transient=transient,

View File

@@ -30,7 +30,7 @@ def import_bouquet(transient, model, path, settings, services, appender):
elif bq_type is BqType.WEBTV:
f_pattern = "webtv.xml"
file_path = get_chooser_dialog(transient, settings, f_pattern, "bouquet files")
file_path = get_chooser_dialog(transient, settings, "bouquet files", (f_pattern,))
if file_path == Gtk.ResponseType.CANCEL:
return

View File

@@ -1681,11 +1681,11 @@ class Application(Gtk.Application):
def on_import_m3u(self, action, value=None):
""" Imports iptv from m3u files. """
response = get_chooser_dialog(self._main_window, self._settings, "*.m3u", "m3u files")
response = get_chooser_dialog(self._main_window, self._settings, "*.m3u* files", ("*.m3u", "*.m3u8"))
if response == Gtk.ResponseType.CANCEL:
return
if not str(response).endswith("m3u"):
if not str(response).endswith(("m3u", "m3u8")):
self.show_error_dialog("No m3u file is selected!")
return

View File

@@ -367,7 +367,7 @@ def assign_picon(target, srv_view, fav_view, transient, picons, settings, servic
model, paths = view.get_selection().get_selected_rows()
if not p_path:
p_path = get_chooser_dialog(transient, settings, "*.png", "png files")
p_path = get_chooser_dialog(transient, settings, "*.png files", ("*.png",))
if p_path == Gtk.ResponseType.CANCEL:
return

View File

@@ -9,10 +9,10 @@ from app.commons import run_idle, run_task
from app.eparser import get_satellites, write_satellites, Satellite, Transponder
from app.eparser.ecommons import PLS_MODE, get_key_by_value
from app.tools.satellites import SatellitesParser, SatelliteSource
from .search import SearchProvider
from .uicommons import Gtk, Gdk, UI_RESOURCES_PATH, TEXT_DOMAIN, MOVE_KEYS, KeyboardKey, IS_GNOME_SESSION, MOD_MASK
from .dialogs import show_dialog, DialogType, get_dialogs_string, get_chooser_dialog
from .main_helper import move_items, scroll_to, append_text_to_tview, get_base_model, on_popup_menu
from .search import SearchProvider
from .uicommons import Gtk, Gdk, UI_RESOURCES_PATH, TEXT_DOMAIN, MOVE_KEYS, KeyboardKey, IS_GNOME_SESSION, MOD_MASK
_UI_PATH = UI_RESOURCES_PATH + "satellites_dialog.glade"
@@ -84,7 +84,7 @@ class SatellitesDialog:
@run_idle
def on_open(self, model):
response = get_chooser_dialog(self._window, self._settings, "*.xml", "satellites.xml")
response = get_chooser_dialog(self._window, self._settings, "satellites.xml", ("*.xml",))
if response in (Gtk.ResponseType.CANCEL, Gtk.ResponseType.DELETE_EVENT):
return

View File

@@ -689,7 +689,7 @@ class SettingsDialog:
@run_idle
def add_theme(self, path, button):
response = get_chooser_dialog(self._dialog, self._settings, "*.tar.*", "")
response = get_chooser_dialog(self._dialog, self._settings, "Themes Archive [*.xz, *.zip]", ("*.xz", "*.zip"))
if response in (Gtk.ResponseType.CANCEL, Gtk.ResponseType.DELETE_EVENT):
return
self._appearance_box.set_sensitive(False)