/b-gtk/fix-viz

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz

« back to all changes in this revision

Viewing changes to olive/__init__.py

  • Committer: Jelmer Vernooij
  • Date: 2007-10-26 17:02:18 UTC
  • Revision ID: jelmer@samba.org-20071026170218-pepec3wazqr3ghhb
Add very simple "Send Merge Directive" window.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
 #!/usr/bin/python
2
 
 
3
1
# Copyright (C) 2006 by Szilveszter Farkas (Phanatic) <szilveszter.farkas@gmail.com>
4
2
#
5
3
# This program is free software; you can redistribute it and/or modify
41
39
from bzrlib.ui import ui_factory
42
40
from bzrlib.workingtree import WorkingTree
43
41
 
44
 
from bzrlib.plugins.gtk import _i18n
45
42
from bzrlib.plugins.gtk.dialog import error_dialog, info_dialog, warning_dialog
46
43
from bzrlib.plugins.gtk.errors import show_bzr_error
47
44
from guifiles import GLADEFILENAME
69
66
 
70
67
    # Set version
71
68
    dialog.set_version(__version__)
72
 
    dialog.set_authors([ _i18n("Lead Developer:"),
 
69
    dialog.set_authors([ _("Lead Developer:"),
73
70
                         "Szilveszter Farkas <szilveszter.farkas@gmail.com>",
74
 
                         _i18n("Contributors:"),
 
71
                         _("Contributors:"),
75
72
                         "Jelmer Vernooij <jelmer@samba.org>",
76
73
                         "Mateusz Korniak <mateusz.korniak@ant.gliwice.pl>",
77
74
                         "Gary van der Merwe <garyvdm@gmail.com>" ])
106
103
        # Get some important menu items
107
104
        self.menuitem_add_files = self.toplevel.get_widget('menuitem_add_files')
108
105
        self.menuitem_remove_files = self.toplevel.get_widget('menuitem_remove_file')
109
 
        self.menuitem_file_bookmark = self.toplevel.get_widget('menuitem_file_bookmark')
110
106
        self.menuitem_file_make_directory = self.toplevel.get_widget('menuitem_file_make_directory')
111
107
        self.menuitem_file_rename = self.toplevel.get_widget('menuitem_file_rename')
112
108
        self.menuitem_file_move = self.toplevel.get_widget('menuitem_file_move')
163
159
                "on_about_activate": self.on_about_activate,
164
160
                "on_menuitem_add_files_activate": self.on_menuitem_add_files_activate,
165
161
                "on_menuitem_remove_file_activate": self.on_menuitem_remove_file_activate,
166
 
                "on_menuitem_file_bookmark_activate": self.on_menuitem_file_bookmark_activate,
167
162
                "on_menuitem_file_make_directory_activate": self.on_menuitem_file_make_directory_activate,
168
163
                "on_menuitem_file_move_activate": self.on_menuitem_file_move_activate,
169
164
                "on_menuitem_file_rename_activate": self.on_menuitem_file_rename_activate,
198
193
                "on_treeview_right_button_press_event": self.on_treeview_right_button_press_event,
199
194
                "on_treeview_right_row_activated": self.on_treeview_right_row_activated,
200
195
                "on_treeview_left_button_press_event": self.on_treeview_left_button_press_event,
201
 
                "on_treeview_left_button_release_event": self.on_treeview_left_button_release_event,
202
196
                "on_treeview_left_row_activated": self.on_treeview_left_row_activated,
203
197
                "on_button_location_up_clicked": self.on_button_location_up_clicked,
204
198
                "on_button_location_jump_clicked": self.on_button_location_jump_clicked,
446
440
    @show_bzr_error
447
441
    def on_entry_history_revno_key_press_event(self, widget, event):
448
442
        """ Key pressed handler for the history entry. """
449
 
        if event.keyval == gtk.gdk.keyval_from_name('Return') or event.keyval == gtk.gdk.keyval_from_name('KP_Enter'):
 
443
        if event.keyval == 65293:
450
444
            # Return was hit, so we have to load that specific revision
451
445
            # Emulate being remote, so inventory should be used
452
446
            path = self.get_path()
461
455
    
462
456
    def on_entry_location_key_press_event(self, widget, event):
463
457
        """ Key pressed handler for the location entry. """
464
 
        if event.keyval == gtk.gdk.keyval_from_name('Return') or event.keyval == gtk.gdk.keyval_from_name('KP_Enter'):
 
458
        if event.keyval == 65293:
465
459
            # Return was hit, so we have to jump
466
460
            self.on_button_location_jump_clicked(widget)
467
461
    
508
502
    @show_bzr_error
509
503
    def on_menuitem_branch_commit_activate(self, widget):
510
504
        """ Branch/Commit... menu handler. """
511
 
#     def __init__(self, wt, wtpath, notbranch, selected=None, parent=None):
512
 
        selected = self.get_selected_right()
513
 
        if selected:
514
 
            selected = os.path.join(self.wtpath, selected)
515
 
        commit = CommitDialog(wt=self.wt,
516
 
                              parent=self.window,
517
 
                              selected=selected,
518
 
                             )
 
505
        commit = CommitDialog(self.wt, self.wtpath, self.notbranch, self.get_selected_right(), self.window)
519
506
        response = commit.run()
520
507
        if response != gtk.RESPONSE_NONE:
521
508
            commit.hide()
537
524
        from bzrlib.plugins.gtk.merge import MergeDialog
538
525
        
539
526
        if self.check_for_changes():
540
 
            error_dialog(_i18n('There are local changes in the branch'),
541
 
                         _i18n('Please commit or revert the changes before merging.'))
 
527
            error_dialog(_('There are local changes in the branch'),
 
528
                         _('Please commit or revert the changes before merging.'))
542
529
        else:
543
530
            parent_branch_path = self.wt.branch.get_parent()
544
531
            merge = MergeDialog(self.wt, self.wtpath,default_branch_path=parent_branch_path )
553
540
        local_branch = self.wt.branch
554
541
        parent_branch_path = local_branch.get_parent()
555
542
        if parent_branch_path is None:
556
 
            error_dialog(_i18n('Parent location is unknown'),
557
 
                         _i18n('Cannot determine missing revisions if no parent location is known.'))
 
543
            error_dialog(_('Parent location is unknown'),
 
544
                         _('Cannot determine missing revisions if no parent location is known.'))
558
545
            return
559
546
        
560
547
        parent_branch = Branch.open(parent_branch_path)
576
563
            
577
564
            dlg_txt = ""
578
565
            if local_extra:
579
 
                dlg_txt += _i18n('%d local extra revision(s). \n') % (len(local_extra),) 
 
566
                dlg_txt += _('%d local extra revision(s). \n') % (len(local_extra),) 
580
567
                ## NOTE: We do not want such ugly info about missing revisions
581
568
                ##       Revision Browser should be used there
582
569
                ## max_revisions = 10
583
570
                ## for log_revision in iter_log_revisions(local_extra, local_branch.repository, verbose=1):
584
571
                ##    dlg_txt += log_revision_one_line_text(log_revision)
585
572
                ##    if max_revisions <= 0:
586
 
                ##        dlg_txt += _i18n("more ... \n")
 
573
                ##        dlg_txt += _("more ... \n")
587
574
                ##        break
588
575
                ## max_revisions -= 1
589
576
            ## dlg_txt += "\n"
590
577
            if remote_extra:
591
 
                dlg_txt += _i18n('%d local missing revision(s).\n') % (len(remote_extra),) 
 
578
                dlg_txt += _('%d local missing revision(s).\n') % (len(remote_extra),) 
592
579
                ## max_revisions = 10
593
580
                ## for log_revision in iter_log_revisions(remote_extra, parent_branch.repository, verbose=1):
594
581
                ##    dlg_txt += log_revision_one_line_text(log_revision)
595
582
                ##    if max_revisions <= 0:
596
 
                ##        dlg_txt += _i18n("more ... \n")
 
583
                ##        dlg_txt += _("more ... \n")
597
584
                ##        break
598
585
                ##    max_revisions -= 1
599
586
                
600
 
            info_dialog(_i18n('There are missing revisions'),
 
587
            info_dialog(_('There are missing revisions'),
601
588
                        dlg_txt)
602
589
        else:
603
 
            info_dialog(_i18n('Local branch up to date'),
604
 
                        _i18n('There are no missing revisions.'))
 
590
            info_dialog(_('Local branch up to date'),
 
591
                        _('There are no missing revisions.'))
605
592
 
606
593
    @show_bzr_error
607
594
    def on_menuitem_branch_pull_activate(self, widget):
610
597
 
611
598
        location = branch_to.get_parent()
612
599
        if location is None:
613
 
            error_dialog(_i18n('Parent location is unknown'),
614
 
                                     _i18n('Pulling is not possible until there is a parent location.'))
 
600
            error_dialog(_('Parent location is unknown'),
 
601
                                     _('Pulling is not possible until there is a parent location.'))
615
602
            return
616
603
 
617
604
        branch_from = Branch.open(location)
621
608
 
622
609
        ret = branch_to.pull(branch_from)
623
610
        
624
 
        info_dialog(_i18n('Pull successful'), _i18n('%d revision(s) pulled.') % ret)
 
611
        info_dialog(_('Pull successful'), _('%d revision(s) pulled.') % ret)
625
612
        
626
613
    @show_bzr_error
627
614
    def on_menuitem_branch_update_activate(self, widget):
630
617
        ret = self.wt.update()
631
618
        conflicts = self.wt.conflicts()
632
619
        if conflicts:
633
 
            info_dialog(_i18n('Update successful but conflicts generated'), _i18n('Number of conflicts generated: %d.') % (len(conflicts),) )
 
620
            info_dialog(_('Update successful but conflicts generated'), _('Number of conflicts generated: %d.') % (len(conflicts),) )
634
621
        else:
635
 
            info_dialog(_i18n('Update successful'), _i18n('No conflicts generated.') )
 
622
            info_dialog(_('Update successful'), _('No conflicts generated.') )
636
623
    
637
624
    def on_menuitem_branch_push_activate(self, widget):
638
625
        """ Branch/Push... menu handler. """
646
633
        """ Branch/Revert all changes menu handler. """
647
634
        ret = self.wt.revert([])
648
635
        if ret:
649
 
            warning_dialog(_i18n('Conflicts detected'),
650
 
                           _i18n('Please have a look at the working tree before continuing.'))
 
636
            warning_dialog(_('Conflicts detected'),
 
637
                           _('Please have a look at the working tree before continuing.'))
651
638
        else:
652
 
            info_dialog(_i18n('Revert successful'),
653
 
                        _i18n('All files reverted to last revision.'))
 
639
            info_dialog(_('Revert successful'),
 
640
                        _('All files reverted to last revision.'))
654
641
        self.refresh_right()
655
642
    
656
643
    def on_menuitem_branch_status_activate(self, widget):
685
672
    def on_menuitem_file_annotate_activate(self, widget):
686
673
        """ File/Annotate... menu handler. """
687
674
        if self.get_selected_right() is None:
688
 
            error_dialog(_i18n('No file was selected'),
689
 
                         _i18n('Please select a file from the list.'))
 
675
            error_dialog(_('No file was selected'),
 
676
                         _('Please select a file from the list.'))
690
677
            return
691
678
        
692
679
        branch = self.wt.branch
702
689
        finally:
703
690
            branch.unlock()
704
691
    
705
 
    def on_menuitem_file_bookmark_activate(self, widget):
706
 
        """ File/Bookmark current directory menu handler. """
707
 
        if self.pref.add_bookmark(self.path):
708
 
            info_dialog(_i18n('Bookmark successfully added'),
709
 
                        _i18n('The current directory was bookmarked. You can reach\nit by selecting it from the left panel.'))
710
 
            self.pref.write()
711
 
        else:
712
 
            warning_dialog(_i18n('Location already bookmarked'),
713
 
                           _i18n('The current directory is already bookmarked.\nSee the left panel for reference.'))
714
 
        
715
 
        self.refresh_left()
716
 
    
717
692
    def on_menuitem_file_make_directory_activate(self, widget):
718
693
        """ File/Make directory... menu handler. """
719
694
        from mkdir import OliveMkdir
811
786
            menu.left_context_menu().popup(None, None, None, 0,
812
787
                                           event.time)
813
788
 
814
 
    def on_treeview_left_button_release_event(self, widget, event):
815
 
        """ Occurs when somebody just clicks a bookmark. """
816
 
        if event.button != 3:
817
 
            # Allow one-click bookmark opening
818
 
            if self.get_selected_left() == None:
819
 
                return
820
 
            
821
 
            newdir = self.get_selected_left()
822
 
            if newdir == None:
823
 
                return
824
 
 
825
 
            if self.set_path(newdir):
826
 
                self.refresh_right()
827
 
 
828
789
    def on_treeview_left_row_activated(self, treeview, path, view_column):
829
790
        """ Occurs when somebody double-clicks or enters an item in the
830
791
        bookmark list. """
940
901
        bookmarks = self.pref.get_bookmarks()
941
902
        
942
903
        # Add them to the TreeStore
943
 
        titer = treestore.append(None, [_i18n('Bookmarks'), None])
 
904
        titer = treestore.append(None, [_('Bookmarks'), None])
944
905
        for item in bookmarks:
945
906
            title = self.pref.get_bookmark_title(item)
946
907
            treestore.append(titer, [title, item])
947
908
        
948
909
        # Create the column and add it to the TreeView
949
910
        self.treeview_left.set_model(treestore)
950
 
        tvcolumn_bookmark = gtk.TreeViewColumn(_i18n('Bookmark'))
 
911
        tvcolumn_bookmark = gtk.TreeViewColumn(_('Bookmark'))
951
912
        self.treeview_left.append_column(tvcolumn_bookmark)
952
913
        
953
914
        # Set up the cells
994
955
        
995
956
        # Add'em to the ListStore
996
957
        for item in dirs:
997
 
            try:
998
 
                statinfo = os.stat(self.path + os.sep + item)
999
 
            except OSError, e:
1000
 
                if e.errno == 40:
1001
 
                    continue
1002
 
                else:
1003
 
                    raise
 
958
            statinfo = os.stat(self.path + os.sep + item)
1004
959
            liststore.append([ gtk.STOCK_DIRECTORY,
1005
960
                               True,
1006
961
                               item,
1047
1002
                    self.wt.unlock()
1048
1003
            
1049
1004
            if status == 'renamed':
1050
 
                st = _i18n('renamed')
 
1005
                st = _('renamed')
1051
1006
            elif status == 'removed':
1052
 
                st = _i18n('removed')
 
1007
                st = _('removed')
1053
1008
            elif status == 'added':
1054
 
                st = _i18n('added')
 
1009
                st = _('added')
1055
1010
            elif status == 'modified':
1056
 
                st = _i18n('modified')
 
1011
                st = _('modified')
1057
1012
            elif status == 'unchanged':
1058
 
                st = _i18n('unchanged')
 
1013
                st = _('unchanged')
1059
1014
            elif status == 'ignored':
1060
 
                st = _i18n('ignored')
 
1015
                st = _('ignored')
1061
1016
            else:
1062
 
                st = _i18n('unknown')
 
1017
                st = _('unknown')
1063
1018
            
1064
 
            try:
1065
 
                statinfo = os.stat(self.path + os.sep + item)
1066
 
            except OSError, e:
1067
 
                if e.errno == 40:
1068
 
                    continue
1069
 
                else:
1070
 
                    raise
 
1019
            statinfo = os.stat(self.path + os.sep + item)
1071
1020
            liststore.append([gtk.STOCK_FILE,
1072
1021
                              False,
1073
1022
                              item,
1081
1030
        
1082
1031
        # Create the columns and add them to the TreeView
1083
1032
        self.treeview_right.set_model(liststore)
1084
 
        self._tvcolumn_filename = gtk.TreeViewColumn(_i18n('Filename'))
1085
 
        self._tvcolumn_status = gtk.TreeViewColumn(_i18n('Status'))
1086
 
        self._tvcolumn_size = gtk.TreeViewColumn(_i18n('Size'))
1087
 
        self._tvcolumn_mtime = gtk.TreeViewColumn(_i18n('Last modified'))
 
1033
        self._tvcolumn_filename = gtk.TreeViewColumn(_('Filename'))
 
1034
        self._tvcolumn_status = gtk.TreeViewColumn(_('Status'))
 
1035
        self._tvcolumn_size = gtk.TreeViewColumn(_('Size'))
 
1036
        self._tvcolumn_mtime = gtk.TreeViewColumn(_('Last modified'))
1088
1037
        self.treeview_right.append_column(self._tvcolumn_filename)
1089
1038
        self.treeview_right.append_column(self._tvcolumn_status)
1090
1039
        self.treeview_right.append_column(self._tvcolumn_size)
1238
1187
        bookmarks = self.pref.get_bookmarks()
1239
1188
 
1240
1189
        # Add them to the TreeStore
1241
 
        titer = treestore.append(None, [_i18n('Bookmarks'), None])
 
1190
        titer = treestore.append(None, [_('Bookmarks'), None])
1242
1191
        for item in bookmarks:
1243
1192
            title = self.pref.get_bookmark_title(item)
1244
1193
            treestore.append(titer, [title, item])
1299
1248
                
1300
1249
            # Add'em to the ListStore
1301
1250
            for item in dirs:
1302
 
                try:
1303
 
                    statinfo = os.stat(self.path + os.sep + item)
1304
 
                except OSError, e:
1305
 
                    if e.errno == 40:
1306
 
                        continue
1307
 
                    else:
1308
 
                        raise
 
1251
                statinfo = os.stat(self.path + os.sep + item)
1309
1252
                liststore.append([gtk.STOCK_DIRECTORY,
1310
1253
                                  True,
1311
1254
                                  item,
1352
1295
                        self.wt.unlock()
1353
1296
                
1354
1297
                if status == 'renamed':
1355
 
                    st = _i18n('renamed')
 
1298
                    st = _('renamed')
1356
1299
                elif status == 'removed':
1357
 
                    st = _i18n('removed')
 
1300
                    st = _('removed')
1358
1301
                elif status == 'added':
1359
 
                    st = _i18n('added')
 
1302
                    st = _('added')
1360
1303
                elif status == 'modified':
1361
 
                    st = _i18n('modified')
 
1304
                    st = _('modified')
1362
1305
                elif status == 'unchanged':
1363
 
                    st = _i18n('unchanged')
 
1306
                    st = _('unchanged')
1364
1307
                elif status == 'ignored':
1365
 
                    st = _i18n('ignored')
 
1308
                    st = _('ignored')
1366
1309
                    if not ignored_files:
1367
1310
                        continue
1368
1311
                else:
1369
 
                    st = _i18n('unknown')
 
1312
                    st = _('unknown')
1370
1313
                
1371
 
                try:
1372
 
                    statinfo = os.stat(self.path + os.sep + item)
1373
 
                except OSError, e:
1374
 
                    if e.errno == 40:
1375
 
                        continue
1376
 
                    else:
1377
 
                        raise
 
1314
                statinfo = os.stat(self.path + os.sep + item)
1378
1315
                liststore.append([gtk.STOCK_FILE,
1379
1316
                                  False,
1380
1317
                                  item,