summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-02-19 20:30:34 (UTC)
committer zautrix <zautrix>2005-02-19 20:30:34 (UTC)
commit6f4d42c16c87668279db1e0a0d3e4f4aad5b84f6 (patch) (side-by-side diff)
tree89fbb2b107a1681a1fbb19b35c3a9484652dc352
parent11b5b0eb24cfb943df106f7ee97646955bec0fd3 (diff)
downloadkdepimpi-6f4d42c16c87668279db1e0a0d3e4f4aad5b84f6.zip
kdepimpi-6f4d42c16c87668279db1e0a0d3e4f4aad5b84f6.tar.gz
kdepimpi-6f4d42c16c87668279db1e0a0d3e4f4aad5b84f6.tar.bz2
cat select fix
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--libkdepim/categoryeditdialog.h24
-rw-r--r--libkdepim/categoryselectdialog.cpp6
2 files changed, 28 insertions, 2 deletions
diff --git a/libkdepim/categoryeditdialog.h b/libkdepim/categoryeditdialog.h
index 4ebc802..3e8ab45 100644
--- a/libkdepim/categoryeditdialog.h
+++ b/libkdepim/categoryeditdialog.h
@@ -3,53 +3,77 @@
Copyright (c) 2000, 2001, 2002 Cornelius Schumacher <schumacher@kde.org>
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.
As a special exception, permission is given to link this program
with any edition of Qt, and distribute the resulting executable,
without including the source code for Qt in the source distribution.
*/
#ifndef KPIM_CATEGORYEDITDIALOG_H
#define KPIM_CATEGORYEDITDIALOG_H
#include <categoryeditdialog_base.h>
+#include <qlistview.h>
class KPimPrefs;
namespace KPIM {
+ class CategorySelectItem :public QObject, public QCheckListItem
+{
+
+ Q_OBJECT
+ public:
+
+ CategorySelectItem(QListView * parent, const QString & text, Type tt) :
+ QCheckListItem (parent, text, tt ) , QObject( parent )
+ {;}
+
+ signals:
+ void stateChanged( QListViewItem*);
+
+ protected:
+
+ virtual void stateChange(bool b)
+ {
+ QCheckListItem::stateChange(b);
+ emit stateChanged( this );
+ }
+};
+
+
class CategoryEditDialog : public CategoryEditDialog_base
{
Q_OBJECT
public:
CategoryEditDialog( KPimPrefs *prefs, QWidget* parent = 0,
const char* name = 0,
bool modal = FALSE, WFlags fl = 0 );
~CategoryEditDialog();
public slots:
void add();
void remove();
void modify();
void accept();
void slotOk();
void slotApply();
signals:
void categoryConfigChanged();
private slots:
void editItem(QListViewItem *item);
void slotTextChanged(const QString &text);
diff --git a/libkdepim/categoryselectdialog.cpp b/libkdepim/categoryselectdialog.cpp
index 8038934..4d80726 100644
--- a/libkdepim/categoryselectdialog.cpp
+++ b/libkdepim/categoryselectdialog.cpp
@@ -33,68 +33,70 @@
#include "categoryselectdialog.h"
#include "kpimprefs.h"
using namespace KPIM;
CategorySelectDialog::CategorySelectDialog( KPimPrefs *prefs, QWidget* parent,
const char* name,
bool modal, WFlags fl )
: CategorySelectDialog_base( parent, name, true, fl ),
mPrefs( prefs )
{
mColorItem = 0;
mColorEnabled = false;
mCategories->header()->hide();
setCategories();
connect(mButtonEdit,SIGNAL(clicked()),this, SLOT(editCategoriesDialog()));
if ( QApplication::desktop()->width() > 460 )
resize( 300, 360 );
else
showMaximized();
connect( mSetColorCat, SIGNAL( clicked() ), this, SLOT( setColorCat() ) );
- connect( mCategories, SIGNAL( clicked(QListViewItem *) ), this, SLOT( clicked(QListViewItem *) ) );
+ // connect( mCategories, SIGNAL( clicked(QListViewItem *) ), this, SLOT( clicked(QListViewItem *) ) );
}
void CategorySelectDialog::editCategoriesDialog()
{
KPIM::CategoryEditDialog* ced = new KPIM::CategoryEditDialog(mPrefs,this );
ced->exec();
delete ced;
setCategories();
}
void CategorySelectDialog::setCategories()
{
mColorItem = 0;
mCategories->clear();
mCategoryList.clear();
QStringList::Iterator it;
for (it = mPrefs->mCustomCategories.begin();
it != mPrefs->mCustomCategories.end(); ++it ) {
- new QCheckListItem(mCategories,*it,QCheckListItem::CheckBox);
+ CategorySelectItem * item = new CategorySelectItem(mCategories,*it,QCheckListItem::CheckBox);
+ QObject::connect( item, SIGNAL( stateChanged(QListViewItem *) ), this, SLOT( clicked(QListViewItem *) ) );
+
}
}
CategorySelectDialog::~CategorySelectDialog()
{
}
void CategorySelectDialog::setSelected(const QStringList &selList)
{
clear();
QStringList::ConstIterator it;
QStringList notFound;
bool found = false;
for (it=selList.begin();it!=selList.end();++it) {
//qDebug(" CategorySelectDialog::setSelected(");
QCheckListItem *item = (QCheckListItem *)mCategories->firstChild();
while (item) {
if (item->text() == *it) {
item->setOn(true);
if ( ! found )
setColorItem( item );
found = true;
break;