Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Use AKD_GETMAININFO instead of menu trick
  • Loading branch information
Infocatcher committed Mar 3, 2014
1 parent f0dd924 commit 059710e
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 79 deletions.
29 changes: 9 additions & 20 deletions closeLeftOrRightTabs.js
Expand Up @@ -17,27 +17,16 @@
var toRight = WScript.Arguments.length ? WScript.Arguments(0) != "-left" : true;

var hMainWnd = AkelPad.GetMainWnd();
var oSys = AkelPad.SystemFunction();

if(hMainWnd) {
//var hMenuMain = oSys.Call("user32::GetMenu", hMainWnd);
var hMenuMain = AkelPad.SendMessage(hMainWnd, 1222 /*AKD_GETMAININFO*/, 21 /*MI_MENUMAIN*/, 0);
if(hMenuMain) {
var dwState = oSys.Call(
"user32::GetMenuState",
hMenuMain,
4310 /*IDM_WINDOW_TABSWITCH_NEXTPREV*/,
0 /*MF_BYCOMMAND*/
);
if(dwState & 0x8 /*MF_CHECKED*/) {
AkelPad.Command(4311 /*IDM_WINDOW_TABSWITCH_RIGHTLEFT*/);
closeTabs(toRight);
AkelPad.Command(4310 /*IDM_WINDOW_TABSWITCH_NEXTPREV*/);
}
else {
closeTabs(toRight);
}
}
var tabOpts = AkelPad.SendMessage(hMainWnd, 1222 /*AKD_GETMAININFO*/, 157 /*MI_TABOPTIONSMDI*/, 0);
var forceRightLeft = !(tabOpts & 0x20000 /*TAB_SWITCH_RIGHTLEFT*/);
if(forceRightLeft)
AkelPad.Command(4311 /*IDM_WINDOW_TABSWITCH_RIGHTLEFT*/);

closeTabs(toRight);

if(forceRightLeft)
AkelPad.SendMessage(hMainWnd, 1219 /*AKD_SETMAININFO*/, 157 /*MI_TABOPTIONSMDI*/, tabOpts);
}

