Source Code (Use browser search to find items of interest.)
Class Index
kdevelop'DocTreeViewConfigWidget (./kdevelop/kdevelop/doctreeviewconfigwidget.h:28)
class DocTreeViewConfigWidget : public QTabWidget
{
Q_OBJECT
public:
DocTreeViewConfigWidget( DocTreeView *doctree, QWidget *parent, const char *name=0 );
~DocTreeViewConfigWidget();
enum Page { KDevelop, Libraries, Others };
void showPage(Page page);
public slots:
void accept();
private slots:
void addClicked();
void editClicked();
void removeClicked();
private:
DocTreeView* tree;
QListView *kdevelopView;
QListView *librariesView;
QListView *othersView;
QHBox *kdevelopTab;
QHBox *librariesTab;
QHBox *othersTab;
void readConfig();
void storeConfig();
};
kdevelop'DocTreeViewConfigWidget::DocTreeViewConfigWidget() (./kdevelop/kdevelop/doctreeviewconfigwidget.cpp:53)
DocTreeViewConfigWidget::DocTreeViewConfigWidget(DocTreeView *doctree, QWidget *parent, const char *name)
: QTabWidget(parent, name)
{
tree = doctree;
// KDevelop tab
kdevelopTab = new QHBox(this);
kdevelopTab->setMargin(15);
kdevelopTab->setSpacing(15);
(void) new QLabel(i18n("Items shown in the \n"
"KDevelop section \n"
"of the documentation tree:"), kdevelopTab);
kdevelopView = new KListView(kdevelopTab);
kdevelopView->addColumn("");
kdevelopView->header()->hide();
// Libraries tab
librariesTab = new QHBox(this);
librariesTab->setMargin(15);
librariesTab->setSpacing(15);
(void) new QLabel(i18n("Items shown in the \n"
"Qt/KDE Libraries section \n"
"of the documentation tree:"), librariesTab);
librariesView = new KListView(librariesTab);
librariesView->addColumn("");
librariesView->header()->hide();
// Others tab
othersTab = new QHBox(this);
othersTab->setMargin(15);
othersTab->setSpacing(15);
(void) new QLabel(i18n("Items shown in the \n"
"Others section of \n"
"the documentation tree:"), othersTab);
othersView = new KListView(othersTab);
othersView->setAllColumnsShowFocus(true);
othersView->setColumnWidth(0, 70);
othersView->setColumnWidth(1, 70);
othersView->addColumn(i18n("Title"));
othersView->addColumn(i18n("URL"));
QVBox *buttonbox = new QVBox(othersTab);
buttonbox->setMargin(KDialog::spacingHint());
connect( new QPushButton(i18n("Add..."), buttonbox), SIGNAL(clicked()), this, SLOT(addClicked()) );
connect( new QPushButton(i18n("Edit..."), buttonbox), SIGNAL(clicked()), this, SLOT(editClicked()) );
connect( new QPushButton(i18n("Remove"), buttonbox), SIGNAL(clicked()), this, SLOT(removeClicked()) );
addTab(kdevelopTab, i18n("KDevelop"));
addTab(librariesTab, i18n("Qt/KDE libraries"));
addTab(othersTab, i18n("Others section"));
readConfig();
}
kdevelop'DocTreeViewConfigWidget::~DocTreeViewConfigWidget() (./kdevelop/kdevelop/doctreeviewconfigwidget.cpp:107)
DocTreeViewConfigWidget::~DocTreeViewConfigWidget()
{}
kdevelop'DocTreeViewConfigWidget::showPage() (./kdevelop/kdevelop/doctreeviewconfigwidget.cpp:111)
void DocTreeViewConfigWidget::showPage(DocTreeViewConfigWidget::Page page)
{
QTabWidget::showPage((page==KDevelop)? kdevelopTab :
(page==Libraries)? librariesTab : othersTab);
}
kdevelop'DocTreeViewConfigWidget::readConfig() (./kdevelop/kdevelop/doctreeviewconfigwidget.cpp:118)
void DocTreeViewConfigWidget::readConfig()
{
QString path = locate("appdata", "tools/documentation");
KSimpleConfig docconfig(path);
// Read in possible items for the KDevelop tree
docconfig.setGroup("Contents");
QStringList kdevelopEntries = docconfig.readListEntry("KDevelopEntries");
int kdevelopPos = 0;
for (QStringList::Iterator it = kdevelopEntries.begin();
it != kdevelopEntries.end();
++it)
{
docconfig.setGroup("KDevelop-" + (*it));
QString name = docconfig.readEntry("Name");
(void) new DocTreeViewConfigListItem(kdevelopView, name, (*it), kdevelopPos);
qDebug( "Insert %s", name.ascii() );
++kdevelopPos;
}
// Read in possible items for the Libraries tree
docconfig.setGroup("Contents");
QStringList librariesEntries = docconfig.readListEntry("LibrariesEntries");
int librariesPos = 0;
for (QStringList::Iterator it = librariesEntries.begin();
it != librariesEntries.end();
++it)
{
docconfig.setGroup("Libraries-" + (*it));
QString name = docconfig.readEntry("Name");
(void) new DocTreeViewConfigListItem(librariesView, name, (*it), librariesPos);
qDebug( "Insert %s", name.ascii() );
++librariesPos;
}
KConfig *config = KGlobal::config();
config->setGroup("DocTree");
// Enable/disable items in the KDevelop tree
QStringList kdevelopNotShown = config->readListEntry("KDevelopNotShown");
for (QStringList::Iterator it = kdevelopNotShown.begin();
it != kdevelopNotShown.end();
++it)
{
QListViewItem *item = kdevelopView->firstChild();
for (; item; item = item->nextSibling())
{
DocTreeViewConfigListItem *citem = static_cast<DocTreeViewConfigListItem*>(item);
qDebug( "Checking %s with %s", citem->ident().ascii(), (*it).ascii() );
if (citem->ident() == (*it))
citem->setOn(false);
}
}
// Enable/disable items in the Libraries tree
QStringList librariesNotShown = config->readListEntry("LibrariesNotShown");
for (QStringList::Iterator it = librariesNotShown.begin();
it != librariesNotShown.end();
++it)
{
QListViewItem *item = librariesView->firstChild();
for (; item; item = item->nextSibling())
{
DocTreeViewConfigListItem *citem = static_cast<DocTreeViewConfigListItem*>(item);
qDebug( "Checking %s with %s", citem->ident().ascii(), (*it).ascii() );
if (citem->ident() == (*it))
citem->setOn(false);
}
}
// Read in configuration of the Others tree
// Here we store what we _want_ to see, in contrast to the KDevelop/Libraries
// sections where we store what we _don't_ want to see
QStringList othersShownTitle = config->readListEntry("OthersShownTitle");
QStringList othersShownURL = config->readListEntry("OthersShownURL");
QStringList::Iterator it1 = othersShownTitle.begin();
QStringList::Iterator it2 = othersShownURL.begin();
for (; it1 != othersShownTitle.end() && it2 != othersShownURL.end(); ++it1, ++it2)
new QListViewItem(othersView, *it1, *it2);
}
kdevelop'DocTreeViewConfigWidget::storeConfig() (./kdevelop/kdevelop/doctreeviewconfigwidget.cpp:196)
void DocTreeViewConfigWidget::storeConfig()
{
KConfig *config = KGlobal::config();
config->setGroup("DocTree");
// Save KDevelop section
QStringList kdevelopNotShown;
{
QListViewItem *item = kdevelopView->firstChild();
for (; item; item = item->nextSibling())
{
DocTreeViewConfigListItem *citem = static_cast<DocTreeViewConfigListItem*>(item);
if (!citem->isOn())
kdevelopNotShown.append(citem->ident());
}
}
// Save Libraries section
config->writeEntry("KDevelopNotShown", kdevelopNotShown);
QStringList librariesNotShown;
{
QListViewItem *item = librariesView->firstChild();
for (; item; item = item->nextSibling())
{
DocTreeViewConfigListItem *citem = static_cast<DocTreeViewConfigListItem*>(item);
if (!citem->isOn())
librariesNotShown.append(citem->ident());
}
}
config->writeEntry("LibrariesNotShown", librariesNotShown);
// Save Others section
QStringList othersShownTitle, othersShownURL;
{
QListViewItem *item = othersView->firstChild();
for (; item; item = item->nextSibling())
{
othersShownTitle.append(item->text(0));
othersShownURL.append(item->text(1));
}
}
config->writeEntry("OthersShownTitle", othersShownTitle);
config->writeEntry("OthersShownURL", othersShownURL);
}
kdevelop'DocTreeViewConfigWidget::addClicked() (./kdevelop/kdevelop/doctreeviewconfigwidget.cpp:239)
void DocTreeViewConfigWidget::addClicked()
{
CDocTreePropDlg dlg;
dlg.setCaption(i18n("Add documentation entry"));
if (!dlg.exec())
return;
(void) new QListViewItem(othersView, dlg.name_edit->text(), dlg.file_edit->text());
}
kdevelop'DocTreeViewConfigWidget::editClicked() (./kdevelop/kdevelop/doctreeviewconfigwidget.cpp:250)
void DocTreeViewConfigWidget::editClicked()
{
CDocTreePropDlg dlg;
dlg.setCaption(i18n("Edit documentation entry"));
if (!dlg.exec())
return;
(void) new QListViewItem(othersView, othersView->currentItem(),
dlg.name_edit->text(), dlg.file_edit->text());
delete othersView->currentItem();
}
kdevelop'DocTreeViewConfigWidget::removeClicked() (./kdevelop/kdevelop/doctreeviewconfigwidget.cpp:263)
void DocTreeViewConfigWidget::removeClicked()
{
delete othersView->currentItem();
}
kdevelop'DocTreeViewConfigWidget::accept() (./kdevelop/kdevelop/doctreeviewconfigwidget.cpp:269)
void DocTreeViewConfigWidget::accept()
{
storeConfig();
tree->configurationChanged();
}