diff --git a/deluge/ui/gtk3/addtorrentdialog.py b/deluge/ui/gtk3/addtorrentdialog.py index c6751f772..b9ce00934 100644 --- a/deluge/ui/gtk3/addtorrentdialog.py +++ b/deluge/ui/gtk3/addtorrentdialog.py @@ -420,7 +420,9 @@ class AddTorrentDialog(component.Component): self.move_completed_hbox = self.builder.get_object( 'hbox_move_completed_chooser' ) - self.move_completed_path_chooser = PathChooser('move_completed_paths_list') + self.move_completed_path_chooser = PathChooser( + 'move_completed_paths_list', parent=self.dialog + ) self.move_completed_hbox.add(self.move_completed_path_chooser) self.move_completed_hbox.show_all() @@ -429,7 +431,7 @@ class AddTorrentDialog(component.Component): 'hbox_download_location_chooser' ) self.download_location_path_chooser = PathChooser( - 'download_location_paths_list' + 'download_location_paths_list', parent=self.dialog ) self.download_location_hbox.add(self.download_location_path_chooser) self.download_location_hbox.show_all() diff --git a/deluge/ui/gtk3/glade/preferences_dialog.ui b/deluge/ui/gtk3/glade/preferences_dialog.ui index ae28d7457..48b37a9ed 100644 --- a/deluge/ui/gtk3/glade/preferences_dialog.ui +++ b/deluge/ui/gtk3/glade/preferences_dialog.ui @@ -237,6 +237,7 @@ False 5 Preferences + True center-on-parent 450 500 diff --git a/deluge/ui/gtk3/menubar.py b/deluge/ui/gtk3/menubar.py index a79c342e3..84d00c82e 100644 --- a/deluge/ui/gtk3/menubar.py +++ b/deluge/ui/gtk3/menubar.py @@ -343,7 +343,9 @@ class MenuBar(component.Component): self.move_storage_dialog = builder.get_object('move_storage_dialog') self.move_storage_dialog.set_transient_for(self.mainwindow.window) self.move_storage_dialog_hbox = builder.get_object('hbox_entry') - self.move_storage_path_chooser = PathChooser('move_completed_paths_list') + self.move_storage_path_chooser = PathChooser( + 'move_completed_paths_list', self.move_storage_dialog + ) self.move_storage_dialog_hbox.add(self.move_storage_path_chooser) self.move_storage_dialog_hbox.show_all() self.move_storage_path_chooser.set_text(status['download_location']) diff --git a/deluge/ui/gtk3/options_tab.py b/deluge/ui/gtk3/options_tab.py index d088ef429..6a25fd1e8 100644 --- a/deluge/ui/gtk3/options_tab.py +++ b/deluge/ui/gtk3/options_tab.py @@ -58,7 +58,9 @@ class OptionsTab(Tab): self.button_apply = self.main_builder.get_object('button_apply') - self.move_completed_path_chooser = PathChooser('move_completed_paths_list') + self.move_completed_path_chooser = PathChooser( + 'move_completed_paths_list', parent=component.get('MainWindow').window + ) self.move_completed_path_chooser.set_sensitive( self.tab_widgets['chk_move_completed'].obj.get_active() ) diff --git a/deluge/ui/gtk3/path_chooser.py b/deluge/ui/gtk3/path_chooser.py index 798a02a7d..4a3e7d64b 100644 --- a/deluge/ui/gtk3/path_chooser.py +++ b/deluge/ui/gtk3/path_chooser.py @@ -123,9 +123,9 @@ class PathChoosersHandler(component.Component): class PathChooser(PathChooserComboBox): - def __init__(self, paths_config_key=None): + def __init__(self, paths_config_key=None, parent=None): self.paths_config_key = paths_config_key - super(PathChooser, self).__init__() + super(PathChooser, self).__init__(parent=parent) self.chooser_handler = PathChoosersHandler() self.chooser_handler.register_chooser(self) self.set_auto_completer_func(self.on_completion) diff --git a/deluge/ui/gtk3/path_combo_chooser.py b/deluge/ui/gtk3/path_combo_chooser.py index a2c374353..172560749 100755 --- a/deluge/ui/gtk3/path_combo_chooser.py +++ b/deluge/ui/gtk3/path_combo_chooser.py @@ -18,7 +18,6 @@ from gi.module import get_introspection_module from gi.repository import Gdk, GObject, Gtk from gi.repository.GObject import SignalFlags -import deluge.component as component from deluge.common import PY2, resource_filename from deluge.path_chooser_common import get_completion_paths @@ -1130,7 +1129,11 @@ class PathChooserComboBox(GtkGI.Box, StoredValuesPopup, GObject.GObject): } def __init__( - self, max_visible_rows=20, auto_complete=True, use_completer_popup=True + self, + max_visible_rows=20, + auto_complete=True, + use_completer_popup=True, + parent=None, ): GtkGI.Box.__init__(self) GObject.GObject.__init__(self) @@ -1143,6 +1146,7 @@ class PathChooserComboBox(GtkGI.Box, StoredValuesPopup, GObject.GObject): self.show_folder_name_on_button = False self.setting_accelerator_key = False self.builder = Gtk.Builder() + self.parent = parent self.popup_buttonbox = self.builder.get_object('buttonbox') self.builder.add_from_file( resource_filename( @@ -1156,7 +1160,7 @@ class PathChooserComboBox(GtkGI.Box, StoredValuesPopup, GObject.GObject): ) self.filechooser_button = self.open_filechooser_dialog_button self.filechooserdialog = self.builder.get_object('filechooserdialog') - self.filechooserdialog.set_transient_for(component.get('MainWindow').window) + self.filechooserdialog.set_transient_for(self.parent) self.filechooser_widget = self.builder.get_object('filechooser_widget') self.folder_name_label = self.builder.get_object('folder_name_label') self.default_text = None @@ -1550,7 +1554,7 @@ class PathChooserComboBox(GtkGI.Box, StoredValuesPopup, GObject.GObject): self.show_folder_name_on_button_checkbutton = self.builder.get_object( 'show_folder_name_on_button_checkbutton' ) - self.config_dialog.set_transient_for(component.get('MainWindow').window) + self.config_dialog.set_transient_for(self.parent) def on_close(widget, event=None): if not self.setting_accelerator_key: diff --git a/deluge/ui/gtk3/preferences.py b/deluge/ui/gtk3/preferences.py index d3a1c77b7..6333ae26e 100644 --- a/deluge/ui/gtk3/preferences.py +++ b/deluge/ui/gtk3/preferences.py @@ -189,7 +189,7 @@ class Preferences(component.Component): 'hbox_download_to_path_chooser' ) self.download_location_path_chooser = PathChooser( - 'download_location_paths_list' + 'download_location_paths_list', parent=self.pref_dialog ) self.download_location_hbox.add(self.download_location_path_chooser) self.download_location_hbox.show_all() @@ -197,7 +197,9 @@ class Preferences(component.Component): self.move_completed_hbox = self.builder.get_object( 'hbox_move_completed_to_path_chooser' ) - self.move_completed_path_chooser = PathChooser('move_completed_paths_list') + self.move_completed_path_chooser = PathChooser( + 'move_completed_paths_list', parent=self.pref_dialog + ) self.move_completed_hbox.add(self.move_completed_path_chooser) self.move_completed_hbox.show_all() @@ -205,7 +207,7 @@ class Preferences(component.Component): 'hbox_copy_torrent_files_path_chooser' ) self.copy_torrent_files_path_chooser = PathChooser( - 'copy_torrent_files_to_paths_list' + 'copy_torrent_files_to_paths_list', parent=self.pref_dialog ) self.copy_torrents_to_hbox.add(self.copy_torrent_files_path_chooser) self.copy_torrents_to_hbox.show_all()