コード例 #1
0
ファイル: gui.py プロジェクト: spantaleev/sftpman-gtk
    def handler_save(self, btn, fields):
        if not self.added:
            controller = None
            is_mounted_before_save = False
        else:
            controller = SystemControllerModel(self.system, self.environment)
            is_mounted_before_save = controller.mounted
            controller.unmount()

        for field_info in fields:
            widget = field_info["widget"]

            get_value_callback = getattr(self, "get_value_%s" % field_info["type"], None)
            if get_value_callback is None:
                raise SftpException("Cannot get value for field type: %s" % field_info["type"])
            value = get_value_callback(widget)
            setattr(self.system, field_info["id"], value)

        is_valid, errors = self.system.validate()
        if is_valid:
            self.system.save(self.environment)

            if is_mounted_before_save:
                controller.mount()

            self.close()
        else:
            for field_id, msg in errors:
                show_warning_message(msg)
コード例 #2
0
ファイル: gui.py プロジェクト: spantaleev/sftpman-gtk
    def handler_save(self, btn):
        if not self.added:
            controller = None
            is_mounted_before_save = False
        else:
            controller = SystemControllerModel(self.system, self.environment)
            is_mounted_before_save = controller.mounted
            controller.unmount()

        for field_info in self.rendered_fields:
            widget = field_info['widget']

            get_value_callback = getattr(self, 'get_value_%s' % field_info['type'], None)
            if get_value_callback is None:
                raise SftpException('Cannot get value for field type: %s' % field_info['type'])
            value = get_value_callback(widget)
            setattr(self.system, field_info['id'], value)

        is_valid, errors = self.system.validate()
        if is_valid:
            self.system.save(self.environment)

            if is_mounted_before_save:
                controller.mount()

            self.close()
        else:
            for field_id, msg in errors:
                show_warning_message(self.window_obj.window, msg)
コード例 #3
0
 def handler_delete(self, btn):
     text = 'Delete definition for `%s`?' % self.system.id
     dialog = Gtk.MessageDialog(self.window_obj.window, Gtk.DialogFlags.MODAL, Gtk.MessageType.QUESTION, Gtk.ButtonsType.NONE, text)
     dialog.add_button(Gtk.STOCK_CANCEL, Gtk.ResponseType.NO)
     dialog.add_button(Gtk.STOCK_DELETE, Gtk.ResponseType.YES)
     dialog.set_title(text)
     response = dialog.run()
     dialog.destroy()
     if response == Gtk.ResponseType.YES:
         controller = SystemControllerModel(self.system, self.environment)
         controller.unmount()
         self.system.delete(self.environment)
         self.close()
コード例 #4
0
ファイル: gui.py プロジェクト: spantaleev/sftpman-gtk
 def handler_delete(self, btn):
     text = 'Delete definition for `%s`?' % self.system.id
     dialog = Gtk.MessageDialog(self.window_obj.window, Gtk.DialogFlags.MODAL, Gtk.MessageType.QUESTION, Gtk.ButtonsType.NONE, text)
     dialog.add_button(Gtk.STOCK_CANCEL, Gtk.ResponseType.NO)
     dialog.add_button(Gtk.STOCK_DELETE, Gtk.ResponseType.YES)
     dialog.set_title(text)
     response = dialog.run()
     dialog.destroy()
     if response == Gtk.ResponseType.YES:
         controller = SystemControllerModel(self.system, self.environment)
         controller.unmount()
         self.system.delete(self.environment)
         self.close()
コード例 #5
0
    def handler_save(self, btn, fields):
        if not self.added:
            controller = None
            is_mounted_before_save = False
        else:
            controller = SystemControllerModel(self.system, self.environment)
            is_mounted_before_save = controller.mounted
            controller.unmount()

        for field_info in fields:
            widget = field_info['widget']

            get_value_callback = getattr(self, 'get_value_%s' % field_info['type'], None)
            if get_value_callback is None:
                raise SftpException('Cannot get value for field type: %s' % field_info['type'])
            value = get_value_callback(widget)
            setattr(self.system, field_info['id'], value)

        is_valid, errors = self.system.validate()
        if is_valid:
            self.system.save(self.environment)

            if is_mounted_before_save:
                controller.mount()

            self.close()
        else:
            for field_id, msg in errors:
                show_warning_message(msg)
コード例 #6
0
 def _get_system_controller_by_id(self, system_id):
     system =  SystemModel.create_by_id(system_id, self.environment)
     return SystemControllerModel(system, self.environment)