pull: make pull verbose
[ugit.git] / ugit / controllers / bookmark.py
blob09c6f5c19c958af6ef5379217b6982b005639a79
1 #!/usr/bin/env python
2 import os
3 import sys
5 from PyQt4 import QtGui
7 from ugit import utils
8 from ugit import qtutils
9 from ugit.qobserver import QObserver
10 from ugit.ugitrc import SettingsModel
11 from ugit.views import BookmarkView
13 def save_bookmark():
14 model = SettingsModel()
15 bookmark = os.getcwd()
16 if bookmark not in model.bookmarks:
17 model.add_bookmarks(bookmark)
18 model.save_all_settings()
19 qtutils.information("Bookmark Saved")
21 def manage_bookmarks():
22 model = SettingsModel()
23 view = BookmarkView(QtGui.qApp.activeWindow())
24 ctl = BookmarkController(model, view)
25 view.show()
26 if view.exec_() == QtGui.QDialog.Accepted:
27 model.save_all_settings()
29 class BookmarkController(QObserver):
30 def init(self, model, view):
31 self.add_observables( 'bookmarks' )
33 self.add_callbacks(
34 button_open = self.open,
35 button_delete = self.delete,
37 self.refresh_view()
39 def open(self):
40 selection = qtutils.get_selection_list(
41 self.view.bookmarks,
42 self.model.bookmarks)
43 if not selection:
44 return
45 for item in selection:
46 utils.fork("git", "ugit", item)
48 def delete(self):
49 selection = qtutils.get_selection_list(
50 self.view.bookmarks,
51 self.model.bookmarks)
52 if not selection:
53 return
54 for item in selection:
55 self.model.bookmarks.remove(item)
56 self.refresh_view()