git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@79 bfdf4180-ca20-0410-9c96-a3a8aa849046

This commit is contained in:
xavierqet
2007-04-05 02:06:20 +00:00
parent f384a6c073
commit 0347680f03
2 changed files with 32 additions and 4 deletions

View File

@@ -7,13 +7,27 @@ ElementsCategoriesWidget::ElementsCategoriesWidget(QWidget * parent) : QWidget(p
// initialise la liste des categories // initialise la liste des categories
elementscategorieslist = new ElementsCategoriesList(this); elementscategorieslist = new ElementsCategoriesList(this);
// actions
action_reload = new QAction(QIcon(":/ico/reload.png"), tr("Recharger les cat\351gories"), this);
action_new = new QAction(QIcon(":/ico/new.png"), tr("Nouvelle cat\351gorie"), this);
action_open = new QAction(QIcon(":/ico/open.png"), tr("\311diter la cat\351gorie"), this);
action_delete = new QAction(QIcon(":/ico/editdelete.png"), tr("Supprimer la cat\351gorie"), this);
// initialise la barre d'outils // initialise la barre d'outils
toolbar = new QToolBar(this); toolbar = new QToolBar(this);
toolbar -> setMovable(false); toolbar -> setMovable(false);
toolbar -> addAction(QIcon(":/ico/reload.png"), tr("Recharger les cat\351gories"), elementscategorieslist, SLOT(reload()) ); toolbar -> addAction(action_reload);
toolbar -> addAction(QIcon(":/ico/new.png"), tr("Nouvelle cat\351gorie"), this, SLOT(newCategory()) ); toolbar -> addAction(action_new);
toolbar -> addAction(QIcon(":/ico/open.png"), tr("\311diter la cat\351gorie"), this, SLOT(editCategory()) ); toolbar -> addAction(action_open);
toolbar -> addAction(QIcon(":/ico/editdelete.png"), tr("Supprimer la cat\351gorie"), this, SLOT(removeCategory())); toolbar -> addAction(action_delete);
connect(action_reload, SIGNAL(triggered()), elementscategorieslist, SLOT(reload()) );
connect(action_new, SIGNAL(triggered()), this, SLOT(newCategory()) );
connect(action_open, SIGNAL(triggered()), this, SLOT(editCategory()) );
connect(action_delete, SIGNAL(triggered()), this, SLOT(removeCategory()));
connect(elementscategorieslist, SIGNAL(itemSelectionChanged()), this, SLOT(updateButtons()) );
updateButtons();
// disposition verticale // disposition verticale
QVBoxLayout *vlayout = new QVBoxLayout(this); QVBoxLayout *vlayout = new QVBoxLayout(this);
@@ -88,3 +102,12 @@ void ElementsCategoriesWidget::removeCategory() {
// recharge la liste des categories // recharge la liste des categories
elementscategorieslist -> reload(); elementscategorieslist -> reload();
} }
void ElementsCategoriesWidget::updateButtons() {
QList<QTreeWidgetItem *> sel_items = elementscategorieslist -> selectedItems();
bool sel_items_empty = !sel_items.isEmpty();
bool is_top_lvl_item = sel_items_empty && (elementscategorieslist -> indexOfTopLevelItem(sel_items.at(0)) != -1);
action_new -> setEnabled(sel_items_empty);
action_open -> setEnabled(sel_items_empty && !is_top_lvl_item);
action_delete -> setEnabled(sel_items_empty && !is_top_lvl_item);
}

View File

@@ -17,6 +17,10 @@ class ElementsCategoriesWidget : public QWidget {
private: private:
ElementsCategoriesList *elementscategorieslist; ElementsCategoriesList *elementscategorieslist;
QToolBar *toolbar; QToolBar *toolbar;
QAction *action_reload;
QAction *action_new;
QAction *action_open;
QAction *action_delete;
// methodes // methodes
bool rmdir(const QString &); bool rmdir(const QString &);
@@ -28,5 +32,6 @@ class ElementsCategoriesWidget : public QWidget {
void newCategory(); void newCategory();
void editCategory(); void editCategory();
void removeCategory(); void removeCategory();
void updateButtons();
}; };
#endif #endif