Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 1.9, 1.9.1, and 1.9.2

sync: start a save dialog

Changeset 9208a2a60b5a

Parent d3c2aba78e20

by Steve Borho

Changes to one file · Browse files at 9208a2a60b5a Showing diff from parent d3c2aba78e20 Diff from another changeset...

 
79
80
81
82
 
83
84
85
 
110
111
112
 
113
114
115
 
174
175
176
177
 
178
179
180
 
215
216
217
218
 
 
 
219
220
221
 
228
229
230
231
 
 
 
 
 
 
 
 
 
 
 
232
233
234
 
241
242
243
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
244
245
246
247
248
249
250
 
251
252
253
 
281
282
283
284
 
285
286
287
 
79
80
81
 
82
83
84
85
 
110
111
112
113
114
115
116
 
175
176
177
 
178
179
180
181
 
216
217
218
 
219
220
221
222
223
224
 
231
232
233
 
234
235
236
237
238
239
240
241
242
243
244
245
246
247
 
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
 
 
296
297
298
299
 
327
328
329
 
330
331
332
333
@@ -79,7 +79,7 @@
  self.pathentry.textChanged.connect(self.refreshUrl)   hbox.addWidget(self.pathentry, 1)   self.authbutton = QPushButton(_('Site Authentication')) - hbox.addWidget(self.siteauth) + hbox.addWidget(self.authbutton)   layout.addLayout(hbox)     self.tv.clicked.connect(self.pathSelected) @@ -110,6 +110,7 @@
  self.refresh()   if 'default' in self.paths:   self.setUrl(self.paths['default']) + self.curalias = 'default'     def refresh(self):   fn = os.path.join(self.root, '.hg', 'hgrc') @@ -174,7 +175,7 @@
  self.setUrl(unicode(path))   aliasindex = index.sibling(index.row(), 0)   alias = aliasindex.data(Qt.DisplayRole).toString() - self.curalias = alias + self.curalias = unicode(alias)     def setUrl(self, newurl):   'User has selected a new URL' @@ -215,7 +216,9 @@
  return user, host, port, folder, passwd, scheme     def keyPressEvent(self, event): - if event.key() == Qt.Key_Escape: + if event.matches(QKeySequence.Refresh): + self.refresh() + elif event.key() == Qt.Key_Escape:   if self.thread and self.thread.isRunning():   self.thread.terminate()   # This can lockup, so stop waiting after 2sec @@ -228,7 +231,17 @@
  return super(SyncWidget, self).keyPressEvent(event)     def saveclicked(self): - pass + if self.curalias: + alias = self.curalias + elif 'default' not in self.paths: + alias = 'default' + else: + alias = 'new' + url = unicode(self.urlentry.text()) + dialog = SaveDialog(self.root, alias, url, self) + if dialog.exec_() == QDialog.Accepted: + self.curalias = unicode(dialog.aliasentry.text()) +   def authclicked(self):   pass   @@ -241,13 +254,46 @@
  def pushclicked(self):   pass   +class SaveDialog(QDialog): + def __init__(self, root, alias, url, parent): + super(SaveDialog, self).__init__(parent) + self.root = root + layout = QVBoxLayout() + self.setLayout(layout) + hbox = QHBoxLayout() + hbox.addWidget(QLabel(_('Alias'))) + self.aliasentry = QLineEdit(alias) + hbox.addWidget(self.aliasentry, 1) + layout.addLayout(hbox) + hbox = QHBoxLayout() + hbox.addWidget(QLabel(_('URL'))) + self.urlentry = QLineEdit(url) + hbox.addWidget(self.urlentry, 1) + layout.addLayout(hbox) + BB = QDialogButtonBox + bb = QDialogButtonBox(BB.Save|BB.Cancel) + bb.accepted.connect(self.accept) + bb.rejected.connect(self.reject) + bb.button(BB.Save).setDefault(True) + self.bb = bb + layout.addWidget(bb) + self.aliasentry.selectAll() + self.setWindowTitle(_('Save URL: ') + url) + QTimer.singleShot(0, lambda:self.aliasentry.setFocus()) + + def accept(self): + super(SaveDialog, self).accept() + + def reject(self): + super(SaveDialog, self).reject() + +  class PathsTree(QTreeView):   def __init__(self, root, parent=None):   QTreeView.__init__(self, parent)   self.setSelectionMode(QTreeView.SingleSelection)   self.setContextMenuPolicy(Qt.CustomContextMenu) - self.connect(self, SIGNAL('customContextMenuRequested(const QPoint &)'), - self.customContextMenuRequested) + self.customContextMenuRequested.connect(self.menuRequest)     def keyPressEvent(self, event):   return super(PathsTree, self).keyPressEvent(event) @@ -281,7 +327,7 @@
  self.dragObject()   return super(PathsTree, self).mouseMoveEvent(event)   - def customContextMenuRequested(self, point): + def menuRequest(self, point):   point = self.mapToGlobal(point)   pass