Source Code (Use browser search to find items of interest.)
Class Index
kdm'HostView (./kdebase/kdm/DXdmcp.h:28)
class HostView : public QListView {
Q_OBJECT
public:
HostView( CXdmcp *cxdmcp, QWidget *parent = 0, const char *name = 0, WFlags f = 0);
public slots:
void pingHosts();
void accept();
void willing();
void cancel();
/* Add host to list.
*/
void slotAddHost(CXdmcp::HostName *name);
/* No more hosts to display.
*/
void slotDeleteAllHosts();
/* Remove host from list.
*/
void slotDeleteHost(char *name);
/* Change hosts name in list.
*/
void slotChangeHost(char *oldname, CXdmcp::HostName *newname);
/* Add hostname to ping.
* "BROADCAST" is special.
*/
void slotRegisterHostname (const char *name);
private:
CXdmcp *comXdmcp;
int namecol, statcol;
};
kdm'HostView::HostView() (./kdebase/kdm/DXdmcp.cpp:28)
HostView::HostView( CXdmcp *cxdmcp, QWidget *parent, const char *name, WFlags)
: QListView( parent, name)
{
comXdmcp = cxdmcp;
namecol = addColumn(i18n("Hostname"));
statcol = addColumn(i18n("Status"));
connect( comXdmcp, SIGNAL( addHost(CXdmcp::HostName *)), this, SLOT( slotAddHost(CXdmcp::HostName *)));
connect( comXdmcp, SIGNAL( changeHost(char *, CXdmcp::HostName *)), this, SLOT(slotChangeHost(char *, CXdmcp::HostName *)));
connect( comXdmcp, SIGNAL( deleteHost(char *)), this, SLOT( slotDeleteHost(char *)));
connect( comXdmcp, SIGNAL( deleteAllHosts()), this, SLOT( slotDeleteAllHosts()));
connect( this, SIGNAL(doubleClicked(QListViewItem *)), this, SLOT(accept()));
// setItemMargin(1);
};
/*
typedef struct _hostName {
struct _hostName *next;
char *fullname;
int willing;
ARRAY8 hostname, status;
CARD16 connectionType;
ARRAY8 hostaddr;
} HostName;
*/
kdm'HostView::slotAddHost() (./kdebase/kdm/DXdmcp.cpp:56)
void HostView::slotAddHost(CXdmcp::HostName *name)
{
char *nstr = new char[name->hostname.length+1];
strncpy(nstr, (char *)name->hostname.data, (size_t)name->hostname.length);
nstr[name->hostname.length] = 0;
char *sstr = new char[name->status.length+1];
strncpy(sstr, (char *)name->status.data, (size_t)name->status.length);
sstr[name->status.length] = 0;
QListViewItem *item = new QListViewItem((QListView *)this, QString(nstr), QString(sstr));
insertItem(item);
delete [] nstr;
delete [] sstr;
}
kdm'HostView::slotDeleteAllHosts() (./kdebase/kdm/DXdmcp.cpp:73)
void HostView::slotDeleteAllHosts()
{
clear();
}
kdm'HostView::slotDeleteHost() (./kdebase/kdm/DXdmcp.cpp:78)
void HostView::slotDeleteHost(char *name)
{
QListViewItemIterator it( this );
for ( ; it.current(); ++it ) {
if(it.current()->text(namecol) == name) {
removeItem(it.current());
break;
}
}
}
kdm'HostView::slotChangeHost() (./kdebase/kdm/DXdmcp.cpp:90)
void HostView::slotChangeHost(char *oldname, CXdmcp::HostName *name)
{
if(!oldname)
return;
char *nstr = new char[name->hostname.length+1];
strncpy(nstr, (char *)name->hostname.data, (size_t)name->hostname.length);
nstr[name->hostname.length] = 0;
char *sstr = new char[name->status.length+1];
strncpy(sstr, (char *)name->status.data, (size_t)name->status.length);
sstr[name->status.length] = 0;
QListViewItemIterator it( this );
for ( ; it.current(); ++it )
{
if(it.current()->text(namecol).latin1() == oldname) {
it.current()->setText(namecol, nstr);
it.current()->setText(statcol, sstr);
break;
}
}
delete [] nstr;
delete [] sstr;
}
kdm'HostView::pingHosts() (./kdebase/kdm/DXdmcp.cpp:117)
void HostView::pingHosts()
{
comXdmcp->emptyHostnames ();
comXdmcp->pingHosts();
}
kdm'HostView::accept() (./kdebase/kdm/DXdmcp.cpp:123)
void HostView::accept()
{
QListViewItem *item = currentItem();
if(item != 0) {
comXdmcp->chooseHost(item->text(namecol).latin1());
delete comXdmcp;
exit (OBEYSESS_DISPLAY);
}
}
void
kdm'HostView::willing() (./kdebase/kdm/DXdmcp.cpp:134)
HostView::willing ()
{
// highlight all willing hosts
// necessary?? needed??
}
void
kdm'HostView::cancel() (./kdebase/kdm/DXdmcp.cpp:141)
HostView::cancel ()
{
exit (OBEYSESS_DISPLAY);
}
kdm'HostView::slotRegisterHostname() (./kdebase/kdm/DXdmcp.cpp:146)
void HostView::slotRegisterHostname(const char *name)
{
comXdmcp->registerHostname (name);
comXdmcp->pingHosts();
}