diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-03-01 19:17:32 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-03-01 19:17:32 +0000 |
commit | e38d2351b83fa65c66ccde443777647ef5cb6cff (patch) | |
tree | 1897fc20e9f73a81c520a5b9f76f8ed042124883 /src/gui/stringmapdialog.h | |
download | tellico-e38d2351b83fa65c66ccde443777647ef5cb6cff.tar.gz tellico-e38d2351b83fa65c66ccde443777647ef5cb6cff.zip |
Added KDE3 version of Tellico
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/tellico@1097620 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'src/gui/stringmapdialog.h')
-rw-r--r-- | src/gui/stringmapdialog.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/src/gui/stringmapdialog.h b/src/gui/stringmapdialog.h new file mode 100644 index 0000000..311df70 --- /dev/null +++ b/src/gui/stringmapdialog.h @@ -0,0 +1,71 @@ +/*************************************************************************** + copyright : (C) 2003-2006 by Robby Stephenson + email : robby@periapsis.org + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License as * + * published by the Free Software Foundation; * + * * + ***************************************************************************/ + +#ifndef STRINGMAPDIALOG_H +#define STRINGMAPDIALOG_H + +class KLineEdit; +class KListView; +class QListViewItem; + +#include <kdialogbase.h> + +template <typename T1, typename T2> +class QMap; + +namespace Tellico { + +/** + * @short A simple dialog for editing a map between two strings. + * + * A \ref KListView is used with the map keys in the first column and + * the map values in the second. Two edit boxes are below the list view. + * When an item is selected, the key-value is pair is placed in the edit + * boxes. Add and Delete buttons are used to add a new pair, or to remove + * an existing one. + * + * @author Robby Stephenson + */ +class StringMapDialog : public KDialogBase { +Q_OBJECT + +public: + StringMapDialog(const QMap<QString, QString>& stringMap, QWidget* parent, const char* name=0, bool modal=false); + + /** + * Sets the titles for the key and value columns. + * + * @param label1 The name of the key string + * @param label2 The name of the value string + */ + void setLabels(const QString& label1, const QString& label2); + /** + * Returns the modified string map. + * + * @return The modified string map + */ + QMap<QString, QString> stringMap(); + +private slots: + void slotAdd(); + void slotDelete(); + void slotUpdate(QListViewItem* item); + +protected: + KListView* m_listView; + KLineEdit* m_edit1; + KLineEdit* m_edit2; +}; + +} // end namespace +#endif |