More i18n tweaks
[ugit.git] / ugitlibs / views.py
blob313b87424490aa2fb8a7ba71c4d09e13293ee123
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
11 import qtutils
13 class GitView(Ui_Window, QtGui.QMainWindow):
14 '''The main ugit interface.'''
15 def __init__(self, parent=None):
16 QtGui.QMainWindow.__init__(self, parent)
17 Ui_Window.__init__(self)
18 self.setupUi(self)
19 GitSyntaxHighlighter(self.displayText.document())
20 # Qt does not handle noun/verb support
21 self.commitButton.setText(qtutils.tr('Commit@@verb'))
22 self.menuCommit.setTitle(qtutils.tr('Commit@@verb'))
24 class GitCommandDialog(Ui_CommandDialog, QtGui.QDialog):
25 '''A simple dialog to display command output.'''
26 def __init__(self, parent=None, output=None):
27 QtGui.QDialog.__init__(self, parent)
28 Ui_CommandDialog.__init__(self)
29 self.setupUi(self)
30 if output: self.set_command(output)
32 def set_command(self, output):
33 self.commandText.setText(output)
35 class GitBranchDialog(Ui_BranchDialog, QtGui.QDialog):
36 '''A dialog to display available branches.'''
37 def __init__(self, parent=None, branches=None):
38 QtGui.QDialog.__init__(self, parent)
39 Ui_BranchDialog.__init__(self)
40 self.setupUi(self)
41 self.reset()
42 if branches: self.addBranches(branches)
44 def reset(self):
45 self.branches = []
46 self.comboBox.clear()
48 def addBranches(self, branches):
49 for branch in branches:
50 self.branches.append(branch)
51 self.comboBox.addItem(branch)
53 def getSelectedBranch(self):
54 self.show()
55 if self.exec_() == QtGui.QDialog.Accepted:
56 return self.branches [ self.comboBox.currentIndex() ]
57 else:
58 return None
60 class GitCommitBrowser(Ui_CommitBrowser, QtGui.QDialog):
61 '''A dialog to display commits in for selection.'''
62 def __init__(self, parent=None):
63 QtGui.QDialog.__init__(self, parent)
64 Ui_CommitBrowser.__init__(self)
65 self.setupUi(self)
66 # Make the list widget slighty larger
67 self.splitter.setSizes([ 50, 200 ])
68 GitSyntaxHighlighter(self.commitText.document())
70 class GitCreateBranchDialog(Ui_CreateBranchDialog, QtGui.QDialog):
71 '''A dialog for creating or updating branches.'''
72 def __init__(self, parent=None):
73 QtGui.QDialog.__init__(self, parent)
74 Ui_CreateBranchDialog.__init__(self)
75 self.setupUi(self)
77 class GitPushDialog(Ui_PushDialog, QtGui.QDialog):
78 '''A dialog for pushing branches.'''
79 def __init__(self, parent=None):
80 QtGui.QDialog.__init__(self, parent)
81 Ui_PushDialog.__init__(self)
82 self.setupUi(self)