diff --git a/src/dialogs.py b/src/dialogs.py index 7886cde9c..aefd0571a 100644 --- a/src/dialogs.py +++ b/src/dialogs.py @@ -28,10 +28,12 @@ # this exception statement from your version. If you delete this exception # statement from all source files in the program, then also delete it here. +import gtk + import common import dgtk +import files import pref -import gtk PREFS_FILENAME = "prefs.state" @@ -168,27 +170,32 @@ class PreferencesDlg: self.glade.get_widget("finished_path_button").set_sensitive(True) class FilesDlg: - def __init__(self, parent, files_for_dialog): - self.files_for_dialog = files_for_dialog - self.parent = parent - self.glade = gtk.glade.XML(common.get_glade_file("files_dialog.glade"), domain='deluge') + def __init__(self, manager, unique_id): + self.glade = gtk.glade.XML(common.get_glade_file("files_dialog.glade"), + domain='deluge') self.dialog = self.glade.get_widget("file_dialog") self.dialog.set_icon_from_file(common.get_pixmap("deluge32.png")) self.file_view = self.glade.get_widget("file_view") - self.files_for_dialog.build_file_view(self.file_view) - - def show(self, manager, unique_id): + self.manager = manager - self.files_for_dialog.use_unique_id(unique_id) - self.files_for_dialog.prepare_store() + self.unique_id = unique_id + self.files_manager = files.FilesManager(manager, False) + self.files_manager.build_file_view(self.file_view) + + def show(self): + self.files_manager.use_unique_id(self.unique_id) + self.files_manager.prepare_store() + #clear private setting self.glade.get_widget("chk_setpriv").set_active(False) + self.dialog.show() r = self.dialog.run() self.dialog.hide() - self.files_for_dialog.clear_file_store() + if(self.glade.get_widget("chk_setpriv").get_active()): - self.manager.set_priv(unique_id, True) + self.manager.set_priv(self.unique_id, True) + return r class PluginDlg: diff --git a/src/interface.py b/src/interface.py index 53bad2b74..c7f5b1d96 100644 --- a/src/interface.py +++ b/src/interface.py @@ -65,7 +65,6 @@ class DelugeGTK: self.manager = core.Manager(common.CLIENT_CODE, common.CLIENT_VERSION, '%s %s'%(common.PROGRAM_NAME, common.PROGRAM_VERSION), common.CONFIG_DIR) self.files_for_tab = files.FilesManager(self.manager, True) - self.files_for_dialog = files.FilesManager(self.manager, False) self.plugins = plugins.PluginManager(self.manager, self) self.plugins.add_plugin_dir(common.PLUGIN_DIR) if os.path.isdir(os.path.join(common.CONFIG_DIR , 'plugins')): @@ -102,7 +101,6 @@ class DelugeGTK: self.preferences_dialog = dialogs.PreferencesDlg(self, self.config) self.plugin_dialog = dialogs.PluginDlg(self, self.plugins) - self.files_dialog = dialogs.FilesDlg(self, self.files_for_dialog) self.build_torrent_table() self.build_summary_tab() self.build_file_tab() @@ -1105,7 +1103,9 @@ class DelugeGTK: num_files = len(self.manager.get_torrent_file_info(unique_id)) if self.config.get('enable_files_dialog') and num_files > 1: self.manager.set_user_pause(unique_id, True) - if self.files_dialog.show(self.manager, unique_id) == 1: + + files_dialog = dialogs.FilesDlg(self.manager, unique_id) + if files_dialog.show() == 1: self.manager.set_user_pause(unique_id, False) self.torrent_model_append(unique_id) else: