Author Topic: V18 Ctrl-Tab window order totally hosed.  (Read 14518 times)

talentix

  • Junior Community Member
  • Posts: 3
  • Hero Points: 0
Re: V18 Ctrl-Tab window order totally hosed.
« Reply #30 on: January 02, 2014, 02:45:05 pm »
After nearly going crazy about SlickEdits random and totally unpredictable way to switch to the next tab or tab-window (Crl+Tab and Ctrl+N) I have just solved the problem for me.

All I need ist a predictable behaviour. As in Firefox or any other application that use tabs, Ctrl+Tab has to move to the next tab which is on the right side of the current tab. Regardless of any opening order and of any tab arrangement changes. Its that simple.

To accomplish this:
On SlickEdits command line: bind-to-key next-buff-tab : Ctrl+Tab, bind-to-key prev-buff-tab : Shift+Ctrl+Tab, bind-to-key next-tab-group : Alt+PgDn, bind-to-key prev-tab-group : Alt+PgUp. Of course you may choose any other keys.

Uri

LarryB

  • Junior Community Member
  • Posts: 5
  • Hero Points: 0
Re: V18 Ctrl-Tab window order totally hosed.
« Reply #31 on: January 27, 2014, 07:47:04 pm »
Rodney, I know logic-wise your change may work, but for efficiency sake, could I suggest reworking the if statement to have a compound OR since the else if now has the same setting.

Here is your solution:
if ( _default_option(VSOPTION_NEXTWINDOWSTYLE) == 1 ) {
         // Smart next window
         //final_wid._MDIReorder(orig_wid);
         orig_wid._MDIReorder(final_wid);
      } else if ( _default_option(VSOPTION_NEXTWINDOWSTYLE) == 2 ){
         // Reorder windows
         orig_wid._MDIReorder(final_wid);
      }
      if (add_windowhist) {
         _menu_a

Here is what I think the 'if' should be:
if ( _default_option(VSOPTION_NEXTWINDOWSTYLE) == 1 ||
     _default_option(VSOPTION_NEXTWONDOWSTYLE) == 2) {
         // Smart next window OR reorder windows
         //final_wid._MDIReorder(orig_wid);
         orig_wid._MDIReorder(final_wid);
      }
      if (add_windowhist) {
         _menu_a

LarryB

  • Junior Community Member
  • Posts: 5
  • Hero Points: 0
Re: V18 Ctrl-Tab window order totally hosed.
« Reply #32 on: February 20, 2015, 06:28:34 pm »
This is still a problem with V19, and in fact, the fix used in V18 does not work in V19.

dholshou

  • Community Member
  • Posts: 51
  • Hero Points: 1
Re: V18 Ctrl-Tab window order totally hosed.
« Reply #33 on: February 20, 2015, 06:42:32 pm »
This is still a problem with V19, and in fact, the fix used in V18 does not work in V19.
Agreed

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 5149
  • Hero Points: 425
Re: V18 Ctrl-Tab window order totally hosed.
« Reply #34 on: February 20, 2015, 07:35:59 pm »
Sorry this is broken. To reproduce the problem with a default config, "e A", "e B", click on document tab A, "e C", press Ctrl+Tab and A should be active but B is active instead. If this is the problem your are seeing this is definitely a bug which is reproducible in v18 and v19.

I haven't had time to check into this thoroughly but it seems that if I replace the v19 code with the v17 code (it's been refactored so you have to look at it carefully), it works.

Here's the fix for the _doNextWindowStyle function in window.e:

Code: [Select]
void _doNextWindowStyle(int final_wid,int orig_wid,boolean add_windowhist=false) {
   if (final_wid!=VSWID_HIDDEN && orig_wid!=VSWID_HIDDEN &&
        (_iswindow_valid(orig_wid) && orig_wid.p_mdi_child) &&
       final_wid!=orig_wid) {
#if 1
      // Copied from v17 code which seems to work
      if (_default_option(VSOPTION_NEXTWINDOWSTYLE)==1) {
         orig_wid._MDIReorder(final_wid);
      } else if (_default_option(VSOPTION_NEXTWINDOWSTYLE)==2){
         orig_wid._MDIReorder(final_wid,true);
      }
#else
      // old v19 code which appears be the problem
      if (_default_option(VSOPTION_NEXTWINDOWSTYLE)==1) {
         final_wid._MDIReorder(orig_wid);
      } else if (_default_option(VSOPTION_NEXTWINDOWSTYLE)==0){
         orig_wid._MDIReorder(final_wid);
      }
#endif
      if (add_windowhist) {
         _menu_add_windowhist(final_wid);
      }
   }

}

Once we've had more time to check into this carefully, we will post update information.
« Last Edit: February 20, 2015, 07:47:49 pm by Clark »

Brandmire

  • New Community Member
  • Posts: 2
  • Hero Points: 0
Re: V18 Ctrl-Tab window order totally hosed.
« Reply #35 on: March 31, 2015, 11:19:59 pm »
I just registered in order to say that this bug makes v19 unusable for me and I had to go back to using v17 until it's fixed.  My SlickEdit installation is on a shared drive on Linux (that I have no control over), so I can't go and edit the window.e file in the installation directory.  My configuration directory is my own though, so  I think a hotfix would be an option (since I think I noticed that hotfixes get applied to the configuration directory).

Can a fix for this issue be added to the cumulative hotfixes ASAP?

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 5149
  • Hero Points: 425
Re: V18 Ctrl-Tab window order totally hosed.
« Reply #36 on: March 31, 2015, 11:21:24 pm »
You can get 19.0.2 RC 4 right now and it has the fix in it. Any of the 19.0.2 RC's have this fixed.

Brandmire

  • New Community Member
  • Posts: 2
  • Hero Points: 0
Re: V18 Ctrl-Tab window order totally hosed.
« Reply #37 on: March 31, 2015, 11:42:46 pm »
Excellent, thank you!