function closeTabs(toRight) {
Expand Down
28 changes: 9 additions & 19 deletions tabsNextPrevious.js
Expand Up @@ -17,27 +17,17 @@
var next = WScript.Arguments.length ? WScript.Arguments(0) != "-prev" : true;

var hMainWnd = AkelPad.GetMainWnd();
var oSys = AkelPad.SystemFunction();

if(hMainWnd) {
//var hMenuMain = oSys.Call("user32::GetMenu", hMainWnd);
var hMenuMain = AkelPad.SendMessage(hMainWnd, 1222 /*AKD_GETMAININFO*/, 21 /*MI_MENUMAIN*/, 0);
if(hMenuMain) {
var dwState = oSys.Call(
"user32::GetMenuState",
hMenuMain,
4311 /*IDM_WINDOW_TABSWITCH_RIGHTLEFT*/,
0 /*MF_BYCOMMAND*/
);
if(dwState & 0x8 /*MF_CHECKED*/) {
AkelPad.Command(4310 /*IDM_WINDOW_TABSWITCH_NEXTPREV*/);
selectTab(next);
AkelPad.Command(4311 /*IDM_WINDOW_TABSWITCH_RIGHTLEFT*/);
}
else {
selectTab(next);
}
}
var tabOpts = AkelPad.SendMessage(hMainWnd, 1222 /*AKD_GETMAININFO*/, 157 /*MI_TABOPTIONSMDI*/, 0);
var forceNextPrev = !(tabOpts & 0x10000 /*TAB_SWITCH_NEXTPREV*/);
if(forceNextPrev)
AkelPad.Command(4310 /*IDM_WINDOW_TABSWITCH_NEXTPREV*/);

selectTab(next);

if(forceNextPrev)
AkelPad.SendMessage(hMainWnd, 1219 /*AKD_SETMAININFO*/, 157 /*MI_TABOPTIONSMDI*/, tabOpts);
}

function selectTab(next) {
Expand Down
28 changes: 9 additions & 19 deletions tabsRightLeft.js
Expand Up @@ -17,27 +17,17 @@
var next = WScript.Arguments.length ? WScript.Arguments(0) != "-prev" : true;

var hMainWnd = AkelPad.GetMainWnd();
var oSys = AkelPad.SystemFunction();

if(hMainWnd) {
//var hMenuMain = oSys.Call("user32::GetMenu", hMainWnd);
var hMenuMain = AkelPad.SendMessage(hMainWnd, 1222 /*AKD_GETMAININFO*/, 21 /*MI_MENUMAIN*/, 0);
if(hMenuMain) {
var dwState = oSys.Call(
"user32::GetMenuState",
hMenuMain,
4310 /*IDM_WINDOW_TABSWITCH_NEXTPREV*/,
0 /*MF_BYCOMMAND*/
);
if(dwState & 0x8 /*MF_CHECKED*/) {
AkelPad.Command(4311 /*IDM_WINDOW_TABSWITCH_RIGHTLEFT*/);
selectTab(next);
AkelPad.Command(4310 /*IDM_WINDOW_TABSWITCH_NEXTPREV*/);
}
else {
selectTab(next);
}
}
var tabOpts = AkelPad.SendMessage(hMainWnd, 1222 /*AKD_GETMAININFO*/, 157 /*MI_TABOPTIONSMDI*/, 0);
var forceRightLeft = !(tabOpts & 0x20000 /*TAB_SWITCH_RIGHTLEFT*/);
if(forceRightLeft)
AkelPad.Command(4311 /*IDM_WINDOW_TABSWITCH_RIGHTLEFT*/);

selectTab(next);

if(forceRightLeft)
AkelPad.SendMessage(hMainWnd, 1219 /*AKD_SETMAININFO*/, 157 /*MI_TABOPTIONSMDI*/, tabOpts);
}

function selectTab(next) {
Expand Down
26 changes: 5 additions & 21 deletions tabsSwitchAlt.js
Expand Up @@ -18,29 +18,13 @@
var next = WScript.Arguments.length ? WScript.Arguments(0) != "-prev" : true;

var hMainWnd = AkelPad.GetMainWnd();
var oSys = AkelPad.SystemFunction();

if(hMainWnd) {
//var hMenuMain = oSys.Call("user32::GetMenu", hMainWnd);
var hMenuMain = AkelPad.SendMessage(hMainWnd, 1222 /*AKD_GETMAININFO*/, 21 /*MI_MENUMAIN*/, 0)
if(hMenuMain) {
var dwState = oSys.Call(
"user32::GetMenuState",
hMenuMain,
4310 /*IDM_WINDOW_TABSWITCH_NEXTPREV*/,
0 /*MF_BYCOMMAND*/
);
if(dwState & 0x8 /*MF_CHECKED*/) {
AkelPad.Command(4311 /*IDM_WINDOW_TABSWITCH_RIGHTLEFT*/);
selectTab(next);
AkelPad.Command(4310 /*IDM_WINDOW_TABSWITCH_NEXTPREV*/);
}
else {
AkelPad.Command(4310 /*IDM_WINDOW_TABSWITCH_NEXTPREV*/);
selectTab(next);
AkelPad.Command(4311 /*IDM_WINDOW_TABSWITCH_RIGHTLEFT*/);
}
}
var tabOpts = AkelPad.SendMessage(hMainWnd, 1222 /*AKD_GETMAININFO*/, 157 /*MI_TABOPTIONSMDI*/, 0);
var isNextPrev = tabOpts & 0x10000 /*TAB_SWITCH_NEXTPREV*/;
AkelPad.Command(isNextPrev ? 4311 /*IDM_WINDOW_TABSWITCH_RIGHTLEFT*/ : 4310 /*IDM_WINDOW_TABSWITCH_NEXTPREV*/);
selectTab(next);
AkelPad.SendMessage(hMainWnd, 1219 /*AKD_SETMAININFO*/, 157 /*MI_TABOPTIONSMDI*/, tabOpts);
}

function selectTab(next) {
Expand Down

0 comments on commit 059710e

Please sign in to comment.