~ubuntu-branches/ubuntu/vivid/git-cola/vivid

« back to all changes in this revision

Viewing changes to cola/widgets/dag.py

  • Committer: Package Import Robot
  • Author(s): Laszlo Boszormenyi (GCS)
  • Date: 2014-02-14 13:13:33 UTC
  • mfrom: (1.3.22)
  • Revision ID: package-import@ubuntu.com-20140214131333-xbklb7yd9jntikpm
Tags: 1.9.4-1
New upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
from cola.widgets.standard import TreeWidget
27
27
from cola.widgets.diff import COMMITS_SELECTED
28
28
from cola.widgets.diff import DiffWidget
 
29
from cola.widgets.filelist import FileWidget
29
30
 
30
31
 
31
32
def git_dag(model, args=None):
36
37
    dag = DAG(branch_doubledash, 1000)
37
38
    dag.set_arguments(args)
38
39
 
39
 
    view = DAGView(model, dag, None)
 
40
    view = DAGView(model, dag)
40
41
    if dag.ref:
41
42
        view.display()
42
43
    return view
102
103
        if sha1 is None:
103
104
            return
104
105
        short_sha1 = sha1[:7]
105
 
        GitArchiveDialog.save(sha1, short_sha1, self)
 
106
        GitArchiveDialog.save_hashed_objects(sha1, short_sha1, self)
106
107
 
107
108
    def save_blob_dialog(self):
108
109
        sha1 = self.selected_sha1()
318
319
class DAGView(MainWindow):
319
320
    """The git-dag widget."""
320
321
 
321
 
    def __init__(self, model, dag, parent=None, args=None):
 
322
    def __init__(self, model, dag, parent=None):
322
323
        MainWindow.__init__(self, parent)
323
324
 
324
325
        self.setAttribute(Qt.WA_MacMetalStyle)
345
346
        self.maxresults.setSuffix('')
346
347
 
347
348
        self.zoom_out = qtutils.create_action_button(
348
 
                N_('Zoom Out'), qtutils.theme_icon('zoom-out.png'))
 
349
                tooltip=N_('Zoom Out'),
 
350
                icon=qtutils.theme_icon('zoom-out.png'))
349
351
 
350
352
        self.zoom_in = qtutils.create_action_button(
351
 
                N_('Zoom In'), qtutils.theme_icon('zoom-in.png'))
 
353
                tooltip=N_('Zoom In'),
 
354
                icon=qtutils.theme_icon('zoom-in.png'))
352
355
 
353
356
        self.zoom_to_fit = qtutils.create_action_button(
354
 
                N_('Zoom to Fit'), qtutils.theme_icon('zoom-fit-best.png'))
 
357
                tooltip=N_('Zoom to Fit'),
 
358
                icon=qtutils.theme_icon('zoom-fit-best.png'))
355
359
 
356
360
        self.notifier = notifier = observable.Observable()
357
361
        self.notifier.refs_updated = refs_updated = 'refs_updated'
359
363
 
360
364
        self.treewidget = CommitTreeWidget(notifier, self)
361
365
        self.diffwidget = DiffWidget(notifier, self)
 
366
        self.filewidget = FileWidget(notifier, self)
362
367
        self.graphview = GraphView(notifier, self)
363
368
 
364
369
        self.controls_layout = QtGui.QHBoxLayout()
375
380
        log_dock_titlebar = self.log_dock.titleBarWidget()
376
381
        log_dock_titlebar.add_corner_widget(self.controls_widget)
377
382
 
 
383
        self.file_dock = qtutils.create_dock(N_('Files'), self)
 
384
        self.file_dock.setWidget(self.filewidget)
 
385
 
378
386
        self.diff_dock = qtutils.create_dock(N_('Diff'), self)
379
387
        self.diff_dock.setWidget(self.diffwidget)
380
388
 
404
412
        self.view_menu.addAction(self.log_dock.toggleViewAction())
405
413
        self.view_menu.addAction(self.graphview_dock.toggleViewAction())
406
414
        self.view_menu.addAction(self.diff_dock.toggleViewAction())
 
415
        self.view_menu.addAction(self.file_dock.toggleViewAction())
407
416
        self.view_menu.addSeparator()
408
417
        self.view_menu.addAction(self.lock_layout_action)
409
418
 
415
424
        bottom = Qt.BottomDockWidgetArea
416
425
        self.addDockWidget(left, self.log_dock)
417
426
        self.addDockWidget(right, self.graphview_dock)
 
427
        self.addDockWidget(right, self.file_dock)
418
428
        self.addDockWidget(bottom, self.diff_dock)
419
429
 
420
430
        # Update fields affected by model
423
433
        self.update_window_title()
424
434
 
425
435
        # Also re-loads dag.* from the saved state
426
 
        if not qtutils.apply_state(self):
 
436
        if not self.restore_state():
427
437
            self.resize_to_desktop()
428
438
 
429
439
        qtutils.connect_button(self.zoom_out, self.graphview.zoom_out)
480
490
            self.setWindowTitle(project + N_(' - DAG'))
481
491
 
482
492
    def export_state(self):
483
 
        state = self.Mixin.export_state(self)
 
493
        state = MainWindow.export_state(self)
484
494
        state['count'] = self.dag.count
485
495
        return state
486
496
 
487
497
    def apply_state(self, state):
488
 
        result = self.Mixin.apply_state(self, state)
 
498
        result = MainWindow.apply_state(self, state)
489
499
        try:
490
500
            count = state['count']
491
501
            if self.dag.overridden('count'):
529
539
        self.thread.start()
530
540
 
531
541
    def show(self):
532
 
        self.Mixin.show(self)
 
542
        MainWindow.show(self)
533
543
        self.treewidget.adjust_columns()
534
544
 
535
545
    def clear(self):
575
585
    def closeEvent(self, event):
576
586
        self.revtext.close_popup()
577
587
        self.thread.stop()
578
 
        self.Mixin.closeEvent(self, event)
 
588
        MainWindow.closeEvent(self, event)
579
589
 
580
590
    def resizeEvent(self, e):
581
 
        self.Mixin.resizeEvent(self, e)
 
591
        MainWindow.resizeEvent(self, e)
582
592
        self.treewidget.adjust_columns()
583
593
 
584
594