diff options
author | Darrell Anderson <[email protected]> | 2014-03-04 04:42:56 +0100 |
---|---|---|
committer | Slávek Banko <[email protected]> | 2014-03-04 04:42:56 +0100 |
commit | 3e6828019fec8585b54d508f9c202106e6aa9311 (patch) | |
tree | f6f75845425a600b3072d5ce6fb7d935385d6809 /kate/katesort/sortdialog.cpp | |
parent | 462324fb8d4ff24c48599fb311aa1e26f9a4da53 (diff) | |
download | tdeaddons-3e6828019fec8585b54d508f9c202106e6aa9311.tar.gz tdeaddons-3e6828019fec8585b54d508f9c202106e6aa9311.zip |
Integrate katesort as part of tdeaddons
Diffstat (limited to 'kate/katesort/sortdialog.cpp')
-rw-r--r-- | kate/katesort/sortdialog.cpp | 144 |
1 files changed, 144 insertions, 0 deletions
diff --git a/kate/katesort/sortdialog.cpp b/kate/katesort/sortdialog.cpp new file mode 100644 index 0000000..09f43fd --- /dev/null +++ b/kate/katesort/sortdialog.cpp @@ -0,0 +1,144 @@ +/*************************************************************************** + * Copyright (C) 2007 by Marian Kyral * + * [email protected] * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + + +#include "sortdialog.h" +#include "tdeconfig.h" +#include <tqwhatsthis.h> + +SortDialog::SortDialog ( TQWidget* parent, const char* name, bool modal, WFlags fl ) + : sortdialoglayout ( parent,name, modal,fl ) +{ + // set labels + TQWhatsThis::add(m_radioButtonAsc,i18n( + "Sort in ascending order " + "(from A to Z or 0 to 9).")); + TQWhatsThis::add(m_radioButtonDesc,i18n( + "Sort in descending order " + "(from Z to A or 9 to 0).")); + TQWhatsThis::add(m_checkBoxCase,i18n( + "Check this for case sensitive sort.")); + TQWhatsThis::add(m_checkBoxUnique,i18n( + "Check this to removed all duplicated records.")); + TQWhatsThis::add(m_checkBoxByCol,i18n( + "Check this for sorting by specific column.\n\n" + "If a part of one line is selected, " + "this checkbox is automatically selected. " + "Start and end fields are filled according to selection.")); + TQWhatsThis::add(m_lineEditStartCol,i18n( + "Start column of the sorting area.")); + TQWhatsThis::add(m_lineEditEndCol,i18n( + "End column of the sorting area.")); + TQWhatsThis::add(m_radioButtonAlphaSort,i18n( + "Alphabetical sorting (A-Z).")); + TQWhatsThis::add(m_radioButtonNumSort,i18n( + "Numeric sorting (0-9)")); + + config_load(); +} + +SortDialog::~SortDialog() +{} + +/*$SPECIALIZATION$*/ +void SortDialog::reject() +{ + TQDialog::reject(); +} + +void SortDialog::accept() +{ + if (m_checkBoxByCol->isChecked()) + { + if (m_lineEditStartCol->text().isEmpty() || + m_lineEditStartCol->text().toInt() == 0 || + m_lineEditEndCol->text().isEmpty() || + m_lineEditEndCol->text().toInt() == 0) + { + TQMessageBox::warning(this,i18n("Error"), + i18n("Fields:\n\"Starting at\" and \"Ending at\"\nhave to contains numbers."), + i18n("OK")); + return; + } + } + config_save(); + TQDialog::accept(); +} + +int SortDialog::exec() +{ + return TQDialog::exec(); +} + +void SortDialog::toggledCol() +{ + if (m_lineEditStartCol->isEnabled()) + { + m_lineEditStartCol->setEnabled(false); + m_lineEditEndCol->setEnabled(false); + } + else + { + m_lineEditStartCol->setEnabled(true); + m_lineEditEndCol->setEnabled(true); + } +} + +void SortDialog::toggledType() +{ + if (m_radioButtonAlphaSort->isChecked()) + m_checkBoxCase->setEnabled(true); + else + m_checkBoxCase->setEnabled(false); +} + +void SortDialog::config_load () +{ +// tqDebug("config_load()"); + TDEConfig *config = new TDEConfig("katesortpluginrc"); + m_radioButtonAsc->setChecked(config->readBoolEntry("Asc",true)); + m_radioButtonDesc->setChecked(config->readBoolEntry("Desc",false)); + m_radioButtonAlphaSort->setChecked(config->readBoolEntry("Alpha",true)); + m_radioButtonNumSort->setChecked(config->readBoolEntry("Num",false)); + m_checkBoxCase->setChecked(config->readBoolEntry("Case",false)); + m_checkBoxUnique->setChecked(config->readBoolEntry("Unique",false)); + m_checkBoxByCol->setChecked(config->readBoolEntry("By col",false)); + m_lineEditStartCol->setText(config->readEntry("Start col")); + m_lineEditEndCol->setText(config->readEntry("End col")); +} + +void SortDialog::config_save () +{ +// tqDebug("config_save()"); + TDEConfig *config = new TDEConfig("katesortpluginrc"); + config->writeEntry("Asc",m_radioButtonAsc->isOn()); + config->writeEntry("Desc", m_radioButtonDesc->isOn()); + config->writeEntry("Alpha",m_radioButtonAlphaSort->isOn()); + config->writeEntry("Num", m_radioButtonNumSort->isOn()); + config->writeEntry("Case", m_checkBoxCase->isOn()); + config->writeEntry("Unique", m_checkBoxUnique->isOn()); + config->writeEntry("By col", m_checkBoxByCol->isOn()); + config->writeEntry("Start col", m_lineEditStartCol->text()); + config->writeEntry("End col", m_lineEditEndCol->text()); + config->sync(); +} + +#include "sortdialog.moc" + |