- // this one have priority over the locked InsetText!
- switch (action) {
- case LFUN_SHIFT_TAB:
- case LFUN_TAB:
- {
- if (getFirstLockingInsetOfType(Inset::TABULAR_CODE) != this)
+ // this one have priority over the locked InsetText, if we're not already
+ // inside another tabular then that one get's priority!
+ if (getFirstLockingInsetOfType(Inset::TABULAR_CODE) == this) {
+ switch (action) {
+ case LFUN_SHIFT_TAB:
+ case LFUN_TAB:
+ hideInsetCursor(bv);
+ if (the_locking_inset) {
+ unlockInsetInInset(bv, the_locking_inset);
+ the_locking_inset = 0;
+ }
+ if (action == LFUN_TAB)
+ moveNextCell(bv, old_locking_inset != 0);
+ else
+ movePrevCell(bv, old_locking_inset != 0);
+ sel_cell_start = sel_cell_end = actcell;
+ if (hs)
+ updateLocal(bv, SELECTION, false);
+ if (!the_locking_inset) {
+ showInsetCursor(bv);
+ return DISPATCHED_NOUPDATE;
+ }
+ return result;
+ // this to avoid compiler warnings.
+ default: