Add internationalization support to ugit
[ugit.git] / ugitlibs / views.py
blob1a4b1e182eb1a269bedb3ed9a335c9107f190041
1 import os
2 from PyQt4 import QtGui
3 from PyQt4.QtCore import SIGNAL
4 from Window import Ui_Window
5 from CommandDialog import Ui_CommandDialog
6 from CommitBrowser import Ui_CommitBrowser
7 from BranchDialog import Ui_BranchDialog
8 from CreateBranchDialog import Ui_CreateBranchDialog
9 from PushDialog import Ui_PushDialog
10 from syntax import GitSyntaxHighlighter
12 class GitView(Ui_Window, QtGui.QMainWindow):
13 '''The main ugit interface.'''
14 def __init__(self, parent=None):
15 QtGui.QMainWindow.__init__(self, parent)
16 Ui_Window.__init__(self)
17 self.setupUi(self)
18 GitSyntaxHighlighter(self.displayText.document())
20 class GitCommandDialog(Ui_CommandDialog, QtGui.QDialog):
21 '''A simple dialog to display command output.'''
22 def __init__(self, parent=None, output=None):
23 QtGui.QDialog.__init__(self, parent)
24 Ui_CommandDialog.__init__(self)
25 self.setupUi(self)
26 if output: self.set_command(output)
28 def set_command(self, output):
29 self.commandText.setText(output)
31 class GitBranchDialog(Ui_BranchDialog, QtGui.QDialog):
32 '''A dialog to display available branches.'''
33 def __init__(self, parent=None, branches=None):
34 QtGui.QDialog.__init__(self, parent)
35 Ui_BranchDialog.__init__(self)
36 self.setupUi(self)
37 self.reset()
38 if branches: self.addBranches(branches)
40 def reset(self):
41 self.branches = []
42 self.comboBox.clear()
44 def addBranches(self, branches):
45 for branch in branches:
46 self.branches.append(branch)
47 self.comboBox.addItem(branch)
49 def getSelectedBranch(self):
50 self.show()
51 if self.exec_() == QtGui.QDialog.Accepted:
52 return self.branches [ self.comboBox.currentIndex() ]
53 else:
54 return None
56 class GitCommitBrowser(Ui_CommitBrowser, QtGui.QDialog):
57 '''A dialog to display commits in for selection.'''
58 def __init__(self, parent=None):
59 QtGui.QDialog.__init__(self, parent)
60 Ui_CommitBrowser.__init__(self)
61 self.setupUi(self)
62 # Make the list widget slighty larger
63 self.splitter.setSizes([ 50, 200 ])
64 GitSyntaxHighlighter(self.commitText.document())
66 class GitCreateBranchDialog(Ui_CreateBranchDialog, QtGui.QDialog):
67 '''A dialog for creating or updating branches.'''
68 def __init__(self, parent=None):
69 QtGui.QDialog.__init__(self, parent)
70 Ui_CreateBranchDialog.__init__(self)
71 self.setupUi(self)
73 class GitPushDialog(Ui_PushDialog, QtGui.QDialog):
74 '''A dialog for pushing branches.'''
75 def __init__(self, parent=None):
76 QtGui.QDialog.__init__(self, parent)
77 Ui_PushDialog.__init__(self)
78 self.setupUi(self)