/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: Jasper Groenewegen
  • Date: 2008-07-25 19:54:31 UTC
  • mfrom: (560.9.1 right-mouse-button)
  • Revision ID: colbrac@xs4all.nl-20080725195431-jxw2cio0818u9qdi
Merge rewrite of Olive mouse button event handling

Show diffs side-by-side

added added

removed removed

Lines of Context:
712
712
            self.refresh_right()
713
713
            
714
714
    def on_treeview_left_button_press_event(self, widget, event):
715
 
        """ Occurs when somebody right-clicks in the bookmark list. """
716
 
        if event.button == 3:
717
 
            # Don't show context with nothing selected
718
 
            if self.get_selected_left() == None:
719
 
                return
720
 
 
721
 
            # Create a menu
722
 
            from menu import OliveMenu
723
 
            menu = OliveMenu(path=self.get_path(),
724
 
                             selected=self.get_selected_left(),
725
 
                             app=self)
726
 
            
727
 
            menu.left_context_menu().popup(None, None, None, 0,
728
 
                                           event.time)
729
 
 
730
 
    def on_treeview_left_button_release_event(self, widget, event):
731
 
        """ Occurs when somebody just clicks a bookmark. """
732
 
        if event.button != 3:
733
 
            # Allow one-click bookmark opening
734
 
            if self.get_selected_left() == None:
735
 
                return
736
 
            
737
 
            newdir = self.get_selected_left()
738
 
            if newdir == None:
739
 
                return
740
 
 
741
 
            if self.set_path(newdir):
742
 
                self.refresh_right()
 
715
        """ Occurs when somebody clicks in the bookmark list. """
 
716
        treepathpos = widget.get_path_at_pos(int(event.x), int(event.y))
 
717
        treeselection = widget.get_selection()
 
718
        if treepathpos is not None:
 
719
            treeselection.select_path(treepathpos[0])
 
720
            if event.button == 1:
 
721
                newdir = self.get_selected_left()
 
722
                if newdir == None:
 
723
                    return
 
724
 
 
725
                if self.set_path(newdir):
 
726
                    self.refresh_right()
 
727
            elif event.button == 3:
 
728
                # Don't show context with nothing selected
 
729
                if self.get_selected_left() == None:
 
730
                    return
 
731
 
 
732
                # Create a menu
 
733
                from menu import OliveMenu
 
734
                menu = OliveMenu(path=self.get_path(),
 
735
                                 selected=self.get_selected_left(),
 
736
                                 app=self)
 
737
                
 
738
                menu.left_context_menu().popup(None, None, None, 0,
 
739
                                               event.time)
 
740
        else:
 
741
            if treeselection is not None:
 
742
                treeselection.unselect_all()
743
743
 
744
744
    def on_treeview_left_row_activated(self, treeview, path, view_column):
745
745
        """ Occurs when somebody double-clicks or enters an item in the
753
753
            self.refresh_right()
754
754
 
755
755
    def on_treeview_right_button_press_event(self, widget, event):
756
 
        """ Occurs when somebody right-clicks in the file list. """
757
 
        if event.button == 3:
 
756
        """ Occurs when somebody clicks in the file list. """
 
757
        treepathpos = widget.get_path_at_pos(int(event.x), int(event.y))
 
758
        if event.button == 1:
 
759
            if treepathpos is None and widget.get_selection is not None:
 
760
                treeselection = widget.get_selection()
 
761
                treeselection.unselect_all()
 
762
        elif event.button == 3:
 
763
            treeselection = widget.get_selection()
 
764
            if treepathpos is not None:
 
765
                treeselection.select_path(treepathpos[0])
 
766
            else:
 
767
                if treeselection is not None:
 
768
                    treeselection.unselect_all()
758
769
            # Create a menu
759
770
            from menu import OliveMenu
760
771
            menu = OliveMenu(path=self.get_path(),
764
775
            m_open = menu.ui.get_widget('/context_right/open')
765
776
            m_add = menu.ui.get_widget('/context_right/add')
766
777
            m_remove = menu.ui.get_widget('/context_right/remove')
 
778
            m_remove_and_delete = menu.ui.get_widget('/context_right/remove_and_delete')
767
779
            m_rename = menu.ui.get_widget('/context_right/rename')
768
780
            m_revert = menu.ui.get_widget('/context_right/revert')
769
781
            m_commit = menu.ui.get_widget('/context_right/commit')
777
789
                    m_open.set_sensitive(False)
778
790
                    m_add.set_sensitive(False)
779
791
                    m_remove.set_sensitive(False)
 
792
                    m_remove_and_delete.set_sensitive(False)
780
793
                    m_rename.set_sensitive(False)
781
794
                    m_revert.set_sensitive(False)
782
795
                    m_commit.set_sensitive(False)
783
796
                    m_annotate.set_sensitive(False)
784
797
                    m_diff.set_sensitive(False)
785
798
                else:
 
799
                    if treepathpos is None:
 
800
                        m_open.set_sensitive(False)
 
801
                        m_add.set_sensitive(False)
 
802
                        m_remove.set_sensitive(False)
 
803
                        m_remove_and_delete.set_sensitive(False)
 
804
                        m_rename.set_sensitive(False)
 
805
                        m_annotate.set_sensitive(False)
 
806
                        m_diff.set_sensitive(False)
 
807
                        m_revert.set_sensitive(False)
 
808
                    else:
 
809
                        m_open.set_sensitive(True)
 
810
                        m_add.set_sensitive(True)
 
811
                        m_remove.set_sensitive(True)
 
812
                        m_remove_and_delete.set_sensitive(True)
 
813
                        m_rename.set_sensitive(True)
 
814
                        m_annotate.set_sensitive(True)
 
815
                        m_diff.set_sensitive(True)
 
816
                        m_revert.set_sensitive(True)
 
817
                    m_commit.set_sensitive(True)
 
818
            except bzrerrors.NotBranchError:
 
819
                if treepathpos is None:
 
820
                    m_open.set_sensitive(False)
 
821
                else:
786
822
                    m_open.set_sensitive(True)
787
 
                    m_add.set_sensitive(True)
788
 
                    m_remove.set_sensitive(True)
789
 
                    m_rename.set_sensitive(True)
790
 
                    m_revert.set_sensitive(True)
791
 
                    m_commit.set_sensitive(True)
792
 
                    m_annotate.set_sensitive(True)
793
 
                    m_diff.set_sensitive(True)
794
 
            except bzrerrors.NotBranchError:
795
 
                m_open.set_sensitive(True)
796
823
                m_add.set_sensitive(False)
797
824
                m_remove.set_sensitive(False)
 
825
                m_remove_and_delete.set_sensitive(False)
798
826
                m_rename.set_sensitive(False)
799
827
                m_revert.set_sensitive(False)
800
828
                m_commit.set_sensitive(False)