Source Code (Use browser search to find items of interest.)

Class Index

kcontrol'EventView (./kdebase/kcontrol/knotify/eventview.h:102)

class EventView : public QWidget
{
Q_OBJECT

public:
	EventView(QWidget *parent, const char *name=0);
	virtual ~EventView();

	static int listNum(int enumNum);
	static int enumNum(int listNum);
	
public slots:
	void defaults();
	void load(EventConfig *_event, bool save=true);
	void unload(bool save=true);
	void itemSelected(int item);
	
protected slots:
	void setPixmaps();
	void itemToggled(bool on);

	void textChanged(const QString &str);

signals:
	void changed();

private:

	QListBox *eventslist;
	QCheckBox *enabled;
	QLineEdit *file;
	QPushButton *todefault;
	
	EventConfig *event;
	int oldListItem;
};

kcontrol'EventView::EventView() (./kdebase/kcontrol/knotify/eventview.cpp:36)

EventView::EventView(QWidget *parent, const char *name):
	QWidget(parent, name), event(0), oldListItem(-1)
{
	QGridLayout *layout=new QGridLayout(this,2,8);
	
	static QStringList presentation;
	presentation << i18n("Sound")
	             << i18n("MessageBox")
	             << i18n("Log File")
	             << i18n("Standard Error");

	eventslist=new QListBox(this);
	eventslist->insertStringList(presentation);
	
	layout->addMultiCellWidget(eventslist, 0,7, 0,0);
	layout->addWidget(enabled=new QCheckBox(i18n("&Enabled"),this), 0,1);
	layout->addWidget(file=new KLineEdit(this), 2,1);
	layout->addWidget(new QLabel(file, i18n("&File:"), this), 1,1);
	layout->addWidget(todefault=new QPushButton(i18n("&Default Event"), this), 3,1);
	
	file->setEnabled(false);
	connect(eventslist, SIGNAL(highlighted(int)), SLOT(itemSelected(int)));
	connect(enabled, SIGNAL(toggled(bool)), SLOT(itemToggled(bool)));
//	connect(file, SIGNAL(textChanged(QString)), SLOT(changed(textChanged(QString))));
	connect(todefault, SIGNAL(clicked()), SLOT(defaults()));
};


kcontrol'EventView::~EventView() (./kdebase/kcontrol/knotify/eventview.cpp:63)

EventView::~EventView()
{
}


kcontrol'EventView::defaults() (./kdebase/kcontrol/knotify/eventview.cpp:67)

void EventView::defaults()
{
	int current=eventslist->currentItem();
	
	emit changed();
	event->reload();
	load(event, false);
	eventslist->setCurrentItem(current);
}


kcontrol'EventView::textChanged() (./kdebase/kcontrol/knotify/eventview.cpp:77)

void EventView::textChanged(const QString &str)
{
	(void)str;
}


kcontrol'EventView::itemSelected() (./kdebase/kcontrol/knotify/eventview.cpp:82)

void EventView::itemSelected(int item)
{
	file->setEnabled(false);
	// charger la nouvelle chose
	
	enabled->setChecked((event->present & enumNum(item)) ? true : false);
	if (enumNum(item) == KNotifyClient::Sound)
		file->setEnabled(true), file->setText(event->soundfile);
	
	if (enumNum(item) == KNotifyClient::Logfile)
		file->setEnabled(true), file->setText(event->logfile);
	oldListItem=item;
}


kcontrol'EventView::itemToggled() (./kdebase/kcontrol/knotify/eventview.cpp:96)

void EventView::itemToggled(bool on)
{
	if (!event) return;
	if (on)
		event->present|=enumNum(eventslist->currentItem());
	else
		event->present&= ~enumNum(eventslist->currentItem());
	setPixmaps();
}


kcontrol'EventView::load() (./kdebase/kcontrol/knotify/eventview.cpp:106)

void EventView::load(EventConfig *_event, bool save)
{
	unload(save);
	event=_event;
	setEnabled(true);
	setPixmaps();
	eventslist->setSelected(0, true);
	kapp->processEvents();
	eventslist->setContentsPos(0,0); // go to the top
	itemSelected(0);
}


kcontrol'EventView::setPixmaps() (./kdebase/kcontrol/knotify/eventview.cpp:118)

void EventView::setPixmaps()
{ // Handle all of 'dem at once
	int current=eventslist->currentItem();
	eventslist->blockSignals(true);
	if (!event) return;
	int i=0;
	for (int c=1; c <=8; c*=2)
	{
		if (event->present & c)
			eventslist->changeItem(SmallIcon("flag"), eventslist->text(i), i);
		else
			eventslist->changeItem(eventslist->text(i), i);
		i++;
	}
	eventslist->setCurrentItem(current);
	eventslist->blockSignals(false);
}


kcontrol'EventView::unload() (./kdebase/kcontrol/knotify/eventview.cpp:136)

void EventView::unload(bool save)
{
	event=0;
	enabled->setChecked(false);
	setPixmaps();
	file->setText("");
	file->setEnabled(false);
}


kcontrol'EventView::listNum() (./kdebase/kcontrol/knotify/eventview.cpp:145)

int EventView::listNum(int enumNum)
{
	switch (enumNum)
	{
	case (1): return 0;
	case (2): return 1;
	case (4): return 2;
	case (8): return 3;
	default: return 1;
	}
}


kcontrol'EventView::enumNum() (./kdebase/kcontrol/knotify/eventview.cpp:157)

int EventView::enumNum(int listNum)
{
	switch (listNum)
	{
	case (0): return 1;
	case (1): return 2;
	case (2): return 4;
	case (3): return 8;
	default: return 0;
	}
}