def __init__(self, parent, title, stretch=True): QtGui.QWidget.__init__(self, parent) self.label = label = QtGui.QLabel() font = label.font() font.setBold(True) label.setFont(font) label.setText(title) label.setCursor(Qt.OpenHandCursor) self.close_button = create_action_button( tooltip=N_('Close'), icon=icons.close()) self.toggle_button = create_action_button( tooltip=N_('Detach'), icon=icons.external()) self.corner_layout = hbox(defs.no_margin, defs.spacing) if stretch: separator = STRETCH else: separator = SKIPPED self.main_layout = hbox(defs.small_margin, defs.spacing, label, separator, self.corner_layout, self.toggle_button, self.close_button) self.setLayout(self.main_layout) connect_button(self.toggle_button, self.toggle_floating) connect_button(self.close_button, self.toggle_visibility)
def __init__(self, parent, title, stretch=True): QtGui.QWidget.__init__(self, parent) self.label = label = QtGui.QLabel() font = label.font() font.setBold(True) label.setFont(font) label.setText(title) label.setCursor(Qt.OpenHandCursor) self.close_button = create_action_button(tooltip=N_('Close'), icon=icons.close()) self.toggle_button = create_action_button(tooltip=N_('Detach'), icon=icons.external()) self.corner_layout = hbox(defs.no_margin, defs.spacing) if stretch: separator = STRETCH else: separator = SKIPPED self.main_layout = hbox(defs.small_margin, defs.spacing, label, separator, self.corner_layout, self.toggle_button, self.close_button) self.setLayout(self.main_layout) connect_button(self.toggle_button, self.toggle_floating) connect_button(self.close_button, self.toggle_visibility)
def closeEvent(self, event): if self.proc.state() != QtCore.QProcess.NotRunning: # The process is still running, make sure we really want to abort. title = N_('Abort Action') msg = N_('An action is still running.\n' 'Terminating it could result in data loss.') info_text = N_('Abort the action?') ok_text = N_('Abort Action') if qtutils.confirm(title, msg, info_text, ok_text, default=False, icon=icons.close()): self.abortProc() event.accept() else: event.ignore() else: event.accept() return standard.Dialog.closeEvent(self, event)
def close_button(): return create_button(text=N_('Close'), icon=icons.close())
def __init__(self, context, filename, parent=None): super(Editor, self).__init__(parent) self.widget_version = 1 self.status = 1 self.context = context self.filename = filename self.comment_char = comment_char = prefs.comment_char(context) self.cancel_action = core.getenv('GIT_COLA_SEQ_EDITOR_CANCEL_ACTION', 'abort') self.diff = diff.DiffWidget(context, self) self.tree = RebaseTreeWidget(context, comment_char, self) self.filewidget = filelist.FileWidget(context, self) self.setFocusProxy(self.tree) self.rebase_button = qtutils.create_button( text=core.getenv('GIT_COLA_SEQ_EDITOR_ACTION', N_('Rebase')), tooltip=N_('Accept changes and rebase\n' 'Shortcut: Ctrl+Enter'), icon=icons.ok(), default=True, ) self.extdiff_button = qtutils.create_button( text=N_('Launch Diff Tool'), tooltip=N_('Launch external diff tool\n' 'Shortcut: Ctrl+D'), ) self.extdiff_button.setEnabled(False) self.help_button = qtutils.create_button( text=N_('Help'), tooltip=N_('Show help\nShortcut: ?'), icon=icons.question()) self.cancel_button = qtutils.create_button( text=N_('Cancel'), tooltip=N_('Cancel rebase\nShortcut: Ctrl+Q'), icon=icons.close(), ) top = qtutils.splitter(Qt.Horizontal, self.tree, self.filewidget) top.setSizes([75, 25]) main_split = qtutils.splitter(Qt.Vertical, top, self.diff) main_split.setSizes([25, 75]) controls_layout = qtutils.hbox( defs.no_margin, defs.button_spacing, self.cancel_button, qtutils.STRETCH, self.help_button, self.extdiff_button, self.rebase_button, ) layout = qtutils.vbox(defs.no_margin, defs.spacing, main_split, controls_layout) self.setLayout(layout) self.action_rebase = qtutils.add_action(self, N_('Rebase'), self.rebase, hotkeys.CTRL_RETURN, hotkeys.CTRL_ENTER) self.tree.commits_selected.connect(self.commits_selected) self.tree.commits_selected.connect(self.filewidget.commits_selected) self.tree.commits_selected.connect(self.diff.commits_selected) self.tree.external_diff.connect(self.external_diff) self.filewidget.files_selected.connect(self.diff.files_selected) qtutils.connect_button(self.rebase_button, self.rebase) qtutils.connect_button(self.extdiff_button, self.external_diff) qtutils.connect_button(self.help_button, partial(show_help, context)) qtutils.connect_button(self.cancel_button, self.cancel)