[kde-doc-english] [kate] /: added 'indent-pasted-text' mode variable
Gerald Senarclens de Grancy
oss at senarclens.eu
Fri May 3 21:03:02 UTC 2013
Git commit 0abf8a5420c75a6d1cbbe6e8fcb4ebf7381e4289 by Gerald Senarclens de Grancy.
Committed on 03/05/2013 at 22:56.
Pushed by geralds into branch 'master'.
added 'indent-pasted-text' mode variable
Added a mode variable to disable/ enable adjusting indentation for
code pasted from the clipboard. Used it in the global modeline for
Python. This is required for Python b/c adjusting the indentation is
dangerous and can lead to bugs.
REVIEW: 110219
M +2 -2 doc/kate/configuring-part.docbook
M +6 -0 doc/kate/configuring.docbook
M +3 -0 part/data/katemoderc
M +7 -0 part/document/katedocument.cpp
M +10 -1 part/utils/katecmds.cpp
M +6 -0 part/variableeditor/variablelineedit.cpp
http://commits.kde.org/kate/0abf8a5420c75a6d1cbbe6e8fcb4ebf7381e4289
diff --git a/doc/kate/configuring-part.docbook b/doc/kate/configuring-part.docbook
index 03adbba..26fde08 100644
--- a/doc/kate/configuring-part.docbook
+++ b/doc/kate/configuring-part.docbook
@@ -695,9 +695,9 @@ level aligns a line to a multiple of the width specified in
<guilabel>Indentation width</guilabel>.</para></listitem>
</varlistentry>
<varlistentry>
-<term><guilabel>Adjust indentation of code pasted from the clipboard</guilabel></term>
+<term><guilabel>Adjust indentation of text pasted from the clipboard</guilabel></term>
<listitem>
-<para>If this option is selected, pasted code from the clipboard is indented.
+<para>If this option is selected, text pasted from the clipboard is indented.
Triggering the <guimenuitem>Undo</guimenuitem> action removes the indentation.</para>
</listitem>
</varlistentry>
diff --git a/doc/kate/configuring.docbook b/doc/kate/configuring.docbook
index a768cfe..13c7b90 100644
--- a/doc/kate/configuring.docbook
+++ b/doc/kate/configuring.docbook
@@ -483,6 +483,12 @@ be evaluated to a valid color, for example <userinput>#ff0000</userinput>.</para
<xref linkend="kate-part-autoindent"/> for details.</para></listitem>
</varlistentry>
+<varlistentry id="variable-indent-pasted-text">
+<term><cmdsynopsis><command>indent-pasted-text</command><arg>BOOL</arg></cmdsynopsis></term>
+<listitem><para>Enable/disable adjusting indentation of text pasted from the clipboard.</para>
+<para>Since: Kate 3.11 (KDE 4.11)</para></listitem>
+</varlistentry>
+
<varlistentry id="variable-indent-width">
<term><cmdsynopsis><command>indent-width</command><arg>INT</arg></cmdsynopsis></term>
<listitem><para>Set the indentation width.</para></listitem>
diff --git a/part/data/katemoderc b/part/data/katemoderc
index 7ac52ae..9a5872d 100644
--- a/part/data/katemoderc
+++ b/part/data/katemoderc
@@ -1,5 +1,8 @@
[Makefile]
Variables=kate: tab-width 8; indent-width 8; replace-tabs off; replace-tabs-save off;
+[Python]
+Variables=kate: indent-pasted-text false;
+
[YAML]
Variables=kate: space-indent true;
diff --git a/part/document/katedocument.cpp b/part/document/katedocument.cpp
index 37e6635..722d3db 100644
--- a/part/document/katedocument.cpp
+++ b/part/document/katedocument.cpp
@@ -5,6 +5,7 @@
Copyright (C) 2006 Hamish Rodda <rodda at kde.org>
Copyright (C) 2007 Mirko Stocker <me at misto.ch>
Copyright (C) 2009-2010 Michel Ludwig <michel.ludwig at kdemail.net>
+ Copyright (C) 2013 Gerald Senarclens de Grancy <oss at senarclens.eu>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
@@ -4043,6 +4044,8 @@ void KateDocument::readVariableLine( QString t, bool onlyViewAndRenderer )
// FIXME should this be optimized to only a few calls? how?
else if ( var == "backspace-indents" && checkBoolValue( val, &state ) )
m_config->setBackspaceIndents( state );
+ else if ( var == "indent-pasted-text" && checkBoolValue( val, &state ) )
+ m_config->setIndentPastedText( state );
else if ( var == "replace-tabs" && checkBoolValue( val, &state ) )
{
m_config->setReplaceTabsDyn( state );
@@ -4529,6 +4532,8 @@ QVariant KateDocument::configValue(const QString &key)
return m_config->backupPrefix();
} else if (key == "replace-tabs") {
return m_config->replaceTabsDyn();
+ } else if (key == "indent-pasted-text") {
+ return m_config->indentPastedText();
}
// return invalid variant
@@ -4565,6 +4570,8 @@ void KateDocument::setConfigValue(const QString &key, const QVariant &value)
m_config->setBackupFlags(f);
} else if (key == "replace-tabs") {
m_config->setReplaceTabsDyn(bValue);
+ } else if (key == "indent-pasted-text") {
+ m_config->setIndentPastedText(bValue);
}
}
}
diff --git a/part/utils/katecmds.cpp b/part/utils/katecmds.cpp
index 5a81437..c47e773 100644
--- a/part/utils/katecmds.cpp
+++ b/part/utils/katecmds.cpp
@@ -78,7 +78,7 @@ const QStringList &KateCommands::CoreCommands::cmds()
<< "set-indent-width"
<< "set-indent-mode" << "set-auto-indent"
<< "set-line-numbers" << "set-folding-markers" << "set-icon-border"
- << "set-word-wrap" << "set-word-wrap-column"
+ << "set-indent-pasted-text" << "set-word-wrap" << "set-word-wrap-column"
<< "set-replace-tabs-save" << "set-remove-trailing-spaces"
<< "set-highlight" << "set-mode" << "set-show-indent"
<< "print";
@@ -113,6 +113,12 @@ bool KateCommands::CoreCommands::help(KTextEditor::View *, const QString &cmd, Q
msg=i18n("<p>goto <b>line number</b></p>"
"<p>This command navigates to the specified line number.</p>");
return true;
+ } else if (realcmd=="set-indent-pasted-text") {
+ msg=i18n("<p>set-indent-pasted-text <b>enable</b></p>"
+ "<p>If enabled, indentation of text pasted from the clipboard is adjusted using the current indenter.</p>"
+ "<p>Possible true values: 1 on true<br/>"
+ "possible false values: 0 off false</p>");
+ return true;
} else if (realcmd=="kill-line") {
msg=i18n("Deletes the current line.");
return true;
@@ -429,6 +435,7 @@ bool KateCommands::CoreCommands::exec(KTextEditor::View *view,
// ALL commands that takes 1 boolean argument.
else if ( cmd == "set-icon-border" ||
cmd == "set-folding-markers" ||
+ cmd == "set-indent-pasted-text" ||
cmd == "set-line-numbers" ||
cmd == "set-replace-tabs" ||
cmd == "set-show-tabs" ||
@@ -451,6 +458,8 @@ bool KateCommands::CoreCommands::exec(KTextEditor::View *view,
v->setLineNumbersOn( enable );
else if ( cmd == "set-show-indent" )
v->renderer()->setShowIndentLines( enable );
+ else if (cmd == "set-indent-pasted-text")
+ config->setIndentPastedText( enable );
else if ( cmd == "set-replace-tabs" )
config->setReplaceTabsDyn( enable );
else if ( cmd == "set-show-tabs" )
diff --git a/part/variableeditor/variablelineedit.cpp b/part/variableeditor/variablelineedit.cpp
index 44f14b6..6198903 100644
--- a/part/variableeditor/variablelineedit.cpp
+++ b/part/variableeditor/variablelineedit.cpp
@@ -1,6 +1,7 @@
/* This file is part of the KDE project
Copyright (C) 2011 Dominik Haumann <dhaumann kde org>
+ Copyright (C) 2013 Gerald Senarclens de Grancy <oss at senarclens.eu>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
@@ -236,6 +237,11 @@ void VariableLineEdit::addKateItems(VariableListView* listview)
item->setHelpText(i18nc("short translation please", "Set the auto indentation style."));
listview->addItem(item);
+ // Add 'indent-pasted-text' to list
+ item = new VariableBoolItem("indent-pasted-text", docConfig->indentPastedText());
+ item->setHelpText(i18nc("short translation please", "Adjust indentation of text pasted from the clipboard."));
+ listview->addItem(item);
+
// Add 'indent-width' to list
item = new VariableIntItem("indent-width", docConfig->indentationWidth());
static_cast<VariableIntItem*>(item)->setRange(1, 16);
More information about the kde-doc-english
mailing list