diff --git a/src/plugins/texteditor/fontsettingspage.cpp b/src/plugins/texteditor/fontsettingspage.cpp
index bbadbfacf38814d9bff5b7544d5958395093f8b5..a7370094f93a16ee543da8d2b6e2006469a7956f 100644
--- a/src/plugins/texteditor/fontsettingspage.cpp
+++ b/src/plugins/texteditor/fontsettingspage.cpp
@@ -44,6 +44,7 @@
 #include <QtGui/QComboBox>
 #include <QtGui/QFileDialog>
 #include <QtGui/QFontDatabase>
+#include <QtGui/QInputDialog>
 #include <QtGui/QListWidget>
 #include <QtGui/QMessageBox>
 #include <QtGui/QPalette>
@@ -425,6 +426,19 @@ void FontSettingsPage::colorSchemeSelected(int index)
 }
 
 void FontSettingsPage::copyColorScheme()
+{
+    QInputDialog *dialog = new QInputDialog(d_ptr->ui.copyButton->window());
+    dialog->setAttribute(Qt::WA_DeleteOnClose);
+    dialog->setInputMode(QInputDialog::TextInput);
+    dialog->setWindowTitle(tr("Copy Color Scheme"));
+    dialog->setLabelText(tr("Color Scheme name:"));
+    dialog->setTextValue(tr("%1 (copy)").arg(d_ptr->m_value.colorScheme().name()));
+
+    connect(dialog, SIGNAL(textValueSelected(QString)), this, SLOT(copyColorScheme(QString)));
+    dialog->open();
+}
+
+void FontSettingsPage::copyColorScheme(const QString &name)
 {
     int index = d_ptr->ui.schemeComboBox->currentIndex();
     if (index == -1)
@@ -444,7 +458,7 @@ void FontSettingsPage::copyColorScheme()
         d_ptr->m_value.setColorScheme(d_ptr->ui.schemeEdit->colorScheme());
 
         ColorScheme scheme = d_ptr->m_value.colorScheme();
-        scheme.setName(tr("%1 (copy)").arg(scheme.name()));
+        scheme.setName(name);
         scheme.save(fileName);
         d_ptr->m_value.setColorSchemeFileName(fileName);
 
diff --git a/src/plugins/texteditor/fontsettingspage.h b/src/plugins/texteditor/fontsettingspage.h
index 1d71c88b16959bdecb28898b7f3eb3649619269e..33f7257be7c18771bece5875ef614fb144e59c12 100644
--- a/src/plugins/texteditor/fontsettingspage.h
+++ b/src/plugins/texteditor/fontsettingspage.h
@@ -113,6 +113,7 @@ private slots:
     void fontSizeSelected(const QString &sizeString);
     void colorSchemeSelected(int index);
     void copyColorScheme();
+    void copyColorScheme(const QString &name);
     void deleteColorScheme();
 
 private:
diff --git a/src/plugins/texteditor/fontsettingspage.ui b/src/plugins/texteditor/fontsettingspage.ui
index 3bf055ccfc90d7cb27965fb5de8607fcba04fbdd..1cd02f47a8dc2768d2cfe4a2fbb8f9e35f82a94e 100644
--- a/src/plugins/texteditor/fontsettingspage.ui
+++ b/src/plugins/texteditor/fontsettingspage.ui
@@ -123,7 +123,7 @@
         <item>
          <widget class="QPushButton" name="copyButton">
           <property name="text">
-           <string>Copy</string>
+           <string>Copy...</string>
           </property>
          </widget>
         </item>