Commits

Shlomi Fish committed c627e08

Moved.

  • Participants
  • Parent commits ae2ec02

Comments (0)

Files changed (10)

App-Qt-AdHocFileManager/dist.ini

-name    = App-LMN
-author  = Shlomi Fish <shlomif@cpan.org>
-license = MIT
-copyright_holder = Shlomi Fish
-copyright_year   = 2012
-
-version = 0.001
-
-[@Basic]

App-Qt-AdHocFileManager/lib/App/LMN.pm

-package App::LMN;
-
-use strict;
-use warnings;
-
-use QtCore4;
-use QtGui4;
-use App::LMN::Window;
-
-sub main {
-    my $app = Qt::Application( \@ARGV );
-    my $window = App::LMN::Window();
-    $window->show();
-    exit $app->exec();
-}
-
-main();
-1;

App-Qt-AdHocFileManager/lib/App/LMN/FileBrowserWidget.pm

-package App::LMN::FileBrowserWidget;
-
-use strict;
-use warnings;
-use autodie;
-
-use utf8;
-
-use File::Spec;
-use File::stat;
-
-use QtCore4;
-use QtGui4;
-
-use QtCore4::isa qw( Qt::TreeWidget );
-use QtCore4::slots update => [];
-
-sub dir_pathname
-{
-    return this->{dir_pathname};
-}
-
-sub _populate_tree_with_files
-{
-    my $dir_pathname = this->dir_pathname;
-
-    my $dh;
-    opendir $dh, $dir_pathname;
-
-    my @entries = sort (File::Spec->no_upwards(readdir($dh)));
-
-    closedir ($dh);
-
-    foreach my $filename (@entries)
-    {
-        my $st = stat( File::Spec->catfile($dir_pathname, $filename) );
-        this->addTopLevelItem(Qt::TreeWidgetItem([$filename, $st->size(), scalar(localtime($st->mtime()))], Qt::TreeWidgetItem::Type()));
-    }
-
-    return;
-}
-
-sub NEW
-{
-    my ( $class, $parent, $args ) = @_;
-    $class->SUPER::NEW( $parent );
-
-    my $dir_pathname = $args->{dir_pathname};
-    this->{dir_pathname} = $dir_pathname;
-
-    this->setHeaderLabels(["Name", "Size", "Date Modified",]);
-    this->_populate_tree_with_files();
-
-    return;
-}
-
-1;

App-Qt-AdHocFileManager/lib/App/LMN/Window.pm

