[NEW_FEATURE] Comment (Ctrl+K) and Uncomment (Ctrl+Shift+K) is separated now.
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository@81 f5eea248-9336-0410-98b8-ebc06183d4e3
This commit is contained in:
parent
fd501da2b3
commit
50ad915434
@ -1237,6 +1237,8 @@ void Notepad_plus::checkClipboard()
|
||||
enableCommand(IDM_EDIT_UPPERCASE, hasSelection, MENU);
|
||||
enableCommand(IDM_EDIT_LOWERCASE, hasSelection, MENU);
|
||||
enableCommand(IDM_EDIT_BLOCK_COMMENT, hasSelection, MENU);
|
||||
enableCommand(IDM_EDIT_BLOCK_COMMENT_SET, hasSelection, MENU);
|
||||
enableCommand(IDM_EDIT_BLOCK_UNCOMMENT, hasSelection, MENU);
|
||||
enableCommand(IDM_EDIT_STREAM_COMMENT, hasSelection, MENU);
|
||||
}
|
||||
|
||||
@ -2773,7 +2775,15 @@ void Notepad_plus::command(int id)
|
||||
break;
|
||||
|
||||
case IDM_EDIT_BLOCK_COMMENT:
|
||||
doBlockComment();
|
||||
doBlockComment(cm_toggle);
|
||||
break;
|
||||
|
||||
case IDM_EDIT_BLOCK_COMMENT_SET:
|
||||
doBlockComment(cm_comment);
|
||||
break;
|
||||
|
||||
case IDM_EDIT_BLOCK_UNCOMMENT:
|
||||
doBlockComment(cm_uncomment);
|
||||
break;
|
||||
|
||||
case IDM_EDIT_STREAM_COMMENT:
|
||||
@ -3793,6 +3803,8 @@ void Notepad_plus::command(int id)
|
||||
case IDM_EDIT_UPPERCASE:
|
||||
case IDM_EDIT_LOWERCASE:
|
||||
case IDM_EDIT_BLOCK_COMMENT:
|
||||
case IDM_EDIT_BLOCK_COMMENT_SET:
|
||||
case IDM_EDIT_BLOCK_UNCOMMENT:
|
||||
case IDM_EDIT_STREAM_COMMENT:
|
||||
case IDM_EDIT_TRIMTRAILING:
|
||||
case IDM_EDIT_SETREADONLY :
|
||||
@ -5109,7 +5121,7 @@ static string extractSymbol(char prefix, const char *str2extract)
|
||||
return string(extracted);
|
||||
};
|
||||
|
||||
bool Notepad_plus::doBlockComment()
|
||||
bool Notepad_plus::doBlockComment(comment_mode currCommentMode)
|
||||
{
|
||||
const char *commentLineSybol;
|
||||
string symbol;
|
||||
@ -5165,6 +5177,8 @@ bool Notepad_plus::doBlockComment()
|
||||
// empty lines are not commented
|
||||
if (strlen(linebuf) < 1)
|
||||
continue;
|
||||
if (currCommentMode != cm_comment)
|
||||
{
|
||||
if (memcmp(linebuf, comment.c_str(), comment_length - 1) == 0)
|
||||
{
|
||||
if (memcmp(linebuf, long_comment.c_str(), comment_length) == 0)
|
||||
@ -5188,11 +5202,15 @@ bool Notepad_plus::doBlockComment()
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ((currCommentMode == cm_toggle) || (currCommentMode == cm_comment))
|
||||
{
|
||||
if (i == selStartLine) // is this the first selected line?
|
||||
selectionStart += comment_length;
|
||||
selectionEnd += comment_length; // every iteration
|
||||
_pEditView->execute(SCI_INSERTTEXT, lineIndent, (WPARAM)long_comment.c_str());
|
||||
}
|
||||
}
|
||||
// after uncommenting selection may promote itself to the lines
|
||||
// before the first initially selected line;
|
||||
// another problem - if only comment symbol was selected;
|
||||
|
@ -78,6 +78,7 @@ struct iconLocator {
|
||||
class FileDialog;
|
||||
|
||||
class Notepad_plus : public Window {
|
||||
enum comment_mode {cm_comment, cm_uncomment, cm_toggle};
|
||||
public:
|
||||
Notepad_plus();
|
||||
|
||||
@ -310,7 +311,7 @@ public:
|
||||
const char * getNativeTip(int btnID);
|
||||
void changeToolBarIcons();
|
||||
|
||||
bool doBlockComment();
|
||||
bool doBlockComment(comment_mode currCommentMode);
|
||||
bool doStreamComment();
|
||||
void doTrimTrailing() {
|
||||
_pEditView->execute(SCI_BEGINUNDOACTION);
|
||||
|
@ -291,7 +291,9 @@ BEGIN
|
||||
MENUITEM "to &Upper case\tCtrl+Shift+U", IDM_EDIT_UPPERCASE
|
||||
MENUITEM "to &Lower case\tCtrl+U", IDM_EDIT_LOWERCASE
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Block comment/uncomment\tCtrl+Q", IDM_EDIT_BLOCK_COMMENT
|
||||
MENUITEM "Block toggle comment \tCtrl+Q", IDM_EDIT_BLOCK_COMMENT
|
||||
MENUITEM "Block comment\tCtrl+K", IDM_EDIT_BLOCK_COMMENT_SET
|
||||
MENUITEM "Block uncomment\tCtrl+Shift+K", IDM_EDIT_BLOCK_UNCOMMENT
|
||||
MENUITEM "Stream comment\tCtrl+Shift+Q", IDM_EDIT_STREAM_COMMENT
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Function completion\tCtrl+SPACE", IDM_EDIT_AUTOCOMPLETE
|
||||
@ -575,6 +577,8 @@ BEGIN
|
||||
"R", IDC_EDIT_TOGGLEMACRORECORDING, VIRTKEY, CONTROL, SHIFT
|
||||
"P", IDM_MACRO_PLAYBACKRECORDEDMACRO, VIRTKEY, CONTROL, SHIFT
|
||||
"Q", IDM_EDIT_BLOCK_COMMENT, VIRTKEY, CONTROL
|
||||
"K", IDM_EDIT_BLOCK_COMMENT_SET, VIRTKEY, CONTROL
|
||||
"K", IDM_EDIT_BLOCK_UNCOMMENT, VIRTKEY, CONTROL, SHIFT
|
||||
"Q", IDM_EDIT_STREAM_COMMENT, VIRTKEY, CONTROL, SHIFT
|
||||
"V", IDM_EDIT_PASTE, VIRTKEY, CONTROL
|
||||
|
||||
|
@ -73,6 +73,9 @@
|
||||
|
||||
#define IDM_EDIT_CLEARREADONLY (IDM_EDIT+33)
|
||||
#define IDM_EDIT_COLUMNMODE (IDM_EDIT+34)
|
||||
#define IDM_EDIT_BLOCK_COMMENT_SET (IDM_EDIT+35)
|
||||
#define IDM_EDIT_BLOCK_UNCOMMENT (IDM_EDIT+36)
|
||||
|
||||
#define IDM_EDIT_AUTOCOMPLETE (50000+0)
|
||||
#define IDM_EDIT_AUTOCOMPLETE_CURRENTFILE (50000+1)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user