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