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

Class Index

kcontrol'IndexWidget (./kdebase/kcontrol/kcontrol/indexwidget.h:32)

class IndexWidget : public QWidget
{
  Q_OBJECT;
  
public:   
  IndexWidget(ConfigModuleList *list, QWidget *parent, const char *name=0);
  virtual ~IndexWidget();

public slots:
  void makeVisible(ConfigModule *module);
  void makeSelected(ConfigModule *module);
  void activateView(IndexViewMode);
  void reload();

protected slots:
  void moduleSelected(ConfigModule *);

signals:
  void moduleActivated(ConfigModule *module);

protected:
  void resizeEvent(QResizeEvent *);

private:
  ModuleTreeView   *_tree;
  ModuleIconView   *_icon;
  ConfigModuleList *_modules;
  IndexViewMode    viewMode;
};

kcontrol'IndexWidget::IndexWidget() (./kdebase/kcontrol/kcontrol/indexwidget.cpp:32)

IndexWidget::IndexWidget(ConfigModuleList *modules, QWidget *parent ,const char *name)
  : QWidget(parent, name)
  , _modules(modules)
  , viewMode(Icon)
{
  // treeview
  _tree = new ModuleTreeView(_modules, this);
  _tree->fill();
  connect(_tree, SIGNAL(moduleSelected(ConfigModule*)), 
		  this, SLOT(moduleSelected(ConfigModule*)));

  // iconview
  _icon = new ModuleIconView(_modules, this);
  _icon->fill();
  connect(_icon, SIGNAL(moduleSelected(ConfigModule*)), 
		  this, SLOT(moduleSelected(ConfigModule*)));
  activateView(Icon);
}


kcontrol'IndexWidget::~IndexWidget() (./kdebase/kcontrol/kcontrol/indexwidget.cpp:51)

IndexWidget::~IndexWidget() {}


kcontrol'IndexWidget::reload() (./kdebase/kcontrol/kcontrol/indexwidget.cpp:53)

void IndexWidget::reload()
{
  _icon->fill();
}


kcontrol'IndexWidget::resizeEvent() (./kdebase/kcontrol/kcontrol/indexwidget.cpp:58)

void IndexWidget::resizeEvent(QResizeEvent *)
{
  _tree->move(0,0);
  _tree->resize(width(), height());

  _icon->move(0,0);
  _icon->resize(width(), height());
  _icon->setGridX(width()-26);
  _icon->fill();
}


kcontrol'IndexWidget::moduleSelected() (./kdebase/kcontrol/kcontrol/indexwidget.cpp:69)

void IndexWidget::moduleSelected(ConfigModule *m)
{
  if(!m) return;

  emit moduleActivated(m);

  if (sender()->inherits("ModuleIconView"))
	{
	  _tree->makeVisible(m);

	  _tree->disconnect(SIGNAL(moduleSelected(ConfigModule*)));
	  _tree->makeSelected(m);
	  connect(_tree, SIGNAL(moduleSelected(ConfigModule*)), 
			  this, SLOT(moduleSelected(ConfigModule*)));
	}
  else if (sender()->inherits("ModuleTreeView"))
	{
	  _icon->makeVisible(m);

	  _icon->disconnect(SIGNAL(moduleSelected(ConfigModule*)));
	  _icon->makeSelected(m);
	  connect(_icon, SIGNAL(moduleSelected(ConfigModule*)), 
			 this, SLOT(moduleSelected(ConfigModule*)));
	}
}


kcontrol'IndexWidget::makeSelected() (./kdebase/kcontrol/kcontrol/indexwidget.cpp:95)

void IndexWidget::makeSelected(ConfigModule *module)
{
  _icon->disconnect(SIGNAL(moduleSelected(ConfigModule*)));
  _tree->disconnect(SIGNAL(moduleSelected(ConfigModule*)));

  _icon->makeSelected(module);
  _tree->makeSelected(module);

  connect(_icon, SIGNAL(moduleSelected(ConfigModule*)), 
		  this, SLOT(moduleSelected(ConfigModule*)));

  connect(_tree, SIGNAL(moduleSelected(ConfigModule*)), 
		  this, SLOT(moduleSelected(ConfigModule*)));
}


kcontrol'IndexWidget::makeVisible() (./kdebase/kcontrol/kcontrol/indexwidget.cpp:110)

void IndexWidget::makeVisible(ConfigModule *module)
{
  _icon->makeVisible(module);
  _tree->makeVisible(module);
}


kcontrol'IndexWidget::activateView() (./kdebase/kcontrol/kcontrol/indexwidget.cpp:116)

void IndexWidget::activateView(IndexViewMode mode)
{
  viewMode = mode;

  if (mode == Icon)
    {
      _tree->hide();
      _icon->show();
      _icon->setFocus();
    }
  else
    {
      _tree->show();
      _tree->setFocus();
      _icon->hide();
    }
}