vladvro
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору добавляем в файл SciTEBase.h строка 284: Код: void ShiftTo(int index_from, int index_to); //!-add-[TabsMoving] | строка 595: Код: //!-start-[TabsMoving] void ShiftTab(int index_from, int index_to); void MoveTabRight(); void MoveTabLeft(); //!-end-[TabsMoving] | файл SciTEBuffers.cxx строка 195: Код: //!-start-[TabsMoving] void BufferList::ShiftTo(int index_from, int index_to) { // shift buffer to new place in buffers array if (index_from == index_to || index_from < 0 || index_from >= length || index_to < 0 || index_to >= length) return; int step = 1; if (index_from > index_to) step = -1; Buffer tmp = buffers[index_from]; for(int i=index_from; i!=index_to; i+=step) buffers[i] = buffers[i+step]; buffers[index_to] = tmp; } //!-end-[TabsMoving] | строка 745: Код: //!-start-[TabsMoving] void SciTEBase::ShiftTab(int index_from, int index_to) { buffers.ShiftTo(index_from, index_to); buffers.SetCurrent(index_to); BuffersMenu(); #if PLAT_WIN // Tab Bar ::SendMessage(reinterpret_cast<HWND>(wTabBar.GetID()), TCM_SETCURSEL, (WPARAM)index_to, (LPARAM)0); #endif #if PLAT_GTK if (wTabBar.GetID()) gtk_notebook_set_page(GTK_NOTEBOOK(wTabBar.GetID()), index_to); #endif DisplayAround(buffers.buffers[buffers.Current()]); } void SciTEBase::MoveTabRight() { if (buffers.length < 2) return; int index_from = buffers.Current(); int index_to = index_from + 1; if (index_to >= buffers.length) index_to = 0; ShiftTab(index_from, index_to); } void SciTEBase::MoveTabLeft() { if (buffers.length < 2) return; int index_from = buffers.Current(); int index_to = index_from - 1; if (index_to < 0) index_to = buffers.length - 1; ShiftTab(index_from, index_to); } //!-end-[TabsMoving] | строка 818: Код: // int menuStart = 5; int menuStart = 7; //!-changed-[TabsMoving] | файл SciTEProps.cxx, строка 1664: Код: {"IDM_MOVETABRIGHT", IDM_MOVETABRIGHT}, //!-add-[TabsMoving] {"IDM_MOVETABLEFT", IDM_MOVETABLEFT}, //!-add-[TabsMoving] | файл SciTEBase.cxx, строка 3889: Код: //!-start-[TabsMoving] case IDM_MOVETABRIGHT: MoveTabRight(); WindowSetFocus(wEditor); break; case IDM_MOVETABLEFT: MoveTabLeft(); WindowSetFocus(wEditor); break; //!-end-[TabsMoving] | файл SciTERes.rc, строка 174: Код: MENUITEM "Move Tab &Right", IDM_MOVETABRIGHT //!-add-[TabsMoving] MENUITEM "Move Tab &Left", IDM_MOVETABLEFT //!-add-[TabsMoving] | файл SciTE.h, строка 179: Код: #define IDM_MOVETABRIGHT 508 //!-add-[TabsMoving] #define IDM_MOVETABLEFT 509 //!-add-[TabsMoving] | и для удобства использования можно добавить в файл настроек клавиши быстрого вызова: Код: user.shortcuts=\ ... Ctrl+Shift+PageUp|IDM_MOVETABLEFT|\ Ctrl+Shift+PageDown|IDM_MOVETABRIGHT|\ ... | | Всего записей: 281 | Зарегистр. 05-04-2006 | Отправлено: 13:40 25-03-2007 | Исправлено: vladvro, 14:03 25-03-2007 |
|