Cleaned up files selection dialog code.

This commit is contained in:
Alex Dedul 2007-07-16 13:31:30 +00:00
parent ea239ee6ef
commit 468667d068
2 changed files with 22 additions and 15 deletions

View File

@ -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:

View File

@ -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: