Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 1.0, 1.0.1, and 1.0.2

commit: highlight lines that overs configured max length

Changeset e547cbfb1a39

Parent d72566c4a867

by Yuki KODAMA

Changes to one file · Browse files at e547cbfb1a39 Showing diff from parent d72566c4a867 Diff from another changeset...

 
427
428
429
 
 
 
 
430
431
432
 
1193
1194
1195
1196
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1197
1198
1199
 
427
428
429
430
431
432
433
434
435
436
 
1197
1198
1199
 
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
@@ -427,6 +427,10 @@
  scroller.add(self.text)   gtklib.addspellcheck(self.text, self.repo.ui)   + buf = self.text.get_buffer() + buf.connect('changed', self.msg_changed) + buf.create_tag('over', paragraph_background=gtklib.PRED) +   # MQ panel   if self.mqloaded:   self.mqwidget = thgmq.MQWidget(self.repo, accelgroup, @@ -1193,7 +1197,37 @@
  menuitem.connect('activate', handler)   menu.append(menuitem)   menu.show_all() - + + def get_lengths(self): + try: + sumlen = int(self.repo.ui.config('tortoisehg', 'summarylen', 0)) + maxlen = int(self.repo.ui.config('tortoisehg', 'messagewrap', 0)) + except (TypeError, ValueError): + sumlen = 0 + maxlen = 0 + return sumlen, maxlen + + def msg_changed(self, buf): + if buf.get_char_count() == 0: + return # no text + sumlen, maxlen = self.get_lengths() + if not (sumlen or maxlen): + return # not configured + + # clear all highlights + start, end = buf.get_start_iter(), buf.get_end_iter() + buf.remove_all_tags(start, end) + + # highlight overed lines + for line_num in range(buf.get_line_count()): + start = buf.get_iter_at_line(line_num) + end = start.copy() + end.forward_line() + line = buf.get_text(start, end).rstrip('\n\r') + if (line_num == 0 and len(line) > sumlen) \ + or len(line) > maxlen: + buf.apply_tag_by_name('over', start, end) +   def msg_paste_fnames(self, sender):   buf = self.text.get_buffer()   fnames = [ file[FM_PATH_UTF8] for file in self.filemodel