Cleaned up files selection dialog code.

This commit is contained in:
Alex Dedul 2007-07-16 13:31:30 +00:00
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 # this exception statement from your version. If you delete this exception
# statement from all source files in the program, then also delete it here. # statement from all source files in the program, then also delete it here.
import gtk
import common import common
import dgtk import dgtk
import files
import pref import pref
import gtk
PREFS_FILENAME = "prefs.state" PREFS_FILENAME = "prefs.state"
@ -168,27 +170,32 @@ class PreferencesDlg:
self.glade.get_widget("finished_path_button").set_sensitive(True) self.glade.get_widget("finished_path_button").set_sensitive(True)
class FilesDlg: class FilesDlg:
def __init__(self, parent, files_for_dialog): def __init__(self, manager, unique_id):
self.files_for_dialog = files_for_dialog self.glade = gtk.glade.XML(common.get_glade_file("files_dialog.glade"),
self.parent = parent domain='deluge')
self.glade = gtk.glade.XML(common.get_glade_file("files_dialog.glade"), domain='deluge')
self.dialog = self.glade.get_widget("file_dialog") self.dialog = self.glade.get_widget("file_dialog")
self.dialog.set_icon_from_file(common.get_pixmap("deluge32.png")) self.dialog.set_icon_from_file(common.get_pixmap("deluge32.png"))
self.file_view = self.glade.get_widget("file_view") 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.manager = manager
self.files_for_dialog.use_unique_id(unique_id) self.unique_id = unique_id
self.files_for_dialog.prepare_store() 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 #clear private setting
self.glade.get_widget("chk_setpriv").set_active(False) self.glade.get_widget("chk_setpriv").set_active(False)
self.dialog.show() self.dialog.show()
r = self.dialog.run() r = self.dialog.run()
self.dialog.hide() self.dialog.hide()
self.files_for_dialog.clear_file_store()
if(self.glade.get_widget("chk_setpriv").get_active()): 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 return r
class PluginDlg: class PluginDlg:

View file

@ -65,7 +65,6 @@ class DelugeGTK:
self.manager = core.Manager(common.CLIENT_CODE, common.CLIENT_VERSION, self.manager = core.Manager(common.CLIENT_CODE, common.CLIENT_VERSION,
'%s %s'%(common.PROGRAM_NAME, common.PROGRAM_VERSION), common.CONFIG_DIR) '%s %s'%(common.PROGRAM_NAME, common.PROGRAM_VERSION), common.CONFIG_DIR)
self.files_for_tab = files.FilesManager(self.manager, True) 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 = plugins.PluginManager(self.manager, self)
self.plugins.add_plugin_dir(common.PLUGIN_DIR) self.plugins.add_plugin_dir(common.PLUGIN_DIR)
if os.path.isdir(os.path.join(common.CONFIG_DIR , 'plugins')): 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.preferences_dialog = dialogs.PreferencesDlg(self, self.config)
self.plugin_dialog = dialogs.PluginDlg(self, self.plugins) self.plugin_dialog = dialogs.PluginDlg(self, self.plugins)
self.files_dialog = dialogs.FilesDlg(self, self.files_for_dialog)
self.build_torrent_table() self.build_torrent_table()
self.build_summary_tab() self.build_summary_tab()
self.build_file_tab() self.build_file_tab()
@ -1105,7 +1103,9 @@ class DelugeGTK:
num_files = len(self.manager.get_torrent_file_info(unique_id)) num_files = len(self.manager.get_torrent_file_info(unique_id))
if self.config.get('enable_files_dialog') and num_files > 1: if self.config.get('enable_files_dialog') and num_files > 1:
self.manager.set_user_pause(unique_id, True) 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.manager.set_user_pause(unique_id, False)
self.torrent_model_append(unique_id) self.torrent_model_append(unique_id)
else: else: