~lubuntu-dev/juffed/trunk

« back to all changes in this revision

Viewing changes to plugins/doclist/DocListPanel.cpp

  • Committer: Mikhail Murzin
  • Date: 2012-01-31 01:33:22 UTC
  • Revision ID: git-v1:28dda15acf875c1565ffd527d8d4e8daa88ac487
Added plugins

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "DocListPanel.h"
 
2
 
 
3
#include <QHeaderView>
 
4
 
 
5
DocListPanel::DocListPanel() : QWidget() {
 
6
        setWindowTitle(tr("Documents"));
 
7
        
 
8
        tree_ = new TreeWidget();
 
9
        filter_ = new FilterLineEdit();
 
10
        filter_->setMaximumHeight(24);
 
11
        
 
12
        QVBoxLayout* vBox = new QVBoxLayout();
 
13
        vBox->setMargin(0);
 
14
        vBox->setSpacing(2);
 
15
        setLayout(vBox);
 
16
        
 
17
        vBox->addWidget(tree_);
 
18
        vBox->addWidget(filter_);
 
19
        
 
20
        QStringList labels;
 
21
        labels << "Name" << "Full name";
 
22
        tree_->setHeaderLabels(labels);
 
23
 
 
24
        tree_->header()->hide();
 
25
        tree_->setColumnHidden(1, true);
 
26
        tree_->setRootIsDecorated(false);
 
27
        
 
28
        connect(filter_->lineEd_, SIGNAL(textChanged(const QString&)), SLOT(filterItems(const QString&)));
 
29
        connect(filter_->clearBtn_, SIGNAL(clicked()), SLOT(clear()));
 
30
}
 
31
 
 
32
void DocListPanel::filterItems(const QString& text) {
 
33
        int n = tree_->topLevelItemCount();
 
34
        for (int i = 0; i < n; ++i) {
 
35
                QTreeWidgetItem* item = tree_->topLevelItem(i);
 
36
                if ( item->text(0).toLower().contains(text.toLower()) ) {
 
37
                        item->setHidden(false);
 
38
                }
 
39
                else {
 
40
                        item->setHidden(true);
 
41
                }
 
42
        }
 
43
}
 
44
 
 
45
void DocListPanel::clear() {
 
46
        filter_->lineEd_->setText("");
 
47
}