-package App::LMN::Window;
-
-use strict;
-use warnings;
-use autodie;
-
-use utf8;
-
-use File::Spec;
-use File::stat;
-
-use QtCore4;
-use QtGui4;
-
-use QtCore4::isa qw( Qt::MainWindow );
-use QtCore4::slots update => [], windowExit => [];
-
-use App::LMN::FileBrowserWidget;
-
-sub addendLineEdit() {
-    return this->{addendLineEdit};
-}
-
-sub addend2LineEdit() {
-    return this->{addend2LineEdit};
-}
-
-sub setAddendLineEdit() {
-    return this->{addendLineEdit} = shift;
-}
-
-sub setAddend2LineEdit() {
-    return this->{addend2LineEdit} = shift;
-}
-
-sub resultLineEdit() {
-    return this->{resultLineEdit};
-}
-
-sub setAccessLineEdit() {
-    return this->{resultLineEdit} = shift;
-}
-
-sub update {
-    this->resultLineEdit->setText(
-        this->addendLineEdit()->text() + this->addend2LineEdit->text()
-    );
-}
-
-
-
-sub windowExit() {
-    exit(0);
-}
-
-sub NEW {
-    my ( $class, $parent ) = @_;
-    $class->SUPER::NEW( $parent );
-
-    my $addendGroup = Qt::GroupBox();
-
-    my $addendLabel = Qt::Label(this->tr('Addend #1:'));
-
-    my $addend2Group = Qt::GroupBox();
-
-    my $addend2Label = Qt::Label(this->tr('Addend #2:'));
-
-    this->setAddendLineEdit( Qt::LineEdit("1") );
-    this->setAddend2LineEdit( Qt::LineEdit("1") );
-
-    my $resultGroup = Qt::GroupBox();
-
-    my $resultLabel = Qt::Label(this->tr('Result:'));
-
-    this->setAccessLineEdit( Qt::LineEdit() );
-
-    this->resultLineEdit->setReadOnly(1);
-
-    my $addendLayout = Qt::GridLayout();
-    $addendLayout->addWidget($addendLabel, 0, 0);
-    $addendLayout->addWidget(this->addendLineEdit, 1, 0, 1, 2);
-    $addendGroup->setLayout($addendLayout);
-
-    this->addendLineEdit->setValidator(Qt::DoubleValidator(5,
-            999.0, 2, this->addendLineEdit));
-
-    my $addend2Layout = Qt::GridLayout();
-    $addend2Layout->addWidget($addend2Label, 0, 0);
-    $addend2Layout->addWidget(this->addend2LineEdit, 1, 0, 1, 2);
-    $addend2Group->setLayout($addend2Layout);
-
-    this->addend2LineEdit->setValidator(Qt::DoubleValidator(5,
-            999.0, 2, this->addend2LineEdit));
-
-    my $resultLayout = Qt::GridLayout();
-    $resultLayout->addWidget($resultLabel, 0, 0);
-    $resultLayout->addWidget(this->resultLineEdit, 1, 0, 1, 2);
-    $resultGroup->setLayout($resultLayout);
-
-
-    my $layout = Qt::GridLayout();
-    $layout->addWidget($addendGroup, 0, 0);
-    $layout->addWidget($addend2Group, 0, 1);
-    $layout->addWidget($resultGroup, 0, 2);
-
-    my $update_button = Qt::PushButton("Update");
-    $layout->addWidget($update_button, 1, 0, 1, 2);
-
-    my $tab_widget = Qt::TabWidget();
-
-    foreach my $dir_pathname (@ARGV)
-    {
-        $tab_widget->addTab(
-            App::LMN::FileBrowserWidget(
-                this,
-                {
-                    dir_pathname => $dir_pathname,
-                }
-            ),
-            $dir_pathname,
-        );
-    }
-
-    $layout->addWidget($tab_widget, 2, 0, 1, 3);
-
-    my $widget = Qt::Widget();
-    $widget->setLayout($layout);
-    this->setCentralWidget($widget);
-
-    this->connect($update_button, SIGNAL 'clicked()',
-        this, SLOT 'update()');
-
-    this->setWindowTitle(this->tr(q{Shlomif's Ad-Hoc File Manager}));
-
-    my $fileMenu = this->menuBar()->addMenu(this->tr("&File"));
-    my $exitAction = Qt::Action(this->tr("E&xit"), this);
-
-    this->connect($exitAction, SIGNAL 'triggered()',
-        this, SLOT 'windowExit()');
-
-    $fileMenu->addAction($exitAction);
-
-    this->update();
-}
-
-1;

App-Qt-AdHocFileManager/scripts/lmn-file-manager

-#!/bin/sh
-perl -Ilib -M"App::LMN" -e '' "/media/win_d/Music/mp3" \
-    "/mnt/smb/music/Music/mp3s/"

LMN-File-Manager/dist.ini

+name    = App-LMN
+author  = Shlomi Fish <shlomif@cpan.org>
+license = MIT
+copyright_holder = Shlomi Fish
+copyright_year   = 2012
+
+version = 0.001
+
+[@Basic]

LMN-File-Manager/lib/App/LMN.pm

+package App::LMN;
+
+use strict;
+use warnings;
+
+use QtCore4;
+use QtGui4;
+use App::LMN::Window;
+
+sub main {
+    my $app = Qt::Application( \@ARGV );
+    my $window = App::LMN::Window();
+    $window->show();
+    exit $app->exec();
+}
+
+main();
+1;

LMN-File-Manager/lib/App/LMN/FileBrowserWidget.pm

+package App::LMN::FileBrowserWidget;
+
+use strict;
+use warnings;
+use autodie;
+
+use utf8;
+
+use File::Spec;
+use File::stat;
+
+use QtCore4;
+use QtGui4;
+
+use QtCore4::isa qw( Qt::TreeWidget );
+use QtCore4::slots update => [];
+
+sub dir_pathname
+{
+    return this->{dir_pathname};
+}
+
+sub _populate_tree_with_files
+{
+    my $dir_pathname = this->dir_pathname;
+
+    my $dh;
+    opendir $dh, $dir_pathname;
+
+    my @entries = sort (File::Spec->no_upwards(readdir($dh)));
+
+    closedir ($dh);
+
+    foreach my $filename (@entries)
+    {
+        my $st = stat( File::Spec->catfile($dir_pathname, $filename) );
+        this->addTopLevelItem(Qt::TreeWidgetItem([$filename, $st->size(), scalar(localtime($st->mtime()))], Qt::TreeWidgetItem::Type()));
+    }
+
+    return;
+}
+
+sub NEW
+{
+    my ( $class, $parent, $args ) = @_;
+    $class->SUPER::NEW( $parent );
+
+    my $dir_pathname = $args->{dir_pathname};
+    this->{dir_pathname} = $dir_pathname;
+
+    this->setHeaderLabels(["Name", "Size", "Date Modified",]);
+    this->_populate_tree_with_files();
+
+    return;
+}
+
+1;

LMN-File-Manager/lib/App/LMN/Window.pm

+package App::LMN::Window;
+
+use strict;
+use warnings;
+use autodie;
+
+use utf8;
+
+use File::Spec;
+use File::stat;
+
+use QtCore4;
+use QtGui4;
+
+use QtCore4::isa qw( Qt::MainWindow );
+use QtCore4::slots update => [], windowExit => [];
+
+use App::LMN::FileBrowserWidget;
+
+sub addendLineEdit() {
+    return this->{addendLineEdit};
+}
+
+sub addend2LineEdit() {
+    return this->{addend2LineEdit};
+}
+
+sub setAddendLineEdit() {
+    return this->{addendLineEdit} = shift;
+}
+
+sub setAddend2LineEdit() {
+    return this->{addend2LineEdit} = shift;
+}
+
+sub resultLineEdit() {
+    return this->{resultLineEdit};
+}
+
+sub setAccessLineEdit() {
+    return this->{resultLineEdit} = shift;
+}
+
+sub update {
+    this->resultLineEdit->setText(
+        this->addendLineEdit()->text() + this->addend2LineEdit->text()
+    );
+}
+
+
+
+sub windowExit() {
+    exit(0);
+}
+
+sub NEW {
+    my ( $class, $parent ) = @_;
+    $class->SUPER::NEW( $parent );
+
+    my $addendGroup = Qt::GroupBox();
+
+    my $addendLabel = Qt::Label(this->tr('Addend #1:'));
+
+    my $addend2Group = Qt::GroupBox();
+
+    my $addend2Label = Qt::Label(this->tr('Addend #2:'));
+
+    this->setAddendLineEdit( Qt::LineEdit("1") );
+    this->setAddend2LineEdit( Qt::LineEdit("1") );
+
+    my $resultGroup = Qt::GroupBox();
+
+    my $resultLabel = Qt::Label(this->tr('Result:'));
+
+    this->setAccessLineEdit( Qt::LineEdit() );
+
+    this->resultLineEdit->setReadOnly(1);
+
+    my $addendLayout = Qt::GridLayout();
+    $addendLayout->addWidget($addendLabel, 0, 0);
+    $addendLayout->addWidget(this->addendLineEdit, 1, 0, 1, 2);
+    $addendGroup->setLayout($addendLayout);
+
+    this->addendLineEdit->setValidator(Qt::DoubleValidator(5,
+            999.0, 2, this->addendLineEdit));
+
+    my $addend2Layout = Qt::GridLayout();
+    $addend2Layout->addWidget($addend2Label, 0, 0);
+    $addend2Layout->addWidget(this->addend2LineEdit, 1, 0, 1, 2);
+    $addend2Group->setLayout($addend2Layout);
+
+    this->addend2LineEdit->setValidator(Qt::DoubleValidator(5,
+            999.0, 2, this->addend2LineEdit));
+
+    my $resultLayout = Qt::GridLayout();
+    $resultLayout->addWidget($resultLabel, 0, 0);
+    $resultLayout->addWidget(this->resultLineEdit, 1, 0, 1, 2);
+    $resultGroup->setLayout($resultLayout);
+
+
+    my $layout = Qt::GridLayout();
+    $layout->addWidget($addendGroup, 0, 0);
+    $layout->addWidget($addend2Group, 0, 1);
+    $layout->addWidget($resultGroup, 0, 2);
+
+    my $update_button = Qt::PushButton("Update");
+    $layout->addWidget($update_button, 1, 0, 1, 2);
+
+    my $tab_widget = Qt::TabWidget();
+
+    foreach my $dir_pathname (@ARGV)
+    {
+        $tab_widget->addTab(
+            App::LMN::FileBrowserWidget(
+                this,
+                {
+                    dir_pathname => $dir_pathname,
+                }
+            ),
+            $dir_pathname,
+        );
+    }
+
+    $layout->addWidget($tab_widget, 2, 0, 1, 3);
+
+    my $widget = Qt::Widget();
+    $widget->setLayout($layout);
+    this->setCentralWidget($widget);
+
+    this->connect($update_button, SIGNAL 'clicked()',
+        this, SLOT 'update()');
+
+    this->setWindowTitle(this->tr(q{Shlomif's Ad-Hoc File Manager}));
+
+    my $fileMenu = this->menuBar()->addMenu(this->tr("&File"));
+    my $exitAction = Qt::Action(this->tr("E&xit"), this);
+
+    this->connect($exitAction, SIGNAL 'triggered()',
+        this, SLOT 'windowExit()');
+
+    $fileMenu->addAction($exitAction);
+
+    this->update();
+}
+
+1;

LMN-File-Manager/scripts/lmn-file-manager

+#!/bin/sh
+perl -Ilib -M"App::LMN" -e '' "/media/win_d/Music/mp3" \
+    "/mnt/smb/music/Music/mp3s/"