File: Window.pm

package info (click to toggle)
qt4-perl 4.8.4-1.2
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 8,636 kB
  • ctags: 8,100
  • sloc: perl: 42,963; cpp: 28,039; makefile: 160; xml: 98; sh: 4
file content (54 lines) | stat: -rw-r--r-- 1,493 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package Window;

use strict;
use warnings;
use QtCore4;
use QtGui4;
use QtCore4::isa qw( Qt::Widget );
use QtCore4::slots
    updateLog => ['int'];
use FileListModel;
    #Qt::TextBrowser *logViewer;

sub NEW
{
    my ($class, $parent) = @_;
    $class->SUPER::NEW( $parent );
    my $model = FileListModel(this);
    $model->setDirPath(Qt::LibraryInfo::location(Qt::LibraryInfo::PrefixPath()));

    my $label = Qt::Label(this->tr('&Directory:'));
    my $lineEdit = Qt::LineEdit();
    $label->setBuddy($lineEdit);

    my $view = Qt::ListView();
    $view->setModel($model);

    my $logViewer = Qt::TextBrowser();
    this->{logViewer} = $logViewer;
    $logViewer->setSizePolicy(Qt::SizePolicy(Qt::SizePolicy::Preferred(), Qt::SizePolicy::Preferred()));

    this->connect($lineEdit, SIGNAL 'textChanged(QString)',
            $model, SLOT 'setDirPath(QString)');
    this->connect($lineEdit, SIGNAL 'textChanged(QString)',
            $logViewer, SLOT 'clear()');
    this->connect($model, SIGNAL 'numberPopulated(int)',
            this, SLOT 'updateLog(int)');
    
    my $layout = Qt::GridLayout();
    $layout->addWidget($label, 0, 0);
    $layout->addWidget($lineEdit, 0, 1);
    $layout->addWidget($view, 1, 0, 1, 2);
    $layout->addWidget($logViewer, 2, 0, 1, 2);

    this->setLayout($layout);
    this->setWindowTitle(this->tr('Fetch More Example'));
}

sub updateLog
{
    my ($number) = @_;
    this->{logViewer}->append(sprintf this->tr('%d items added.'), $number);
}

1;