Esempio n. 1
0
 def closeEvent(self, event):
     self._save_or_wipe_commit_data()
     qbrz_config = get_qbrz_config()
     qbrz_config.set_option(self._window_name + "_show_nonversioned",
                            self.show_nonversioned_checkbox.isChecked())
     qbrz_config.save()  # do I need this or is .saveSize() enough?
     return SubProcessDialog.closeEvent(self, event)
Esempio n. 2
0
 def _saveSize(self, config):
     SubProcessDialog._saveSize(self, config)
     self._saveSplitterSizes(config, self.splitter)
Esempio n. 3
0
    def __init__(self, tree, selected_list, dialog=True, parent=None,
                 local=None, message=None, ui_mode=True, backup=True):
        self.tree = tree
        self.has_pending_merges = len(tree.get_parent_ids())>1
        self.initial_selected_list = selected_list

        SubProcessDialog.__init__(self,
                                  gettext("Revert"),
                                  name = "revert",
                                  default_size = (400, 400),
                                  ui_mode = ui_mode,
                                  dialog = dialog,
                                  parent = parent,
                                  hide_progress=True)

        self.throbber = ThrobberWidget(self)

        # Display the list of changed files
        self.file_groupbox = QtWidgets.QGroupBox(gettext("Select changes to revert"), self)

        self.filelist = TreeWidget(self.file_groupbox)
        self.filelist.throbber = self.throbber
        self.filelist.tree_model.set_select_all_kind('versioned')

        def filter_context_menu():
            TreeWidget.filter_context_menu(self.filelist)
            self.filelist.action_add.setVisible(False)
            self.filelist.action_revert.setVisible(False)
        self.filelist.filter_context_menu = filter_context_menu

        self.selectall_checkbox = SelectAllCheckBox(self.filelist, self.file_groupbox)
        self.selectall_checkbox.setEnabled(True)

        self.no_backup_checkbox = QtWidgets.QCheckBox(
            gettext('Do not save backups of reverted files'))
        if not backup:
            self.no_backup_checkbox.setCheckState(QtCore.Qt.Checked)
        self.no_backup_checkbox.setEnabled(True)

        filesbox = QtWidgets.QVBoxLayout(self.file_groupbox)
        filesbox.addWidget(self.filelist)
        filesbox.addWidget(self.selectall_checkbox)
        filesbox.addWidget(self.no_backup_checkbox)

        if self.has_pending_merges:
            self.file_groupbox.setCheckable(True)
            self.merges_groupbox = QtWidgets.QGroupBox(gettext("Forget pending merges"))
            self.merges_groupbox.setCheckable(True)
            # This keeps track of what the merges_groupbox was before the
            # select all changes it, so that it can put it back to the state
            # it was.
            self.merges_base_checked = True
            self.pending_merges = PendingMergesList(
                self.processEvents, self.throbber, self)
            merges_box = QtWidgets.QVBoxLayout(self.merges_groupbox)
            merges_box.addWidget(self.pending_merges)

            self.selectall_checkbox.stateChanged[int].connect(self.selectall_state_changed)
            self.merges_groupbox.clicked[bool].connect(self.merges_clicked)
            self.file_groupbox.clicked[bool].connect(self.file_groupbox_clicked)
            self.filelist.tree_model.dataChanged[QModelIndex, QModelIndex].connect(self.filelist_data_changed)


        # groupbox gets disabled as we are executing.
        self.disableUi[bool].connect(self.file_groupbox.setDisabled)

        self.splitter = QtWidgets.QSplitter(QtCore.Qt.Vertical)
        self.splitter.addWidget(self.file_groupbox)
        if self.has_pending_merges:
            self.splitter.addWidget(self.merges_groupbox)

        self.splitter.addWidget(self.make_default_status_box())
        self.splitter.setStretchFactor(0, 10)
        self.restoreSplitterSizes([150, 150])

        layout = QtWidgets.QVBoxLayout(self)
        layout.addWidget(self.throbber)
        layout.addWidget(self.splitter)

        # Diff button to view changes in files selected to revert
        self.diffbuttons = DiffButtons(self)
        self.diffbuttons.setToolTip(
            gettext("View changes in files selected to revert"))
        self.diffbuttons.triggered['QString'].connect(self.show_diff_for_checked)
        hbox = QtWidgets.QHBoxLayout()
        hbox.addWidget(self.diffbuttons)
        hbox.addWidget(self.buttonbox)
        layout.addLayout(hbox)
        self.throbber.show()
Esempio n. 4
0
 def show(self):
     SubProcessDialog.show(self)
     QtCore.QTimer.singleShot(1, self.initial_load)
Esempio n. 5
0
 def on_failed(self, error):
     SubProcessDialog.on_failed(self, error)
     error = str(error)
     if error in self.not_uptodate_errors:
         self.not_uptodate_label.setText(self.not_uptodate_errors[error])
         self.not_uptodate_info.show()
Esempio n. 6
0
 def reject(self):
     self._save_or_wipe_commit_data()
     return SubProcessDialog.reject(self)
Esempio n. 7
0
 def exec_(self):
     QtCore.QTimer.singleShot(1, self.load)
     return SubProcessDialog.exec_(self)
Esempio n. 8
0
 def show(self):
     # we show the bare form as soon as possible.
     SubProcessDialog.show(self)
     QtCore.QTimer.singleShot(1, self.load)