Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 0.8, 0.8.1, and 0.8.2

merge with stable

Changeset 80b6b46e7bb7

Parents 1445e887b24d

Parents a88261eec1f4

by Steve Borho

Changes to 4 files · Browse files at 80b6b46e7bb7 Showing diff from parent 1445e887b24d a88261eec1f4 Diff from another changeset...

Show Entire File hggtk/​bugreport.py Stacked
(No changes)
Change 1 of 2 Show Entire File hggtk/​datamine.py Stacked
 
353
354
355
356
 
357
358
359
 
651
652
653
654
 
655
656
657
 
353
354
355
 
356
357
358
359
 
651
652
653
 
654
655
656
657
@@ -353,7 +353,7 @@
  tip, user = self.get_rev_desc(long(revid))   if self.tabwidth:   text = text.expandtabs(self.tabwidth) - model.append((revid, toutf(text), tip, toutf(path))) + model.append((revid, toutf(text[:128]), tip, toutf(path)))   if thread.isAlive():   return True   else: @@ -651,7 +651,7 @@
  color = colormap.get_color(ctx, curdate)   if self.tabwidth:   text = text.expandtabs(self.tabwidth) - model.append((revid, toutf(text), tip, toutf(path.strip()), + model.append((revid, toutf(text[:128]), tip, toutf(path.strip()),   color, toutf(user), len(model)+1))   if thread.isAlive():   return True
Change 1 of 1 Show Changes Only hggtk/​hgcmd.py Stacked
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
 #  # A simple dialog to execute random command for TortoiseHg  #  # Copyright (C) 2007 TK Soh <teekaysoh@gmail.com>  #    import gtk  import gobject  import pango  import os  import threading  import Queue  import shlib  from hglib import HgThread, hgcmd_toq, toutf  from mercurial.i18n import _    class CmdDialog(gtk.Dialog):   def __init__(self, cmdline, progressbar=True, width=520, height=400):   title = 'hg ' + ' '.join(cmdline[1:])   if len(title) > 80: - title = toutf(title[:80] + '...') + title = title[:80] + '...'   title = toutf(title.replace('\n', ' '))   gtk.Dialog.__init__(self,   title=title,   flags=gtk.DIALOG_MODAL,   #buttons=(gtk.STOCK_OK, gtk.RESPONSE_ACCEPT)   )     shlib.set_tortoise_icon(self, 'hg.ico')   shlib.set_tortoise_keys(self)   self.cmdline = cmdline   self.returncode = None   self.hgthread = None     # construct dialog   self.set_default_size(width, height)     self._button_stop = gtk.Button(_('Stop'))   self._button_stop.connect('clicked', self._on_stop_clicked)   self.action_area.pack_start(self._button_stop)     self._button_ok = gtk.Button(_('Close'))   self._button_ok.connect('clicked', self._on_ok_clicked)   self.action_area.pack_start(self._button_ok)     self.connect('thg-accept', self._on_ok_clicked)     self.connect('delete-event', self._delete)   self.connect('response', self._response)     self.pbar = None   if progressbar:   self.last_pbar_update = 0     hbox = gtk.HBox()     self.status_text = gtk.Label()   self.status_text.set_text(title)   self.status_text.set_alignment(0, 0.5)   self.status_text.set_ellipsize(pango.ELLIPSIZE_END)   hbox.pack_start(self.status_text, True, True, 3)     # Create a centering alignment object   align = gtk.Alignment(0.0, 0.0, 1, 0)   hbox.pack_end(align, False, False, 3)   align.show()     # create the progress bar   self.pbar = gtk.ProgressBar()   align.add(self.pbar)   self.pbar.pulse()   self.pbar.show()     self.vbox.pack_start(hbox, False, False, 3)     scrolledwindow = gtk.ScrolledWindow()   scrolledwindow.set_shadow_type(gtk.SHADOW_ETCHED_IN)   scrolledwindow.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)   self.textview = gtk.TextView(buffer=None)   self.textview.set_editable(False)   self.textview.modify_font(pango.FontDescription('Monospace'))   scrolledwindow.add(self.textview)   self.textbuffer = self.textview.get_buffer()     self.vbox.pack_start(scrolledwindow, True, True)   self.connect('map_event', self._on_window_map_event)     self.show_all()     def _on_ok_clicked(self, button):   """ Ok button clicked handler. """   self.response(gtk.RESPONSE_ACCEPT)     def _on_stop_clicked(self, button):   if self.hgthread:   self.hgthread.terminate()     def _delete(self, widget, event):   return True     def _response(self, widget, response_id):   if self.hgthread and self.hgthread.isAlive():   widget.emit_stop_by_name('response')     def _on_window_map_event(self, event, param):   if self.hgthread is None:   self.hgthread = HgThread(self.cmdline[1:])   self.hgthread.start()   self._button_ok.set_sensitive(False)   self._button_stop.set_sensitive(True)   gobject.timeout_add(10, self.process_queue)     def write(self, msg, append=True):   msg = toutf(msg)   if append:   enditer = self.textbuffer.get_end_iter()   self.textbuffer.insert(enditer, msg)   else:   self.textbuffer.set_text(msg)     def process_queue(self):   """   Handle all the messages currently in the queue (if any).   """   self.hgthread.process_dialogs()   enditer = self.textbuffer.get_end_iter()   while self.hgthread.getqueue().qsize():   try:   msg = self.hgthread.getqueue().get(0)   self.textbuffer.insert(enditer, toutf(msg))   self.textview.scroll_to_mark(self.textbuffer.get_insert(), 0)   except Queue.Empty:   pass   self.update_progress()   if not self.hgthread.isAlive():   self._button_stop.set_sensitive(False)   self._button_ok.set_sensitive(True)   self._button_ok.grab_focus()   self.returncode = self.hgthread.return_code()   if self.returncode is None:   self.write(_('\n[command interrupted]'))   return False # Stop polling this function   else:   return True     def update_progress(self):   if not self.pbar:   return # progress bar not enabled     if not self.hgthread.isAlive():   self.pbar.unmap()   else:   # pulse the progress bar every ~100ms   tm = shlib.get_system_times()[4]   if tm - self.last_pbar_update < 0.100:   return   self.last_pbar_update = tm   self.pbar.pulse()     def return_code(self):   if self.hgthread:   return self.hgthread.return_code()   else:   return False
Change 1 of 2 Show Entire File hggtk/​status.py Stacked
 
906
907
908
909
 
910
911
912
 
925
926
927
928
 
929
930
931
 
906
907
908
 
909
910
911
912
 
925
926
927
 
928
929
930
931
@@ -906,7 +906,7 @@
  lines = chunk.readlines()   lines[-1] = lines[-1].strip('\n\r')   for line in lines: - line = gobject.markup_escape_text(toutf(line)) + line = gobject.markup_escape_text(toutf(line[:128]))   if line.startswith('---') or line.startswith('+++'):   hunk += '<span foreground="#000090">%s</span>' % line   elif line.startswith('-'): @@ -925,7 +925,7 @@
  lines = fp.readlines()   lines[-1] = lines[-1].strip('\n\r')   for line in lines: - hunk += gobject.markup_escape_text(toutf(line)) + hunk += gobject.markup_escape_text(toutf(line[:128]))   return hunk     def dohgdiff():