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
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
)
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
)
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
)
42 if branches
: self
.addBranches(branches
)
48 def addBranches(self
, branches
):
49 for branch
in branches
:
50 self
.branches
.append(branch
)
51 self
.comboBox
.addItem(branch
)
53 def getSelectedBranch(self
):
55 if self
.exec_() == QtGui
.QDialog
.Accepted
:
56 return self
.branches
[ self
.comboBox
.currentIndex() ]
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
)
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
)
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
)