diff --git a/components/jcf2/IdePlugin/lazarus/jcfidemain.pas b/components/jcf2/IdePlugin/lazarus/jcfidemain.pas index 3c9de64218..d3b4c3ee7c 100644 --- a/components/jcf2/IdePlugin/lazarus/jcfidemain.pas +++ b/components/jcf2/IdePlugin/lazarus/jcfidemain.pas @@ -46,7 +46,7 @@ uses // local EditorConverter, FileConverter, Converter, ConvertTypes, JcfUIConsts, JcfStringUtils, JcfSettings, fAbout, frFiles, - JcfRegistrySettings, fRegistrySettings; + JcfRegistrySettings, fRegistrySettings, SettingsTypes; type @@ -77,6 +77,7 @@ type procedure DoFormatCurrentIDEWindow(Sender: TObject); procedure DoFormatProject(Sender: TObject); procedure DoFormatOpen(Sender: TObject); + procedure DoRemoveCommentsInCurrentIDEWindow(Sender: TObject); procedure DoRegistrySettings(Sender: TObject); procedure DoFormatSettings(Sender: TObject); procedure DoAbout(Sender: TObject); @@ -215,6 +216,37 @@ begin fcEditorConverter.AfterConvert; end; +procedure TJcfIdeMain.DoRemoveCommentsInCurrentIDEWindow(Sender: TObject); +var + lcCaps : TCapitalisationType; + lbEnabled,lbRemoveComments,lbRemoveWhiteSpace,lbRemoveIndent,lbRebreakLines:boolean; +begin + try + lbEnabled := FormattingSettings.Obfuscate.Enabled; + lcCaps := FormattingSettings.Obfuscate.Caps; + lbRemoveComments := FormattingSettings.Obfuscate.RemoveComments; + lbRemoveWhiteSpace := FormattingSettings.Obfuscate.RemoveWhiteSpace; + lbRemoveIndent := FormattingSettings.Obfuscate.RemoveIndent; + lbRebreakLines := FormattingSettings.Obfuscate.RebreakLines; + + FormattingSettings.Obfuscate.Enabled := True; + FormattingSettings.Obfuscate.Caps := ctLeaveAlone; + FormattingSettings.Obfuscate.RemoveComments := True; + FormattingSettings.Obfuscate.RemoveWhiteSpace := False; + FormattingSettings.Obfuscate.RemoveIndent := False; + FormattingSettings.Obfuscate.RebreakLines := False; + + DoFormatCurrentIDEWindow(Sender); + finally + //restore settings. + FormattingSettings.Obfuscate.Enabled := lbEnabled; + FormattingSettings.Obfuscate.Caps := lcCaps; + FormattingSettings.Obfuscate.RemoveComments := lbRemoveComments; + FormattingSettings.Obfuscate.RemoveWhiteSpace := lbRemoveWhiteSpace; + FormattingSettings.Obfuscate.RemoveIndent := lbRemoveIndent; + FormattingSettings.Obfuscate.RebreakLines := lbRebreakLines; + end; +end; procedure TJcfIdeMain.FormatFile(const psFileName: string); begin diff --git a/components/jcf2/IdePlugin/lazarus/jcfideregister.pas b/components/jcf2/IdePlugin/lazarus/jcfideregister.pas index c288e0fcc8..12356abf74 100644 --- a/components/jcf2/IdePlugin/lazarus/jcfideregister.pas +++ b/components/jcf2/IdePlugin/lazarus/jcfideregister.pas @@ -72,6 +72,7 @@ const FORMAT_CURRENT_NAME = 'jcfCurrentEditorWindow'; FORMAT_PROJECT_MENU_NAME = 'jcfAllFilesinProject'; FORMAT_OPEN_MENU_NAME = 'jcfAllOpenWindows'; + FORMAT_REMOVE_COMMENTS_NAME = 'jcfRemoveComments'; FORMAT_SETTINGS_MENU_NAME = 'jcfFormatSettings'; FORMAT_REG_SETTINGS_MENU_NAME = 'jcfRegSettings'; FORMAT_ABOUT_MENU_NAME = 'jcfAbout'; @@ -140,6 +141,12 @@ begin RegisterIDEMenuCommand(fcMainMenu, FORMAT_OPEN_MENU_NAME, FORMAT_OPEN_MENU, lcJCFIDE.DoFormatOpen); + Key := IDEShortCut(VK_UNKNOWN,[],VK_UNKNOWN, []); + Cmd := RegisterIDECommand(Cat, FORMAT_REMOVE_COMMENTS_NAME, FORMAT_REMOVE_COMMENTS, + Key, lcJCFIDE.DoRemoveCommentsInCurrentIDEWindow); + RegisterIDEMenuCommand(fcMainMenu, FORMAT_REMOVE_COMMENTS_NAME, FORMAT_REMOVE_COMMENTS, + lcJCFIDE.DoRemoveCommentsInCurrentIDEWindow, nil, Cmd); + // settings SubSection := RegisterIDEMenuSection(fcMainMenu, FORMAT_MENU_SECTION1); RegisterIDEMenuCommand(SubSection, FORMAT_REG_SETTINGS_MENU_NAME, FORMAT_REG_SETTINGS_MENU, diff --git a/components/jcf2/IdePlugin/lazarus/jcfuiconsts.pas b/components/jcf2/IdePlugin/lazarus/jcfuiconsts.pas index ad7b2ffa06..5938a66bc4 100644 --- a/components/jcf2/IdePlugin/lazarus/jcfuiconsts.pas +++ b/components/jcf2/IdePlugin/lazarus/jcfuiconsts.pas @@ -10,6 +10,7 @@ resourcestring FORMAT_CURRENT_IDECMD = 'Format code in current editor window'; FORMAT_PROJECT_MENU = '&All Files in Project'; FORMAT_OPEN_MENU = 'All &Open Windows'; + FORMAT_REMOVE_COMMENTS = 'Remove comments in current editor window'; FORMAT_SETTINGS_MENU = '&Format Settings ...'; FORMAT_REG_SETTINGS_MENU= 'Global Settings ...'; FORMAT_ABOUT_MENU = '&About ...'; diff --git a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.cs.po b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.cs.po index 7cb50d042c..a84a26f093 100644 --- a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.cs.po +++ b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.cs.po @@ -48,6 +48,10 @@ msgstr "&Všechny soubory v Projektu" msgid "Global Settings ..." msgstr "" +#: jcfuiconsts.format_remove_comments +msgid "Remove comments in current editor window" +msgstr "" + #: jcfuiconsts.format_settings_menu #, fuzzy #| msgid "&Format Settings" diff --git a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.de.po b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.de.po index aba3d4cbb5..4a8e5d0761 100644 --- a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.de.po +++ b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.de.po @@ -47,6 +47,10 @@ msgstr "&Alle Dateien im Projekt" msgid "Global Settings ..." msgstr "" +#: jcfuiconsts.format_remove_comments +msgid "Remove comments in current editor window" +msgstr "" + #: jcfuiconsts.format_settings_menu #, fuzzy #| msgid "&Format Settings" diff --git a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.es.po b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.es.po index 61e525c716..b8d5caee09 100644 --- a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.es.po +++ b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.es.po @@ -47,6 +47,10 @@ msgstr "Todos los Archivos en el &Proyecto" msgid "Global Settings ..." msgstr "" +#: jcfuiconsts.format_remove_comments +msgid "Remove comments in current editor window" +msgstr "" + #: jcfuiconsts.format_settings_menu #, fuzzy #| msgid "&Format Settings" diff --git a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.fr.po b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.fr.po index 7daa1a97e9..7c038edbde 100644 --- a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.fr.po +++ b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.fr.po @@ -49,6 +49,10 @@ msgstr "Tous les fichiers d&ans le projet" msgid "Global Settings ..." msgstr "" +#: jcfuiconsts.format_remove_comments +msgid "Remove comments in current editor window" +msgstr "" + #: jcfuiconsts.format_settings_menu #, fuzzy #| msgid "&Format Settings" diff --git a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.hu.po b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.hu.po index 6e36244a9f..a26914e7fa 100644 --- a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.hu.po +++ b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.hu.po @@ -49,6 +49,10 @@ msgstr "Minden fájl a projektben" msgid "Global Settings ..." msgstr "" +#: jcfuiconsts.format_remove_comments +msgid "Remove comments in current editor window" +msgstr "" + #: jcfuiconsts.format_settings_menu #, fuzzy #| msgid "&Format Settings" diff --git a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.it.po b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.it.po index 6cc97f97d3..177f85e3cc 100644 --- a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.it.po +++ b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.it.po @@ -50,6 +50,10 @@ msgstr "Tutti i file nel &progetto" msgid "Global Settings ..." msgstr "" +#: jcfuiconsts.format_remove_comments +msgid "Remove comments in current editor window" +msgstr "" + #: jcfuiconsts.format_settings_menu #, fuzzy #| msgid "&Format Settings" diff --git a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.ja.po b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.ja.po index 4de96b4569..24a530c5a1 100644 --- a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.ja.po +++ b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.ja.po @@ -49,6 +49,10 @@ msgstr "プロジェクト内すべてのファイル(&A)" msgid "Global Settings ..." msgstr "" +#: jcfuiconsts.format_remove_comments +msgid "Remove comments in current editor window" +msgstr "" + #: jcfuiconsts.format_settings_menu #, fuzzy #| msgid "&Format Settings" diff --git a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.lt.po b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.lt.po index 73de9ba43c..754f5c0d31 100644 --- a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.lt.po +++ b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.lt.po @@ -49,6 +49,10 @@ msgstr "Visuose projekto &failuose" msgid "Global Settings ..." msgstr "" +#: jcfuiconsts.format_remove_comments +msgid "Remove comments in current editor window" +msgstr "" + #: jcfuiconsts.format_settings_menu #, fuzzy #| msgid "&Format Settings" diff --git a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.pl.po b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.pl.po index 1860a6e08b..298fac9680 100644 --- a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.pl.po +++ b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.pl.po @@ -50,6 +50,10 @@ msgstr "Wszystkie pliki projektu" msgid "Global Settings ..." msgstr "" +#: jcfuiconsts.format_remove_comments +msgid "Remove comments in current editor window" +msgstr "" + #: jcfuiconsts.format_settings_menu #, fuzzy #| msgid "&Format Settings" diff --git a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.pot b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.pot index 5373a175d2..2fc04d034a 100644 --- a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.pot +++ b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.pot @@ -33,6 +33,10 @@ msgstr "" msgid "Global Settings ..." msgstr "" +#: jcfuiconsts.format_remove_comments +msgid "Remove comments in current editor window" +msgstr "" + #: jcfuiconsts.format_settings_menu msgid "&Format Settings ..." msgstr "" diff --git a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.pt_BR.po b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.pt_BR.po index 925de22620..be187689c7 100644 --- a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.pt_BR.po +++ b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.pt_BR.po @@ -49,6 +49,10 @@ msgstr "Todos os &Arquivos no Projeto" msgid "Global Settings ..." msgstr "" +#: jcfuiconsts.format_remove_comments +msgid "Remove comments in current editor window" +msgstr "" + #: jcfuiconsts.format_settings_menu #, fuzzy #| msgid "&Format Settings" diff --git a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.ru.po b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.ru.po index 42b2329169..3e51ee2583 100644 --- a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.ru.po +++ b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.ru.po @@ -47,6 +47,10 @@ msgstr "Все файлы &проекта" msgid "Global Settings ..." msgstr "Глобальные параметры ..." +#: jcfuiconsts.format_remove_comments +msgid "Remove comments in current editor window" +msgstr "" + #: jcfuiconsts.format_settings_menu msgid "&Format Settings ..." msgstr "П&араметры форматирования ..." diff --git a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.tr.po b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.tr.po index 40dae9f1ed..8742e96eac 100644 --- a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.tr.po +++ b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.tr.po @@ -47,6 +47,10 @@ msgstr "Projedeki &Tüm Dosyalar" msgid "Global Settings ..." msgstr "Genel Ayarlar ..." +#: jcfuiconsts.format_remove_comments +msgid "Remove comments in current editor window" +msgstr "" + #: jcfuiconsts.format_settings_menu msgid "&Format Settings ..." msgstr "For&mat Ayarları ..." diff --git a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.uk.po b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.uk.po index 46729fb767..24a26e6980 100644 --- a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.uk.po +++ b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.uk.po @@ -52,6 +52,10 @@ msgstr "Всі &файли у проєкті" msgid "Global Settings ..." msgstr "" +#: jcfuiconsts.format_remove_comments +msgid "Remove comments in current editor window" +msgstr "" + #: jcfuiconsts.format_settings_menu #, fuzzy #| msgid "&Format Settings" diff --git a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.zh_CN.po b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.zh_CN.po index 252ee0454c..a1c347ce64 100644 --- a/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.zh_CN.po +++ b/components/jcf2/IdePlugin/lazarus/languages/jcfuiconsts.zh_CN.po @@ -50,6 +50,10 @@ msgstr "项目中的所有文件(&A)" msgid "Global Settings ..." msgstr "" +#: jcfuiconsts.format_remove_comments +msgid "Remove comments in current editor window" +msgstr "" + #: jcfuiconsts.format_settings_menu #, fuzzy #| msgid "&Format Settings"