[NEW_FEATURE] Finish IE7 style menu (auto hide).
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository@172 f5eea248-9336-0410-98b8-ebc06183d4e3pull/343/head^2
parent
9e26b31e3a
commit
544a4916d9
|
@ -61,7 +61,7 @@ struct SortTaskListPred
|
||||||
Notepad_plus::Notepad_plus(): Window(), _mainWindowStatus(0), _pDocTab(NULL), _pEditView(NULL),
|
Notepad_plus::Notepad_plus(): Window(), _mainWindowStatus(0), _pDocTab(NULL), _pEditView(NULL),
|
||||||
_pMainSplitter(NULL), _isfullScreen(false),
|
_pMainSplitter(NULL), _isfullScreen(false),
|
||||||
_recordingMacro(false), _pTrayIco(NULL), _isUDDocked(false), _isRTL(false),
|
_recordingMacro(false), _pTrayIco(NULL), _isUDDocked(false), _isRTL(false),
|
||||||
_linkTriggered(true), _isDocModifing(false), _isHotspotDblClicked(false), _isSaving(false), _hideMenu(true), _sysMenuEntering(false)
|
_linkTriggered(true), _isDocModifing(false), _isHotspotDblClicked(false), _isSaving(false), _sysMenuEntering(false)
|
||||||
{
|
{
|
||||||
ZeroMemory(&_prevSelectedRange, sizeof(_prevSelectedRange));
|
ZeroMemory(&_prevSelectedRange, sizeof(_prevSelectedRange));
|
||||||
|
|
||||||
|
@ -298,7 +298,7 @@ void Notepad_plus::init(HINSTANCE hInst, HWND parent, const char *cmdLine, CmdLi
|
||||||
scnN.nmhdr.idFrom = 0;
|
scnN.nmhdr.idFrom = 0;
|
||||||
_pluginsManager.notify(&scnN);
|
_pluginsManager.notify(&scnN);
|
||||||
|
|
||||||
if (_hideMenu)
|
if (!nppGUI._menuBarShow)
|
||||||
::SetMenu(_hSelf, NULL);
|
::SetMenu(_hSelf, NULL);
|
||||||
|
|
||||||
::ShowWindow(_hSelf, nppGUI._isMaximized?SW_MAXIMIZE:SW_SHOW);
|
::ShowWindow(_hSelf, nppGUI._isMaximized?SW_MAXIMIZE:SW_SHOW);
|
||||||
|
@ -3292,13 +3292,24 @@ void Notepad_plus::command(int id)
|
||||||
{
|
{
|
||||||
RECT rc;
|
RECT rc;
|
||||||
getClientRect(rc);
|
getClientRect(rc);
|
||||||
NppGUI & nppGUI = (NppGUI & )pNppParam->getNppGUI();
|
NppGUI & nppGUI = (NppGUI &)pNppParam->getNppGUI();
|
||||||
nppGUI._statusBarShow = !nppGUI._statusBarShow;
|
nppGUI._statusBarShow = !nppGUI._statusBarShow;
|
||||||
_statusBar.display(nppGUI._statusBarShow);
|
_statusBar.display(nppGUI._statusBarShow);
|
||||||
::SendMessage(_hSelf, WM_SIZE, SIZE_RESTORED, MAKELONG(rc.bottom, rc.right));
|
::SendMessage(_hSelf, WM_SIZE, SIZE_RESTORED, MAKELONG(rc.bottom, rc.right));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case IDM_VIEW_HIDEMENU :
|
||||||
|
{
|
||||||
|
NppGUI & nppGUI = (NppGUI &)pNppParam->getNppGUI();
|
||||||
|
nppGUI._menuBarShow = !nppGUI._menuBarShow;
|
||||||
|
if (nppGUI._menuBarShow)
|
||||||
|
::SetMenu(_hSelf, _mainMenuHandle);
|
||||||
|
else
|
||||||
|
::SetMenu(_hSelf, NULL);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case IDM_VIEW_TAB_SPACE:
|
case IDM_VIEW_TAB_SPACE:
|
||||||
{
|
{
|
||||||
bool isChecked = !(::GetMenuState(_mainMenuHandle, IDM_VIEW_TAB_SPACE, MF_BYCOMMAND) == MF_CHECKED);
|
bool isChecked = !(::GetMenuState(_mainMenuHandle, IDM_VIEW_TAB_SPACE, MF_BYCOMMAND) == MF_CHECKED);
|
||||||
|
@ -7783,7 +7794,8 @@ LRESULT Notepad_plus::runProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lPa
|
||||||
|
|
||||||
case WM_ENTERMENULOOP:
|
case WM_ENTERMENULOOP:
|
||||||
{
|
{
|
||||||
if (_hideMenu && !wParam && !_sysMenuEntering)
|
NppGUI & nppgui = (NppGUI &)(pNppParam->getNppGUI());
|
||||||
|
if (!nppgui._menuBarShow && !wParam && !_sysMenuEntering)
|
||||||
::SetMenu(_hSelf, _mainMenuHandle);
|
::SetMenu(_hSelf, _mainMenuHandle);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -7791,7 +7803,8 @@ LRESULT Notepad_plus::runProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lPa
|
||||||
|
|
||||||
case WM_EXITMENULOOP:
|
case WM_EXITMENULOOP:
|
||||||
{
|
{
|
||||||
if (_hideMenu && !wParam && !_sysMenuEntering)
|
NppGUI & nppgui = (NppGUI &)(pNppParam->getNppGUI());
|
||||||
|
if (!nppgui._menuBarShow && !wParam && !_sysMenuEntering)
|
||||||
::SetMenu(_hSelf, NULL);
|
::SetMenu(_hSelf, NULL);
|
||||||
_sysMenuEntering = false;
|
_sysMenuEntering = false;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -7933,7 +7946,11 @@ void Notepad_plus::fullScreenToggle()
|
||||||
{
|
{
|
||||||
//Hide window for updating, restore style and menu then restore position and Z-Order
|
//Hide window for updating, restore style and menu then restore position and Z-Order
|
||||||
::ShowWindow(_hSelf, SW_HIDE);
|
::ShowWindow(_hSelf, SW_HIDE);
|
||||||
::SetMenu(_hSelf, _mainMenuHandle);
|
|
||||||
|
NppGUI & nppGUI = (NppGUI &)((NppParameters::getInstance())->getNppGUI());
|
||||||
|
if (nppGUI._menuBarShow)
|
||||||
|
::SetMenu(_hSelf, _mainMenuHandle);
|
||||||
|
|
||||||
::SetWindowLongPtr( _hSelf, GWL_STYLE, _prevStyles);
|
::SetWindowLongPtr( _hSelf, GWL_STYLE, _prevStyles);
|
||||||
::SetWindowPos(_hSelf, HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE|SWP_NOREDRAW|SWP_NOZORDER);
|
::SetWindowPos(_hSelf, HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE|SWP_NOREDRAW|SWP_NOZORDER);
|
||||||
|
|
||||||
|
@ -7943,7 +7960,6 @@ void Notepad_plus::fullScreenToggle()
|
||||||
|
|
||||||
if (_winPlace.length)
|
if (_winPlace.length)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (_winPlace.showCmd == SW_SHOWMAXIMIZED)
|
if (_winPlace.showCmd == SW_SHOWMAXIMIZED)
|
||||||
{
|
{
|
||||||
::ShowWindow(_hSelf, SW_RESTORE);
|
::ShowWindow(_hSelf, SW_RESTORE);
|
||||||
|
|
|
@ -220,7 +220,6 @@ private:
|
||||||
|
|
||||||
WindowsMenu _windowsMenu;
|
WindowsMenu _windowsMenu;
|
||||||
HMENU _mainMenuHandle;
|
HMENU _mainMenuHandle;
|
||||||
bool _hideMenu;
|
|
||||||
bool _sysMenuEntering;
|
bool _sysMenuEntering;
|
||||||
|
|
||||||
LONG_PTR _prevStyles;
|
LONG_PTR _prevStyles;
|
||||||
|
|
|
@ -2076,6 +2076,21 @@ void NppParameters::feedGUIParameters(TiXmlNode *node)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (!strcmp(nm, "MenuBar"))
|
||||||
|
{
|
||||||
|
TiXmlNode *n = childNode->FirstChild();
|
||||||
|
if (n)
|
||||||
|
{
|
||||||
|
val = n->Value();
|
||||||
|
if (val)
|
||||||
|
{
|
||||||
|
if (!strcmp(val, "hide"))
|
||||||
|
_nppGUI._menuBarShow = false;
|
||||||
|
else if (!strcmp(val, "show"))
|
||||||
|
_nppGUI._menuBarShow = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (!strcmp(nm, "TabBar"))
|
else if (!strcmp(nm, "TabBar"))
|
||||||
{
|
{
|
||||||
bool isFailed = false;
|
bool isFailed = false;
|
||||||
|
@ -2985,6 +3000,7 @@ bool NppParameters::writeGUIParams()
|
||||||
bool autocExist = false;
|
bool autocExist = false;
|
||||||
bool sessionExtExist = false;
|
bool sessionExtExist = false;
|
||||||
bool noUpdateExist = false;
|
bool noUpdateExist = false;
|
||||||
|
bool menuBarExist = false;
|
||||||
|
|
||||||
TiXmlNode *dockingParamNode = NULL;
|
TiXmlNode *dockingParamNode = NULL;
|
||||||
|
|
||||||
|
@ -3017,6 +3033,17 @@ bool NppParameters::writeGUIParams()
|
||||||
else
|
else
|
||||||
childNode->InsertEndChild(TiXmlText(pStr));
|
childNode->InsertEndChild(TiXmlText(pStr));
|
||||||
}
|
}
|
||||||
|
else if (!strcmp(nm, "MenuBar"))
|
||||||
|
{
|
||||||
|
const char *pStr = _nppGUI._menuBarShow?"show":"hide";
|
||||||
|
TiXmlNode *n = childNode->FirstChild();
|
||||||
|
if (n)
|
||||||
|
n->SetValue(pStr);
|
||||||
|
else
|
||||||
|
childNode->InsertEndChild(TiXmlText(pStr));
|
||||||
|
|
||||||
|
menuBarExist = true;
|
||||||
|
}
|
||||||
else if (!strcmp(nm, "TabBar"))
|
else if (!strcmp(nm, "TabBar"))
|
||||||
{
|
{
|
||||||
const char *pStr = (_nppGUI._tabStatus & TAB_DRAWTOPBAR)?"yes":"no";
|
const char *pStr = (_nppGUI._tabStatus & TAB_DRAWTOPBAR)?"yes":"no";
|
||||||
|
@ -3418,6 +3445,14 @@ bool NppParameters::writeGUIParams()
|
||||||
GUIConfigElement->InsertEndChild(TiXmlText(_nppGUI._definedSessionExt.c_str()));
|
GUIConfigElement->InsertEndChild(TiXmlText(_nppGUI._definedSessionExt.c_str()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!menuBarExist)
|
||||||
|
{
|
||||||
|
//const char *pStr = bVal?"yes":"no";
|
||||||
|
TiXmlElement *GUIConfigElement = (GUIRoot->InsertEndChild(TiXmlElement("GUIConfig")))->ToElement();
|
||||||
|
GUIConfigElement->SetAttribute("name", "MenuBar");
|
||||||
|
GUIConfigElement->InsertEndChild(TiXmlText(_nppGUI._menuBarShow?"show":"hide"));
|
||||||
|
}
|
||||||
|
|
||||||
insertDockingParamNode(GUIRoot);
|
insertDockingParamNode(GUIRoot);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -523,7 +523,7 @@ struct PrintSettings {
|
||||||
|
|
||||||
struct NppGUI
|
struct NppGUI
|
||||||
{
|
{
|
||||||
NppGUI() : _toolBarStatus(TB_LARGE), _toolbarShow(true), _statusBarShow(true), \
|
NppGUI() : _toolBarStatus(TB_LARGE), _toolbarShow(true), _statusBarShow(true), _menuBarShow(true),\
|
||||||
_tabStatus(TAB_DRAWTOPBAR | TAB_DRAWINACTIVETAB | TAB_DRAGNDROP),\
|
_tabStatus(TAB_DRAWTOPBAR | TAB_DRAWINACTIVETAB | TAB_DRAGNDROP),\
|
||||||
_splitterPos(POS_HORIZOTAL), _userDefineDlgStatus(UDD_DOCKED), _tabSize(8),\
|
_splitterPos(POS_HORIZOTAL), _userDefineDlgStatus(UDD_DOCKED), _tabSize(8),\
|
||||||
_tabReplacedBySpace(false), _fileAutoDetection(cdEnabled), _checkHistoryFiles(true),\
|
_tabReplacedBySpace(false), _fileAutoDetection(cdEnabled), _checkHistoryFiles(true),\
|
||||||
|
@ -540,6 +540,7 @@ struct NppGUI
|
||||||
toolBarStatusType _toolBarStatus; // small, large ou standard
|
toolBarStatusType _toolBarStatus; // small, large ou standard
|
||||||
bool _toolbarShow;
|
bool _toolbarShow;
|
||||||
bool _statusBarShow; // show ou hide
|
bool _statusBarShow; // show ou hide
|
||||||
|
bool _menuBarShow;
|
||||||
|
|
||||||
// 1st bit : draw top bar;
|
// 1st bit : draw top bar;
|
||||||
// 2nd bit : draw inactive tabs
|
// 2nd bit : draw inactive tabs
|
||||||
|
@ -803,6 +804,8 @@ public:
|
||||||
return _langList[i];
|
return _langList[i];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
int getNbLang() const {return _nbLang;};
|
||||||
|
|
||||||
const char * getLangExtFromName(const char *langName) const {
|
const char * getLangExtFromName(const char *langName) const {
|
||||||
for (int i = 0 ; i < _nbLang ; i++)
|
for (int i = 0 ; i < _nbLang ; i++)
|
||||||
{
|
{
|
||||||
|
|
|
@ -342,14 +342,14 @@ private :
|
||||||
bool _reloadOnSwitchBack;
|
bool _reloadOnSwitchBack;
|
||||||
|
|
||||||
Lang * getCurrentLang() const {
|
Lang * getCurrentLang() const {
|
||||||
int i = 0 ;
|
NppParameters *pNppParam = NppParameters::getInstance();
|
||||||
Lang *l = NppParameters::getInstance()->getLangFromIndex(i++);
|
int i = pNppParam->getNbLang();
|
||||||
while (l)
|
while (i >= 0)
|
||||||
{
|
{
|
||||||
|
Lang *l = pNppParam->getLangFromIndex(i--);
|
||||||
if (l->_langID == _lang)
|
if (l->_langID == _lang)
|
||||||
return l;
|
return l;
|
||||||
|
//l = (NppParameters::getInstance())->getLangFromIndex(i++);
|
||||||
l = (NppParameters::getInstance())->getLangFromIndex(i++);
|
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
};
|
};
|
||||||
|
|
|
@ -118,6 +118,7 @@ BOOL CALLBACK BarsDlg::run_dlgProc(UINT Message, WPARAM wParam, LPARAM lParam)
|
||||||
int tabBarStatus = nppGUI._tabStatus;
|
int tabBarStatus = nppGUI._tabStatus;
|
||||||
bool showTool = nppGUI._toolbarShow;
|
bool showTool = nppGUI._toolbarShow;
|
||||||
bool showStatus = nppGUI._statusBarShow;
|
bool showStatus = nppGUI._statusBarShow;
|
||||||
|
bool showMenu = nppGUI._menuBarShow;
|
||||||
|
|
||||||
|
|
||||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_HIDE, BM_SETCHECK, showTool?BST_UNCHECKED:BST_CHECKED, 0);
|
::SendDlgItemMessage(_hSelf, IDC_CHECK_HIDE, BM_SETCHECK, showTool?BST_UNCHECKED:BST_CHECKED, 0);
|
||||||
|
@ -148,6 +149,7 @@ BOOL CALLBACK BarsDlg::run_dlgProc(UINT Message, WPARAM wParam, LPARAM lParam)
|
||||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_TAB_HIDE, BM_SETCHECK, tabBarStatus & TAB_HIDE, 0);
|
::SendDlgItemMessage(_hSelf, IDC_CHECK_TAB_HIDE, BM_SETCHECK, tabBarStatus & TAB_HIDE, 0);
|
||||||
::SendMessage(_hSelf, WM_COMMAND, IDC_CHECK_TAB_HIDE, 0);
|
::SendMessage(_hSelf, WM_COMMAND, IDC_CHECK_TAB_HIDE, 0);
|
||||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_SHOWSTATUSBAR, BM_SETCHECK, showStatus, 0);
|
::SendDlgItemMessage(_hSelf, IDC_CHECK_SHOWSTATUSBAR, BM_SETCHECK, showStatus, 0);
|
||||||
|
::SendDlgItemMessage(_hSelf, IDC_CHECK_HIDEMENUBAR, BM_SETCHECK, !showMenu, 0);
|
||||||
|
|
||||||
if (!nppGUI._doTaskList)
|
if (!nppGUI._doTaskList)
|
||||||
{
|
{
|
||||||
|
@ -169,6 +171,10 @@ BOOL CALLBACK BarsDlg::run_dlgProc(UINT Message, WPARAM wParam, LPARAM lParam)
|
||||||
::SendMessage(_hParent, WM_COMMAND, IDM_VIEW_STATUSBAR, 0);
|
::SendMessage(_hParent, WM_COMMAND, IDM_VIEW_STATUSBAR, 0);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
|
case IDC_CHECK_HIDEMENUBAR :
|
||||||
|
::SendMessage(_hParent, WM_COMMAND, IDM_VIEW_HIDEMENU, 0);
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
case IDC_CHECK_TAB_HIDE :
|
case IDC_CHECK_TAB_HIDE :
|
||||||
{
|
{
|
||||||
bool toBeHidden = (BST_CHECKED == ::SendMessage(::GetDlgItem(_hSelf, IDC_CHECK_TAB_HIDE), BM_GETCHECK, 0, 0));
|
bool toBeHidden = (BST_CHECKED == ::SendMessage(::GetDlgItem(_hSelf, IDC_CHECK_TAB_HIDE), BM_GETCHECK, 0, 0));
|
||||||
|
|
|
@ -92,6 +92,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#define IDC_CHECK_AUTOUPDATE (IDD_PREFERENCE_SETTING_BOX + 23)
|
#define IDC_CHECK_AUTOUPDATE (IDD_PREFERENCE_SETTING_BOX + 23)
|
||||||
#define IDC_DOCUMENTSWITCHER_STATIC (IDD_PREFERENCE_SETTING_BOX + 24)
|
#define IDC_DOCUMENTSWITCHER_STATIC (IDD_PREFERENCE_SETTING_BOX + 24)
|
||||||
#define IDC_CHECK_UPDATEGOTOEOF (IDD_PREFERENCE_SETTING_BOX + 25)
|
#define IDC_CHECK_UPDATEGOTOEOF (IDD_PREFERENCE_SETTING_BOX + 25)
|
||||||
|
#define IDC_CHECK_ENABLEMAEKALLWORDS (IDD_PREFERENCE_SETTING_BOX + 26)
|
||||||
|
|
||||||
#define IDD_PREFERENCE_NEWDOCSETTING_BOX 6400 //(IDD_PREFERENCE_BOX + 400)
|
#define IDD_PREFERENCE_NEWDOCSETTING_BOX 6400 //(IDD_PREFERENCE_BOX + 400)
|
||||||
#define IDC_FORMAT_GB_STATIC (IDD_PREFERENCE_NEWDOCSETTING_BOX + 1)
|
#define IDC_FORMAT_GB_STATIC (IDD_PREFERENCE_NEWDOCSETTING_BOX + 1)
|
||||||
|
|
|
@ -147,7 +147,7 @@
|
||||||
#define IDM_VIEW_HIDELINES (IDM_VIEW + 42)
|
#define IDM_VIEW_HIDELINES (IDM_VIEW + 42)
|
||||||
#define IDM_VIEW_DRAWTABBAR_VERTICAL (IDM_VIEW + 43)
|
#define IDM_VIEW_DRAWTABBAR_VERTICAL (IDM_VIEW + 43)
|
||||||
#define IDM_VIEW_DRAWTABBAR_MULTILINE (IDM_VIEW + 44)
|
#define IDM_VIEW_DRAWTABBAR_MULTILINE (IDM_VIEW + 44)
|
||||||
//#define (IDM_VIEW + 45)
|
#define IDM_VIEW_HIDEMENU (IDM_VIEW + 45)
|
||||||
|
|
||||||
#define IDM_VIEW_FOLD (IDM_VIEW + 50)
|
#define IDM_VIEW_FOLD (IDM_VIEW + 50)
|
||||||
#define IDM_VIEW_FOLD_1 (IDM_VIEW_FOLD + 1)
|
#define IDM_VIEW_FOLD_1 (IDM_VIEW_FOLD + 1)
|
||||||
|
|
Loading…
Reference in New Issue