mirror of
https://github.com/notepad-plus-plus/notepad-plus-plus.git
synced 2025-07-04 04:24:38 +02:00
Enable/disable ext column from Document list directely
* Enable/disable ext column via the context menu. * The ext column checkbox is removed from the preferences dialog. * Cleaned up localization file Fix #10468, close #10485
This commit is contained in:
parent
55f2644953
commit
ef8522e4aa
@ -838,9 +838,6 @@ The comments are here for explanation, it's not necessary to translate them.
|
|||||||
<Item id="6122" name="Hide menu bar (use Alt or F10 key to toggle)"/>
|
<Item id="6122" name="Hide menu bar (use Alt or F10 key to toggle)"/>
|
||||||
<Item id="6123" name="Localization"/>
|
<Item id="6123" name="Localization"/>
|
||||||
|
|
||||||
<Item id="6125" name="Document List Panel"/>
|
|
||||||
<Item id="6127" name="Disable extension column"/>
|
|
||||||
|
|
||||||
<Item id="6128" name="Alternate icons"/>
|
<Item id="6128" name="Alternate icons"/>
|
||||||
</Global>
|
</Global>
|
||||||
<Scintillas title="Editing">
|
<Scintillas title="Editing">
|
||||||
|
@ -46,9 +46,6 @@ BEGIN
|
|||||||
CONTROL "Filled Fluent UI: small",IDC_RADIO_SMALLICON2,"Button",BS_AUTORADIOBUTTON,64,73,114,10
|
CONTROL "Filled Fluent UI: small",IDC_RADIO_SMALLICON2,"Button",BS_AUTORADIOBUTTON,64,73,114,10
|
||||||
CONTROL "Filled Fluent UI: large",IDC_RADIO_BIGICON2,"Button",BS_AUTORADIOBUTTON,64,87,109,10
|
CONTROL "Filled Fluent UI: large",IDC_RADIO_BIGICON2,"Button",BS_AUTORADIOBUTTON,64,87,109,10
|
||||||
CONTROL "Standard icons: small",IDC_RADIO_STANDARD,"Button",BS_AUTORADIOBUTTON,64,101,119,10
|
CONTROL "Standard icons: small",IDC_RADIO_STANDARD,"Button",BS_AUTORADIOBUTTON,64,101,119,10
|
||||||
GROUPBOX "Document List Panel",IDC_DOCLIST_GB_STATIC,57,125,147,37,BS_CENTER
|
|
||||||
CONTROL "Disable extension column",IDC_CHECK_DOCLIST_NOEXTCOLUMN,
|
|
||||||
"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,64,140,124,10
|
|
||||||
GROUPBOX "Tab Bar",IDC_TABBAR_GB_STATIC,223,6,176,156,BS_CENTER
|
GROUPBOX "Tab Bar",IDC_TABBAR_GB_STATIC,223,6,176,156,BS_CENTER
|
||||||
CONTROL "Hide",IDC_CHECK_TAB_HIDE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,229,15,108,10
|
CONTROL "Hide",IDC_CHECK_TAB_HIDE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,229,15,108,10
|
||||||
CONTROL "Multi-line",IDC_CHECK_TAB_MULTILINE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,229,29,134,10
|
CONTROL "Multi-line",IDC_CHECK_TAB_MULTILINE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,229,29,134,10
|
||||||
@ -65,7 +62,7 @@ BEGIN
|
|||||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,229,132,133,10
|
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,229,132,133,10
|
||||||
CONTROL "Exit on close the last tab",IDC_CHECK_TAB_LAST_EXIT,
|
CONTROL "Exit on close the last tab",IDC_CHECK_TAB_LAST_EXIT,
|
||||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,229,145,165,10
|
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,229,145,165,10
|
||||||
CONTROL "Show status bar",IDC_CHECK_SHOWSTATUSBAR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,57,169,130,10
|
CONTROL "Show status bar",IDC_CHECK_SHOWSTATUSBAR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,64,132,130,10
|
||||||
CONTROL "Hide menu bar (use Alt or F10 key to toggle)",IDC_CHECK_HIDEMENUBAR,
|
CONTROL "Hide menu bar (use Alt or F10 key to toggle)",IDC_CHECK_HIDEMENUBAR,
|
||||||
"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,223,169,218,10
|
"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,223,169,218,10
|
||||||
END
|
END
|
||||||
|
@ -475,8 +475,6 @@ INT_PTR CALLBACK GeneralSubDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM)
|
|||||||
::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);
|
::SendDlgItemMessage(_hSelf, IDC_CHECK_HIDEMENUBAR, BM_SETCHECK, !showMenu, 0);
|
||||||
|
|
||||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_DOCLIST_NOEXTCOLUMN, BM_SETCHECK, nppGUI._fileSwitcherWithoutExtColumn, 0);
|
|
||||||
|
|
||||||
LocalizationSwitcher & localizationSwitcher = nppParam.getLocalizationSwitcher();
|
LocalizationSwitcher & localizationSwitcher = nppParam.getLocalizationSwitcher();
|
||||||
|
|
||||||
for (size_t i = 0, len = localizationSwitcher.size(); i < len ; ++i)
|
for (size_t i = 0, len = localizationSwitcher.size(); i < len ; ++i)
|
||||||
@ -544,13 +542,6 @@ INT_PTR CALLBACK GeneralSubDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM)
|
|||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
case IDC_CHECK_DOCLIST_NOEXTCOLUMN :
|
|
||||||
{
|
|
||||||
bool isChecked = (BST_CHECKED == ::SendDlgItemMessage(_hSelf, IDC_CHECK_DOCLIST_NOEXTCOLUMN, BM_GETCHECK, 0, 0));
|
|
||||||
::SendMessage(::GetParent(_hParent), NPPM_DOCLISTDISABLECOLUMN, 0, isChecked?TRUE:FALSE);
|
|
||||||
}
|
|
||||||
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));
|
||||||
|
@ -51,8 +51,6 @@
|
|||||||
#define IDC_CHECK_HIDEMENUBAR (IDD_PREFERENCE_SUB_GENRAL + 22)
|
#define IDC_CHECK_HIDEMENUBAR (IDD_PREFERENCE_SUB_GENRAL + 22)
|
||||||
#define IDC_LOCALIZATION_GB_STATIC (IDD_PREFERENCE_SUB_GENRAL + 23)
|
#define IDC_LOCALIZATION_GB_STATIC (IDD_PREFERENCE_SUB_GENRAL + 23)
|
||||||
#define IDC_COMBO_LOCALIZATION (IDD_PREFERENCE_SUB_GENRAL + 24)
|
#define IDC_COMBO_LOCALIZATION (IDD_PREFERENCE_SUB_GENRAL + 24)
|
||||||
#define IDC_DOCLIST_GB_STATIC (IDD_PREFERENCE_SUB_GENRAL + 25)
|
|
||||||
#define IDC_CHECK_DOCLIST_NOEXTCOLUMN (IDD_PREFERENCE_SUB_GENRAL + 27)
|
|
||||||
#define IDC_CHECK_TAB_ALTICONS (IDD_PREFERENCE_SUB_GENRAL + 28)
|
#define IDC_CHECK_TAB_ALTICONS (IDD_PREFERENCE_SUB_GENRAL + 28)
|
||||||
#define IDC_RADIO_SMALLICON2 (IDD_PREFERENCE_SUB_GENRAL + 29)
|
#define IDC_RADIO_SMALLICON2 (IDD_PREFERENCE_SUB_GENRAL + 29)
|
||||||
#define IDC_RADIO_BIGICON2 (IDD_PREFERENCE_SUB_GENRAL + 30)
|
#define IDC_RADIO_BIGICON2 (IDD_PREFERENCE_SUB_GENRAL + 30)
|
||||||
|
@ -20,6 +20,12 @@
|
|||||||
#include "menuCmdID.h"
|
#include "menuCmdID.h"
|
||||||
#include "Parameters.h"
|
#include "Parameters.h"
|
||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
|
#include "localization.h"
|
||||||
|
|
||||||
|
#define GET_X_LPARAM(lp) static_cast<short>(LOWORD(lp))
|
||||||
|
#define GET_Y_LPARAM(lp) static_cast<short>(HIWORD(lp))
|
||||||
|
|
||||||
|
#define CLMNEXT_ID 1
|
||||||
|
|
||||||
int CALLBACK ListViewCompareProc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
|
int CALLBACK ListViewCompareProc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
|
||||||
{
|
{
|
||||||
@ -64,6 +70,8 @@ INT_PTR CALLBACK VerticalFileSwitcher::run_dlgProc(UINT message, WPARAM wParam,
|
|||||||
{
|
{
|
||||||
case WM_INITDIALOG :
|
case WM_INITDIALOG :
|
||||||
{
|
{
|
||||||
|
VerticalFileSwitcher::initPopupMenus();
|
||||||
|
|
||||||
_fileListView.init(_hInst, _hSelf, _hImaLst);
|
_fileListView.init(_hInst, _hSelf, _hImaLst);
|
||||||
_fileListView.initList();
|
_fileListView.initList();
|
||||||
_fileListView.display();
|
_fileListView.display();
|
||||||
@ -127,7 +135,7 @@ INT_PTR CALLBACK VerticalFileSwitcher::run_dlgProc(UINT message, WPARAM wParam,
|
|||||||
|
|
||||||
if (lpnmitem->hdr.hwndFrom != _fileListView.getHSelf())
|
if (lpnmitem->hdr.hwndFrom != _fileListView.getHSelf())
|
||||||
{
|
{
|
||||||
// Do nothing
|
colHeaderRClick = true;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -226,9 +234,26 @@ INT_PTR CALLBACK VerticalFileSwitcher::run_dlgProc(UINT message, WPARAM wParam,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case WM_CONTEXTMENU:
|
||||||
|
{
|
||||||
|
if (nbSelectedFiles() == 0 || colHeaderRClick)
|
||||||
|
{
|
||||||
|
::TrackPopupMenu(_hGlobalMenu, TPM_LEFTALIGN, GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam), 0, _hSelf, NULL);
|
||||||
|
colHeaderRClick = false;
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
case WM_COMMAND:
|
||||||
|
{
|
||||||
|
popupMenuCmd(LOWORD(wParam));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case WM_DESTROY:
|
case WM_DESTROY:
|
||||||
{
|
{
|
||||||
_fileListView.destroy();
|
_fileListView.destroy();
|
||||||
|
::DestroyMenu(_hGlobalMenu);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -238,6 +263,33 @@ INT_PTR CALLBACK VerticalFileSwitcher::run_dlgProc(UINT message, WPARAM wParam,
|
|||||||
return DockingDlgInterface::run_dlgProc(message, wParam, lParam);
|
return DockingDlgInterface::run_dlgProc(message, wParam, lParam);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void VerticalFileSwitcher::initPopupMenus()
|
||||||
|
{
|
||||||
|
NativeLangSpeaker* pNativeSpeaker = NppParameters::getInstance().getNativeLangSpeaker();
|
||||||
|
|
||||||
|
generic_string extStr = pNativeSpeaker->getAttrNameStr(TEXT("Ext."), FS_ROOTNODE, FS_CLMNEXT);
|
||||||
|
|
||||||
|
_hGlobalMenu = ::CreatePopupMenu();
|
||||||
|
::InsertMenu(_hGlobalMenu, 0, MF_BYCOMMAND, CLMNEXT_ID, extStr.c_str());
|
||||||
|
|
||||||
|
bool isExtColumn = NppParameters::getInstance().getNppGUI()._fileSwitcherWithoutExtColumn;
|
||||||
|
::CheckMenuItem(_hGlobalMenu, CLMNEXT_ID, MF_BYCOMMAND | isExtColumn ? MF_UNCHECKED : MF_CHECKED);
|
||||||
|
}
|
||||||
|
|
||||||
|
void VerticalFileSwitcher::popupMenuCmd(int cmdID)
|
||||||
|
{
|
||||||
|
switch (cmdID)
|
||||||
|
{
|
||||||
|
case CLMNEXT_ID:
|
||||||
|
{
|
||||||
|
bool& isExtColumn = NppParameters::getInstance().getNppGUI()._fileSwitcherWithoutExtColumn;
|
||||||
|
isExtColumn = !isExtColumn;
|
||||||
|
::CheckMenuItem(_hGlobalMenu, CLMNEXT_ID, MF_BYCOMMAND | isExtColumn ? MF_UNCHECKED : MF_CHECKED);
|
||||||
|
reload();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void VerticalFileSwitcher::activateDoc(TaskLstFnStatus *tlfs) const
|
void VerticalFileSwitcher::activateDoc(TaskLstFnStatus *tlfs) const
|
||||||
{
|
{
|
||||||
|
@ -101,8 +101,13 @@ public:
|
|||||||
_fileListView.setForegroundColor(fgColour);
|
_fileListView.setForegroundColor(fgColour);
|
||||||
};
|
};
|
||||||
protected:
|
protected:
|
||||||
|
HMENU _hGlobalMenu = NULL;
|
||||||
|
|
||||||
virtual INT_PTR CALLBACK run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam);
|
virtual INT_PTR CALLBACK run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam);
|
||||||
|
void initPopupMenus();
|
||||||
|
void popupMenuCmd(int cmdID);
|
||||||
private:
|
private:
|
||||||
|
bool colHeaderRClick = false;
|
||||||
int _lastSortingColumn = 0;
|
int _lastSortingColumn = 0;
|
||||||
int _lastSortingDirection = SORT_DIRECTION_NONE;
|
int _lastSortingDirection = SORT_DIRECTION_NONE;
|
||||||
VerticalFileSwitcherListView _fileListView;
|
VerticalFileSwitcherListView _fileListView;
|
||||||
|
@ -20,10 +20,6 @@
|
|||||||
#include "Buffer.h"
|
#include "Buffer.h"
|
||||||
#include "localization.h"
|
#include "localization.h"
|
||||||
|
|
||||||
#define FS_ROOTNODE "DocList"
|
|
||||||
#define FS_CLMNNAME "ColumnName"
|
|
||||||
#define FS_CLMNEXT "ColumnExt"
|
|
||||||
|
|
||||||
void VerticalFileSwitcherListView::init(HINSTANCE hInst, HWND parent, HIMAGELIST hImaLst)
|
void VerticalFileSwitcherListView::init(HINSTANCE hInst, HWND parent, HIMAGELIST hImaLst)
|
||||||
{
|
{
|
||||||
Window::init(hInst, parent);
|
Window::init(hInst, parent);
|
||||||
|
@ -27,6 +27,10 @@ typedef Buffer * BufferID; //each buffer has unique ID by which it can be retrie
|
|||||||
#define SORT_DIRECTION_UP 0
|
#define SORT_DIRECTION_UP 0
|
||||||
#define SORT_DIRECTION_DOWN 1
|
#define SORT_DIRECTION_DOWN 1
|
||||||
|
|
||||||
|
#define FS_ROOTNODE "DocList"
|
||||||
|
#define FS_CLMNNAME "ColumnName"
|
||||||
|
#define FS_CLMNEXT "ColumnExt"
|
||||||
|
|
||||||
struct SwitcherFileInfo {
|
struct SwitcherFileInfo {
|
||||||
BufferID _bufID;
|
BufferID _bufID;
|
||||||
int _iView;
|
int _iView;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user