@@ -560,14 +560,15 @@ def setup_editorstack(self, parent, layout):
560
560
corner_widgets = corner_widgets )
561
561
self .tabs .tabBar ().setObjectName ('plugin-tab' )
562
562
self .tabs .set_close_function (self .close_file )
563
+ self .tabs .setMovable (True )
563
564
564
565
if hasattr (self .tabs , 'setDocumentMode' ) \
565
566
and not sys .platform == 'darwin' :
566
567
# Don't set document mode to true on OSX because it generates
567
568
# a crash when the editor is detached from the main window
568
569
# Fixes Issue 561
569
570
self .tabs .setDocumentMode (True )
570
- self .tabs .currentChanged .connect (self .current_changed )
571
+ self .tabs .currentChanged .connect (self .current_changed_tabs )
571
572
572
573
if sys .platform == 'darwin' :
573
574
tab_container = QWidget ()
@@ -926,7 +927,6 @@ def set_fullpath_sorting_enabled(self, state):
926
927
self .fullpath_sorting_enabled = state
927
928
if self .data :
928
929
finfo = self .data [self .get_stack_index ()]
929
- self .data .sort (key = self .__get_sorting_func ())
930
930
new_index = self .data .index (finfo )
931
931
self .__repopulate_stack ()
932
932
self .set_stack_index (new_index )
@@ -1005,16 +1005,8 @@ def get_tab_tip(self, filename, is_modified=None, is_readonly=None):
1005
1005
else :
1006
1006
return text % (osp .basename (filename ), osp .dirname (filename ))
1007
1007
1008
- def __get_sorting_func (self ):
1009
- if self .fullpath_sorting_enabled :
1010
- return lambda item : osp .join (osp .dirname (item .filename ),
1011
- '_' + osp .basename (item .filename ))
1012
- else :
1013
- return lambda item : osp .basename (item .filename )
1014
-
1015
1008
def add_to_data (self , finfo , set_current ):
1016
1009
self .data .append (finfo )
1017
- self .data .sort (key = self .__get_sorting_func ())
1018
1010
index = self .data .index (finfo )
1019
1011
editor = finfo .editor
1020
1012
self .tabs .insertTab (index , editor , self .get_tab_text (index ))
@@ -1051,7 +1043,6 @@ def rename_in_data(self, index, new_filename):
1051
1043
set_new_index = index == self .get_stack_index ()
1052
1044
current_fname = self .get_current_filename ()
1053
1045
finfo .filename = new_filename
1054
- self .data .sort (key = self .__get_sorting_func ())
1055
1046
new_index = self .data .index (finfo )
1056
1047
self .__repopulate_stack ()
1057
1048
if set_new_index :
@@ -1449,14 +1440,17 @@ def get_todo_results(self):
1449
1440
if self .data :
1450
1441
return self .data [self .get_stack_index ()].todo_results
1451
1442
1452
- def current_changed (self , index ):
1443
+ def current_changed_tabs (self , index ):
1444
+ self .current_changed (index , set_focus = False )
1445
+
1446
+ def current_changed (self , index , set_focus = True ):
1453
1447
"""Stack index has changed"""
1454
1448
# count = self.get_stack_count()
1455
1449
# for btn in (self.filelist_btn, self.previous_btn, self.next_btn):
1456
1450
# btn.setEnabled(count > 1)
1457
1451
1458
1452
editor = self .get_current_editor ()
1459
- if index != - 1 :
1453
+ if index != - 1 and set_focus :
1460
1454
editor .setFocus ()
1461
1455
if DEBUG_EDITOR :
1462
1456
print ("setfocusto:" , editor , file = STDOUT )
0 commit comments