Пример #1
0
    def __init__(self, parent):
        standard.Dialog.__init__(self, parent)
        self.model = settings.Settings()

        self.resize(494, 238)
        self.setWindowTitle(N_('Bookmarks'))
        self.setWindowModality(Qt.WindowModal)
        self.layt = QtGui.QVBoxLayout(self)
        self.layt.setMargin(defs.margin)
        self.layt.setSpacing(defs.spacing)

        self.bookmarks = QtGui.QListWidget(self)
        self.bookmarks.setAlternatingRowColors(True)
        self.bookmarks.setSelectionMode(
            QtGui.QAbstractItemView.ExtendedSelection)

        self.layt.addWidget(self.bookmarks)
        self.button_layout = QtGui.QHBoxLayout()

        self.open_button = QtGui.QPushButton(self)
        self.open_button.setText(N_('Open'))
        self.open_button.setIcon(qtutils.open_icon())
        self.open_button.setEnabled(False)
        self.button_layout.addWidget(self.open_button)

        self.add_button = QtGui.QPushButton(self)
        self.add_button.setText(N_('Add'))
        self.add_button.setIcon(qtutils.icon('add.svg'))
        self.button_layout.addWidget(self.add_button)

        self.delete_button = QtGui.QPushButton(self)
        self.delete_button.setText(N_('Delete'))
        self.delete_button.setIcon(qtutils.discard_icon())
        self.delete_button.setEnabled(False)
        self.button_layout.addWidget(self.delete_button)
        self.button_layout.addStretch()

        self.save_button = QtGui.QPushButton(self)
        self.save_button.setText(N_('Save'))
        self.save_button.setIcon(qtutils.save_icon())
        self.save_button.setEnabled(False)
        self.button_layout.addWidget(self.save_button)

        self.close_button = QtGui.QPushButton(self)
        self.close_button.setText(N_('Close'))
        self.button_layout.addWidget(self.close_button)

        self.layt.addLayout(self.button_layout)

        self.connect(self.bookmarks, SIGNAL('itemSelectionChanged()'),
                     self.item_selection_changed)

        qtutils.connect_button(self.open_button, self.open_repo)
        qtutils.connect_button(self.add_button, self.add)
        qtutils.connect_button(self.delete_button, self.delete)
        qtutils.connect_button(self.save_button, self.save)
        qtutils.connect_button(self.close_button, self.accept)

        self.update_bookmarks()
Пример #2
0
 def build_recent_menu(self):
     recent = settings.Settings().recent
     menu = self.menu_open_recent
     menu.clear()
     for r in recent:
         name = os.path.basename(r)
         directory = os.path.dirname(r)
         text = u'%s %s %s' % (name, unichr(0x2192), directory)
         menu.addAction(text, qtutils.SLOT(signals.open_repo, r))
Пример #3
0
 def build_recent_menu(self):
     recent = settings.Settings().recent
     menu = self.menu_open_recent
     menu.clear()
     for r in recent:
         name = os.path.basename(r)
         directory = os.path.dirname(r)
         text = '%s %s %s' % (name, unichr(0x2192), directory)
         menu.addAction(text, cmds.run(cmds.OpenRepo, r))
Пример #4
0
    def closeEvent(self, event):
        """Save state in the settings manager."""
        s = settings.Settings()
        s.add_recent(core.decode(os.getcwd()))
        qtutils.save_state(self, handler=s)

        commit_msg = self.commitmsgeditor.commit_message(raw=True)
        self.model.save_commitmsg(commit_msg)

        MainWindow.closeEvent(self, event)
Пример #5
0
 def closeEvent(self, event):
     s = settings.Settings()
     s.add_recent(core.getcwd())
     self.save_state(handler=s)
     self.QtClass.closeEvent(self, event)
Пример #6
0
 def restore_state(self):
     state = settings.Settings().get_gui_state(self)
     return bool(state) and self.apply_state(state)
