Source Code (Use browser search to find items of interest.)
Class Index
ksysctrl'ConflictDisplay (./kdeadmin/ksysctrl/ksysctrl/conflictdisplay.h:32)
class ConflictDisplay : public QWidget
{
public:
ConflictDisplay(QWidget *parent = 0L, const char *name = 0L);
~ConflictDisplay() {}
void reset();
void showConflicts(QList<Conflict>&);
virtual QSize minimumSizeHint() const;
virtual QSize sizeHint() const;
protected:
void resizeEvent(QResizeEvent *);
private:
QFrame *_frame;
QWidget *_background;
QScrollView *_scrollview;
QList<QLabel> _labellist;
uint _listwidth, _listheight;
void clear();
};
ksysctrl'ConflictDisplay::ConflictDisplay() (./kdeadmin/ksysctrl/ksysctrl/conflictdisplay.cpp:26)
ConflictDisplay::ConflictDisplay(QWidget *parent, const char *name) : QWidget(parent, name),
_listwidth(0),
_listheight(0)
{
_labellist.setAutoDelete(true);
_labellist.clear();
_scrollview = new QScrollView(this, "scrollview");
_scrollview->setVScrollBarMode(QScrollView::AlwaysOn);
_scrollview->setFrameStyle(QFrame::Panel | QFrame::Sunken);
_scrollview->setLineWidth(2);
_background = new QWidget(_scrollview, "background");
reset();
}
/*
* Public methods
*****************/
ksysctrl'ConflictDisplay::minimumSizeHint() (./kdeadmin/ksysctrl/ksysctrl/conflictdisplay.cpp:48)
QSize ConflictDisplay::minimumSizeHint() const
{
return QSize(_listwidth, 70);
}
ksysctrl'ConflictDisplay::reset() (./kdeadmin/ksysctrl/ksysctrl/conflictdisplay.cpp:54)
void ConflictDisplay::reset()
{
QLabel *label;
QWidget *viewport = _scrollview->viewport();
clear();
label = new QLabel(i18n("No conflicts."), _background);
label->adjustSize();
_listwidth = label->width();
_listheight = label->height();
_labellist.append(label);
label->move(0, 0);
label->show();
_background->resize(QMAX(_listwidth, (uint) viewport->width()),
QMAX(_listheight, (uint) viewport->height()));
}
ksysctrl'ConflictDisplay::showConflicts() (./kdeadmin/ksysctrl/ksysctrl/conflictdisplay.cpp:76)
void ConflictDisplay::showConflicts(QList<Conflict>& conflictlist)
{
Conflict *conflict;
QLabel *label;
QWidget *viewport = _scrollview->viewport();
clear();
for (conflict = conflictlist.first(); conflict; conflict = conflictlist.next())
{
label = new QLabel(conflict->description(), _background);
label->adjustSize();
_labellist.append(label);
label->move(0, _listheight);
label->show();
_listwidth = QMAX(_listwidth, (uint) label->width());
_listheight += label->height();
}
_background->resize(QMAX(_listwidth, (uint) viewport->width()),
QMAX(_listheight, (uint) viewport->height()));
}
ksysctrl'ConflictDisplay::sizeHint() (./kdeadmin/ksysctrl/ksysctrl/conflictdisplay.cpp:102)
QSize ConflictDisplay::sizeHint() const
{
return QSize(_listwidth, QMAX(70, _listheight));
}
/*
* Protected methods
********************/
ksysctrl'ConflictDisplay::resizeEvent() (./kdeadmin/ksysctrl/ksysctrl/conflictdisplay.cpp:112)
void ConflictDisplay::resizeEvent(QResizeEvent *ev)
{
uint w = width();
uint h = height();
uint backw;
uint backh;
QWidget *viewport = _scrollview->viewport();
_scrollview->setGeometry(0, 0, w, h);
backw = QMAX(_listwidth-4, (uint) viewport->width());
backh = QMAX(_listheight-4, (uint) viewport->height());
_background->setGeometry(2, 2, backw, backh);
}
/*
* Private methods
******************/
ksysctrl'ConflictDisplay::clear() (./kdeadmin/ksysctrl/ksysctrl/conflictdisplay.cpp:133)
void ConflictDisplay::clear()
{
_labellist.clear();
_listwidth = _listheight = 0;
}