From 7167ce41b61d2ba2cdb526777a4233eb84a3b66a Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Sat, 6 Dec 2014 17:33:25 -0500 Subject: Imported Upstream version 2.99.6 --- .../sqlitestudiocli/commands/clicommanddir.cpp | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 SQLiteStudio3/sqlitestudiocli/commands/clicommanddir.cpp (limited to 'SQLiteStudio3/sqlitestudiocli/commands/clicommanddir.cpp') diff --git a/SQLiteStudio3/sqlitestudiocli/commands/clicommanddir.cpp b/SQLiteStudio3/sqlitestudiocli/commands/clicommanddir.cpp new file mode 100644 index 0000000..c61f503 --- /dev/null +++ b/SQLiteStudio3/sqlitestudiocli/commands/clicommanddir.cpp @@ -0,0 +1,50 @@ +#include "clicommanddir.h" +#include + +void CliCommandDir::execute() +{ + QDir dir; + QFileInfoList entries; + + if (syntax.isArgumentSet(DIR_OR_FILE)) + { + QString filter = getFilterAndFixDir(dir, syntax.getArgument(DIR_OR_FILE)); + entries = dir.entryInfoList({filter}, QDir::AllEntries|QDir::NoDotAndDotDot, QDir::DirsFirst|QDir::LocaleAware|QDir::Name); + } + else + entries = dir.entryInfoList(QDir::AllEntries|QDir::NoDotAndDotDot, QDir::DirsFirst|QDir::LocaleAware|QDir::Name); + + QString name; + foreach (const QFileInfo& entry, entries) + { + name = entry.fileName(); + if (entry.isDir()) + name += "/"; + + if (dir != QDir::current()) + name.prepend(dir.path()+"/"); + + println(name); + } +} + +QString CliCommandDir::shortHelp() const +{ + return tr("lists directories and files in current working directory"); +} + +QString CliCommandDir::fullHelp() const +{ + return tr( + "This is very similar to 'dir' command known from Windows and 'ls' command from Unix systems.\n" + "\n" + "You can pass with wildcard characters to filter output." + ); +} + +void CliCommandDir::defineSyntax() +{ + syntax.setName("dir"); + syntax.addAlias("ls"); + syntax.addArgument(DIR_OR_FILE, tr("pattern"), false); +} -- cgit v1.2.3