Пример #7
0
 def save_state(self, handler=None):
     if handler is None:
         handler = settings.Settings()
     if gitcfg.instance().get('cola.savewindowsettings', True):
         handler.save_gui_state(self)
Пример #8
0
 def closeEvent(self, event):
     """Save state in the settings manager."""
     s = settings.Settings()
     s.add_recent(core.decode(os.getcwd()))
     qtutils.save_state(self, handler=s)
     MainWindow.closeEvent(self, event)
Пример #9
0
def apply_state(widget):
    state = settings.Settings().get_gui_state(widget)
    return bool(state) and widget.apply_state(state)
Пример #10
0
 def model(self, **kwargs):
     return settings.Settings(**kwargs)
Пример #11
0
    def __init__(self, parent=None):
        QtGui.QDialog.__init__(self, parent)
        self.setWindowTitle(N_('git-cola'))
        self._gitdir = None

        self._layt = QtGui.QHBoxLayout()
        self._layt.setMargin(defs.margin)
        self._layt.setSpacing(defs.spacing)

        self._new_btn = QtGui.QPushButton(N_('New...'))
        self._new_btn.setIcon(qtutils.new_icon())

        self._open_btn = QtGui.QPushButton(N_('Open...'))
        self._open_btn.setIcon(qtutils.open_icon())

        self._clone_btn = QtGui.QPushButton(N_('Clone...'))
        self._clone_btn.setIcon(qtutils.git_icon())

        self._close_btn = QtGui.QPushButton(N_('Close'))

        self._layt.addWidget(self._open_btn)
        self._layt.addWidget(self._clone_btn)
        self._layt.addWidget(self._new_btn)
        self._layt.addStretch()
        self._layt.addWidget(self._close_btn)

        self.model = settings.Settings()

        self._vlayt = QtGui.QVBoxLayout()
        self._vlayt.setMargin(defs.margin)
        self._vlayt.setSpacing(defs.margin)

        self._bookmark_label = QtGui.QLabel(N_('Select Repository...'))
        self._bookmark_label.setAlignment(Qt.AlignCenter)

        self._bookmark_model = QtGui.QStandardItemModel()

        item = QtGui.QStandardItem(N_('Select manually...'))
        item.setEditable(False)
        self._bookmark_model.appendRow(item)

        added = set()
        all_repos = self.model.bookmarks + self.model.recent

        for repo in all_repos:
            if repo in added:
                continue
            added.add(repo)
            item = QtGui.QStandardItem(repo)
            item.setEditable(False)
            self._bookmark_model.appendRow(item)

        selection_mode = QtGui.QAbstractItemView.SingleSelection

        self._bookmark_list = QtGui.QListView()
        self._bookmark_list.setSelectionMode(selection_mode)
        self._bookmark_list.setAlternatingRowColors(True)
        self._bookmark_list.setModel(self._bookmark_model)

        if not all_repos:
            self._bookmark_label.setMinimumHeight(1)
            self._bookmark_list.setMinimumHeight(1)
            self._bookmark_label.hide()
            self._bookmark_list.hide()

        self._vlayt.addWidget(self._bookmark_label)
        self._vlayt.addWidget(self._bookmark_list)
        self._vlayt.addLayout(self._layt)

        self.setLayout(self._vlayt)

        qtutils.connect_button(self._open_btn, self._open)
        qtutils.connect_button(self._clone_btn, self._clone)
        qtutils.connect_button(self._new_btn, self._new)
        qtutils.connect_button(self._close_btn, self.reject)

        self.connect(self._bookmark_list,
                     SIGNAL('activated(const QModelIndex &)'),
                     self._open_bookmark)
Пример #12
0
 def model(self):
     return settings.Settings()
Пример #13
0
 def closeEvent(self, event):
     s = settings.Settings()
     s.add_recent(core.decode(os.getcwd()))
     qtutils.save_state(self, handler=s)
     self.QtClass.closeEvent(self, event)