cmds: add a command to delete remote branches

Signed-off-by: David Aguilar <davvid@gmail.com>
git: cleanup docstrings and remove unused parameters

Signed-off-by: David Aguilar <davvid@gmail.com>
widgets.completion: trivial tweaks
widgets.completion: simplify GitLogCompletionModel.gather_matches()

Signed-off-by: David Aguilar <davvid@gmail.com>
widgets.completion: default to matching all entries

Preset a match string of '' so that we match all entries by default.

Signed-off-by: David Aguilar <davvid@gmail.com>
widgets.completion: refactor and add completers for branches

Create a common GitCompletionModel and use it to provide completers
for refs, branches, and remote branches.

Add new line edits to use the completers.

Signed-off-by: David Aguilar <davvid@gmail.com>
qt: refactor and add dialogs for branches

Create a common GitDialog class and use it to provide completers for
refs, branches, and remote branches.

Signed-off-by: David Aguilar <davvid@gmail.com>
guicmds: use the new completion dialogs

Signed-off-by: David Aguilar <davvid@gmail.com>
cola: add a simple GUI for deleting remote branches

Closes #152

Signed-off-by: David Aguilar <davvid@gmail.com>
dag: avoid calling show() multiple times

Signed-off-by: David Aguilar <davvid@gmail.com>
widgets.standard: simplify how we bind mixins

We had a huge class inside a function, which is unsightly.

Make it simpler by pulling the functionality out into a mixin and use a
tiny closure to bind the mixin with each Qt-specific widget class.

Signed-off-by: David Aguilar <davvid@gmail.com>
dag: fix a bug where the DAG would sometimes disable itself

Calling disable() on the top widget disables all the child widgets as
well.  We really only care about disabling the "Display" button so make
the setEnabled() step only affect the button.

Signed-off-by: David Aguilar <davvid@gmail.com>
dag: rework mixins

Ensure that the mixins are always listed first so that they are at the
front of the Python method resolution order.

Signed-off-by: David Aguilar <davvid@gmail.com>