def _append_page(self, page, icon): nbl = NotebookLabel(icon, "", lambda b: page.on_delete_event()) self.notebook.append_page(page.widget, nbl) # Change focus to the newly created page only if the user is on a # DirDiff or VcView page, or if it's a new tab page. This prevents # cycling through X pages when X diffs are initiated. if isinstance(self.current_doc(), DirDiff) or \ isinstance(self.current_doc(), VcView) or \ isinstance(page, NewDiffTab): self.notebook.set_current_page(self.notebook.page_num(page.widget)) if hasattr(page, 'scheduler'): self.scheduler.add_scheduler(page.scheduler) if isinstance(page, MeldDoc): page.connect("file-changed", self.on_file_changed) page.connect("create-diff", lambda obj, arg, kwargs: self.append_diff(arg, **kwargs)) page.connect("state-changed", self.on_page_state_changed) page.connect("close", self.page_removed) self.notebook.set_tab_reorderable(page.widget, True)
def _append_page(self, page, icon): nbl = NotebookLabel(icon_name=icon, page=page) self.notebook.append_page(page, nbl) self.notebook.child_set_property(page, 'tab-expand', True) # Change focus to the newly created page only if the user is on a # DirDiff or VcView page, or if it's a new tab page. This prevents # cycling through X pages when X diffs are initiated. if isinstance(self.current_doc(), DirDiff) or \ isinstance(self.current_doc(), VcView) or \ isinstance(page, NewDiffTab): self.notebook.set_current_page(self.notebook.page_num(page)) if hasattr(page, 'scheduler'): self.scheduler.add_scheduler(page.scheduler) if isinstance(page, MeldDoc): page.file_changed_signal.connect(self.on_file_changed) page.create_diff_signal.connect( lambda obj, arg, kwargs: self.append_diff(arg, **kwargs)) page.tab_state_changed.connect(self.on_page_state_changed) page.close_signal.connect(self.page_removed) self.notebook.set_tab_reorderable(page, True)