':param gui: Parent gui
:param interface_action: InterfaceActionObject (InterfacePluginAction class from action.py)
:param books: list of Kobo book'

def __init__(self, gui, interface_action, books):

    self.books = books
    self.gui = gui
    self.interface_action = interface_action
    self.books = books
    SizePersistedDialog.__init__(self, gui, (PLUGIN_NAME + u'plugin:selections    dialog'))
    self.setWindowTitle(_(((PLUGIN_NAME + u'    v') + PLUGIN_VERSION)))
    self.setMinimumWidth(300)
    self.setMinimumHeight(300)
    layout = QVBoxLayout(self)
    self.setLayout(layout)
    title_layout = ImageTitleLayout(self, u'images/obok.png', _(u'Obok    DeDRM'))
    layout.addLayout(title_layout)
    help_label = QLabel(_(u'<a    href="http://www.foo.com/">Help</a>'), self)
    help_label.setTextInteractionFlags((Qt.LinksAccessibleByMouse | Qt.LinksAccessibleByKeyboard))
    help_label.setAlignment(Qt.AlignRight)
    help_label.linkActivated.connect(self._help_link_activated)
    title_layout.addWidget(help_label)
    title_layout.setAlignment(Qt.AlignTop)
    layout.addSpacing(5)
    main_layout = QHBoxLayout()
    layout.addLayout(main_layout)
    self.books_table = BookListTableWidget(self)
    main_layout.addWidget(self.books_table)
    layout.addSpacing(10)
    button_box = QDialogButtonBox((QDialogButtonBox.Ok | QDialogButtonBox.Cancel))
    button_box.accepted.connect(self._ok_clicked)
    button_box.rejected.connect(self.reject)
    self.select_all_button = button_box.addButton(_(u'Select    All'), QDialogButtonBox.ResetRole)
    self.select_all_button.setToolTip(_(u'Select    all    books    to    add    them    to    the    calibre    library.'))
    self.select_all_button.clicked.connect(self._select_all_clicked)
    self.select_drm_button = button_box.addButton(_(u'All    with    DRM'), QDialogButtonBox.ResetRole)
    self.select_drm_button.setToolTip(_(u'Select    all    books    with    DRM.'))
    self.select_drm_button.clicked.connect(self._select_drm_clicked)
    self.select_free_button = button_box.addButton(_(u'All    DRM    free'), QDialogButtonBox.ResetRole)
    self.select_free_button.setToolTip(_(u'Select    all    books    without    DRM.'))
    self.select_free_button.clicked.connect(self._select_free_clicked)
    layout.addWidget(button_box)
    self.resize_dialog()
    self.books_table.populate_table(self.books)
