def __init__(self, parent, a=None, b=None, expr=None): QtGui.QDialog.__init__(self, parent) self.setAttribute(Qt.WA_MacMetalStyle) self.a = a self.b = b self.expr = expr self.setWindowTitle('Select File(s)') self.setWindowModality(QtCore.Qt.WindowModal) self._tree = standard.TreeWidget(self) self._tree.setRootIsDecorated(False) self._tree.setSelectionMode(self._tree.ExtendedSelection) self._tree.setHeaderHidden(True) self._diff_btn = QtGui.QPushButton('Compare') self._diff_btn.setIcon(qtutils.ok_icon()) self._diff_btn.setEnabled(False) self._close_btn = QtGui.QPushButton('Close') self._close_btn.setIcon(qtutils.close_icon()) self._button_layt = QtGui.QHBoxLayout() self._button_layt.setMargin(0) self._button_layt.addStretch() self._button_layt.addWidget(self._diff_btn) self._button_layt.addWidget(self._close_btn) self._layt = QtGui.QVBoxLayout() self._layt.setMargin(defs.margin) self._layt.setSpacing(defs.spacing) self._layt.addWidget(self._tree) self._layt.addLayout(self._button_layt) self.setLayout(self._layt) self.connect(self._tree, SIGNAL('itemSelectionChanged()'), self._tree_selection_changed) self.connect(self._tree, SIGNAL('itemDoubleClicked(QTreeWidgetItem*,int)'), self._tree_double_clicked) qtutils.connect_button(self._diff_btn, self.diff) qtutils.connect_button(self._close_btn, self.close) qtutils.add_close_action(self) if self.expr: self.diff_arg = tuple(utils.shell_split(self.expr)) elif self.b is None: self.diff_arg = (self.a,) else: self.diff_arg = (self.a, self.b) self.resize(720, 420)
def __init__(self, parent): standard.Dialog.__init__(self, parent=parent) self.BRANCH_POINT = N_('*** Branch Point ***') self.SANDBOX = N_('*** Sandbox ***') self.LOCAL = N_('Local') self.setWindowTitle(N_('Branch Diff Viewer')) self.remote_branches = gitcmds.branch_list(remote=True) self.local_branches = gitcmds.branch_list(remote=False) self.top_widget = QtGui.QWidget() self.bottom_widget = QtGui.QWidget() self.left_combo = QtGui.QComboBox() self.left_combo.addItem(N_('Local')) self.left_combo.addItem(N_('Remote')) self.left_combo.setCurrentIndex(0) self.right_combo = QtGui.QComboBox() self.right_combo.addItem(N_('Local')) self.right_combo.addItem(N_('Remote')) self.right_combo.setCurrentIndex(1) self.left_list = QtGui.QListWidget() self.right_list = QtGui.QListWidget() self.button_spacer = QtGui.QSpacerItem(1, 1, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.button_compare = QtGui.QPushButton() self.button_compare.setText(N_('Compare')) self.button_close = QtGui.QPushButton() self.button_close.setText(N_('Close')) self.diff_files = standard.TreeWidget() self.diff_files.headerItem().setText(0, N_('File Differences')) self.top_grid_layout = qtutils.grid(defs.no_margin, defs.spacing, (self.left_combo, 0, 0, 1, 1), (self.left_list, 1, 0, 1, 1), (self.right_combo, 0, 1, 1, 1), (self.right_list, 1, 1, 1, 1)) self.top_widget.setLayout(self.top_grid_layout) self.bottom_grid_layout = qtutils.grid( defs.no_margin, defs.spacing, (self.diff_files, 0, 0, 1, 4), (self.button_spacer, 1, 1, 1, 1), (self.button_compare, 1, 2, 1, 1), (self.button_close, 1, 3, 1, 1)) self.bottom_widget.setLayout(self.bottom_grid_layout) self.splitter = qtutils.splitter(Qt.Vertical, self.top_widget, self.bottom_widget) self.main_layout = qtutils.vbox(defs.margin, defs.spacing, self.splitter) self.setLayout(self.main_layout) self.resize(658, 350) connect_button(self.button_close, self.accept) connect_button(self.button_compare, self.compare) self.connect(self.diff_files, SIGNAL('itemDoubleClicked(QTreeWidgetItem*,int)'), self.compare) self.connect(self.left_combo, SIGNAL('currentIndexChanged(int)'), lambda x: self.update_combo_boxes(left=True)) self.connect(self.right_combo, SIGNAL('currentIndexChanged(int)'), lambda x: self.update_combo_boxes(left=False)) self.connect(self.left_list, SIGNAL('itemSelectionChanged()'), self.update_diff_files) self.connect(self.right_list, SIGNAL('itemSelectionChanged()'), self.update_diff_files) self.update_combo_boxes(left=True) self.update_combo_boxes(left=False) # Pre-select the 0th elements item = self.left_list.item(0) if item: self.left_list.setCurrentItem(item) self.left_list.setItemSelected(item, True) item = self.right_list.item(0) if item: self.right_list.setCurrentItem(item) self.right_list.setItemSelected(item, True)
def __init__(self, parent, a=None, b=None, expr=None, title=None, hide_expr=False): QtGui.QDialog.__init__(self, parent) self.setAttribute(Qt.WA_MacMetalStyle) self.a = a self.b = b self.expr = expr if title is None: title = N_('git-cola diff') self.setWindowTitle(title) self.setWindowModality(QtCore.Qt.WindowModal) self._expr = completion.GitRefLineEdit(parent=self) if expr is not None: self._expr.setText(expr) if expr is None or hide_expr: self._expr.hide() self._tree = standard.TreeWidget(self) self._tree.setSelectionMode(self._tree.ExtendedSelection) self._tree.setHeaderHidden(True) self._diff_btn = QtGui.QPushButton(N_('Compare')) self._diff_btn.setIcon(qtutils.ok_icon()) self._diff_btn.setEnabled(False) self._close_btn = QtGui.QPushButton(N_('Close')) self._close_btn.setIcon(qtutils.close_icon()) self._button_layt = QtGui.QHBoxLayout() self._button_layt.setMargin(0) self._button_layt.addStretch() self._button_layt.addWidget(self._diff_btn) self._button_layt.addWidget(self._close_btn) self._layt = QtGui.QVBoxLayout() self._layt.setMargin(defs.margin) self._layt.setSpacing(defs.spacing) self._layt.addWidget(self._expr) self._layt.addWidget(self._tree) self._layt.addLayout(self._button_layt) self.setLayout(self._layt) self.connect(self._tree, SIGNAL('itemSelectionChanged()'), self._tree_selection_changed) self.connect(self._tree, SIGNAL('itemDoubleClicked(QTreeWidgetItem*,int)'), self._tree_double_clicked) self.connect(self._expr, SIGNAL('textChanged(QString)'), self.text_changed) self.connect(self._expr, SIGNAL('returnPressed()'), self.refresh) qtutils.connect_button(self._diff_btn, self.diff) qtutils.connect_button(self._close_btn, self.close) qtutils.add_close_action(self) self.resize(720, 420) self.refresh()