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

Class Index

kcontrol'ProgramConfig (./kdebase/kcontrol/knotify/eventconfig.h:132)

class ProgramConfig : public QObject
{
Q_OBJECT
public:
	class ProgramListViewItem : public QListViewItem
	{
	public:
		ProgramListViewItem(ProgramConfig *prog);
		ProgramConfig *program;
	};

	ProgramConfig();
	~ProgramConfig();
	/**
	 * Load the data for this class, and it's child Events
	 */
	void load(KConfig &conf);
	
	/**
	 * shows it to the GUI
	 **/
	void show();
public slots:
	/**
	 * Get myself shown
	 **/
	void selected();
	/**
	 * My chillens want to be shown :)
	 **/
	void selected(QListViewItem *_i);

public:
	QString configfile;
	QString appname;
	QString description;

	
	QList<EventConfig> eventlist;
};

/**
 * Contains all the programs
 **/

kcontrol'ProgramConfig::~ProgramConfig() (./kdebase/kcontrol/knotify/eventconfig.cpp:77)

ProgramConfig::~ProgramConfig()
{
	eventlist.setAutoDelete(true);
}


kcontrol'ProgramConfig::load() (./kdebase/kcontrol/knotify/eventconfig.cpp:82)

void ProgramConfig::load(KConfig &conf)
{
	// Load the Names
	appname=conf.readEntry("appname", "Unknown Title");
	description=conf.readEntry("description", "No Description");

	// Load all the events	
	QStringList conflist=conf.groupList();
	conflist.remove(QString("!Global!"));
	conflist.remove(QString("<default>"));
	
	for (QStringList::Iterator it=conflist.begin(); it!=conflist.end(); ++it)
	{
		conf.setGroup(*it);
		EventConfig *e=new EventConfig(this);
		e->load(conf);
		eventlist.append(e);
		kapp->processEvents();
	}
}


kcontrol'ProgramConfig::show() (./kdebase/kcontrol/knotify/eventconfig.cpp:146)

void ProgramConfig::show()
{
	// Unload the old events
	
	// and show the new ones
	for (EventConfig *ev=eventlist.first(); ev != 0; ev=eventlist.next())
		new EventConfig::EventListViewItem(ev);
	
	Programs::events->setSelected(Programs::events->firstChild(),true);
}

ProgramConfig::ProgramListViewItem::ProgramListViewItem(ProgramConfig *prog)
	: QListViewItem(Programs::programs, prog->appname, prog->description),
	  program(prog)
{
	
}

EventConfig::EventListViewItem::EventListViewItem(EventConfig *ev)
	: QListViewItem(Programs::events, ev->friendly, ev->description),
	  event(ev)
{}


kcontrol'ProgramConfig::selected() (./kdebase/kcontrol/knotify/eventconfig.cpp:174)

void ProgramConfig::selected()
{
	// Clean up after the previous ProgramConfig
	Programs::eventview->unload();
	Programs::events->clear();
	
	// Load the new events
	for (EventConfig *ev=eventlist.first(); ev != 0; ev=eventlist.next())
		new EventConfig::EventListViewItem(ev);
		
	Programs::events->setCurrentItem(Programs::events->firstChild()); // Select the first one in the list

}


kcontrol'ProgramConfig::selected() (./kdebase/kcontrol/knotify/eventconfig.cpp:188)

void ProgramConfig::selected(QListViewItem *_i)
{
	(static_cast<EventConfig::EventListViewItem*>(_i))->event->selected();
}


kcontrol'ProgramConfig::ProgramConfig() (./kdebase/kcontrol/knotify/eventconfig.cpp:199)

ProgramConfig::ProgramConfig()
{
	connect(Programs::events, SIGNAL(selectionChanged(QListViewItem*)), SLOT(selected(QListViewItem*)));
}