[meld] Fix some layout issues in commit dialog
- From: Kai Willadsen <kaiw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [meld] Fix some layout issues in commit dialog
- Date: Fri, 26 Apr 2013 22:43:55 +0000 (UTC)
commit fc83f810f4a88ac0f61e18377ec103536090b29a
Author: Kai Willadsen <kai willadsen gmail com>
Date: Sat Apr 27 07:54:36 2013 +1000
Fix some layout issues in commit dialog
As commit messages are generally not formatted as freeform text, this
commit makes the following changes:
* Use a fixed width font for the commit message
* Use word wrapping in the commit message TextView
* Set an 80-character size request on the commit message Textview
* Restrict the size of the previous log combo to avoid weird layout
for very long lines, and ellipsize those entries
data/ui/vcview.ui | 4 ++--
meld/ui/historyentry.py | 3 +++
meld/vcview.py | 10 ++++++++++
3 files changed, 15 insertions(+), 2 deletions(-)
---
diff --git a/data/ui/vcview.ui b/data/ui/vcview.ui
index 28dda75..579daa2 100644
--- a/data/ui/vcview.ui
+++ b/data/ui/vcview.ui
@@ -225,7 +225,7 @@
</child>
</object>
<object class="GtkDialog" id="commitdialog">
- <property name="width_request">450</property>
+ <property name="default_width">450</property>
<property name="visible">True</property>
<property name="border_width">12</property>
<property name="can_focus">False</property>
@@ -369,7 +369,6 @@
<property name="spacing">6</property>
<child>
<object class="GtkScrolledWindow" id="scrolledwindow1">
- <property name="width_request">320</property>
<property name="height_request">200</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -380,6 +379,7 @@
<object class="GtkTextView" id="textview">
<property name="visible">True</property>
<property name="can_focus">True</property>
+ <property name="wrap_mode">word</property>
</object>
</child>
</object>
diff --git a/meld/ui/historyentry.py b/meld/ui/historyentry.py
index 5f79a50..25dd10e 100644
--- a/meld/ui/historyentry.py
+++ b/meld/ui/historyentry.py
@@ -21,6 +21,7 @@ import sys
import gio
import gtk
import gobject
+import pango
import atk
# gconf is also imported; see end of HistoryEntry class for details
from gettext import gettext as _
@@ -213,6 +214,8 @@ class HistoryCombo(gtk.ComboBox, HistoryWidget):
HistoryWidget.__init__(self, history_id)
self.set_model(gtk.ListStore(str, str))
rentext = gtk.CellRendererText()
+ rentext.props.width_chars = 60
+ rentext.props.ellipsize = pango.ELLIPSIZE_END
self.pack_start(rentext, True)
self.set_attributes(rentext, text=0)
diff --git a/meld/vcview.py b/meld/vcview.py
index 19d7e24..fce0484 100644
--- a/meld/vcview.py
+++ b/meld/vcview.py
@@ -94,6 +94,16 @@ class CommitDialog(gnomeglade.Component):
selected = ["\t" + s[len(topdir) + 1:] for s in selected]
self.changedfiles.set_text("(in %s)\n%s" %
(topdir, "\n".join(selected)))
+ fontdesc = pango.FontDescription(self.parent.prefs.get_current_font())
+ self.textview.modify_font(fontdesc)
+
+ # Try and make the textview wide enough for a standard 80-character
+ # commit message.
+ context = self.textview.get_pango_context()
+ metrics = context.get_metrics(fontdesc, context.get_language())
+ char_width = metrics.get_approximate_char_width()
+ self.textview.set_size_request(80 * pango.PIXELS(char_width), -1)
+
self.widget.show_all()
def run(self):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]