Skip to content

Commit 7fb5b0d

Browse files
committed
Add option to include hidden files when adding folder
CLI: --IncludeHidden (restore previous version behavior) GUI: Checkbox option Signed-off-by: Maxime Gervais <[email protected]>
1 parent 5fa570a commit 7fb5b0d

File tree

10 files changed

+47
-12
lines changed

10 files changed

+47
-12
lines changed

Source/CLI/CLI.cpp

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ void __stdcall Event_CallBackFunction(unsigned char* Data_Content, size_t Data_S
124124

125125
//--------------------------------------------------------------------------
126126
CLI::CLI() : watch_folder_user(NULL), use_as_user(-1), use_daemon(false), asynchronous(false),
127-
force_analyze(false), mil_analyze(true),
127+
force_analyze(false), full_report(false), include_hidden_files(false), mil_analyze(true),
128128
watch_folder_recursive(true), create_policy_mode(false), file_information(false),
129129
plugins_list_mode(false), list_watch_folders_mode(false), no_needs_files_mode(false),
130130
list_mode(false), fixer(false)
@@ -797,6 +797,12 @@ void __stdcall Event_CallBackFunction(unsigned char* Data_Content, size_t Data_S
797797
full_report = full;
798798
}
799799

800+
//--------------------------------------------------------------------------
801+
void CLI::set_include_hidden(bool hidden)
802+
{
803+
include_hidden_files = hidden;
804+
}
805+
800806
//--------------------------------------------------------------------------
801807
int CLI::add_plugin_to_use(const std::string& plugin)
802808
{
@@ -1067,10 +1073,11 @@ void __stdcall Event_CallBackFunction(unsigned char* Data_Content, size_t Data_S
10671073
return;
10681074
}
10691075

1070-
ZenLib::ZtringList list = ZenLib::Dir::GetAllFileNames(dirname,
1071-
(ZenLib::Dir::dirlist_t)(ZenLib::Dir::Include_Files |
1072-
ZenLib::Dir::Include_Hidden |
1073-
ZenLib::Dir::Parse_SubDirs));
1076+
int flags = ZenLib::Dir::Include_Files | ZenLib::Dir::Parse_SubDirs;
1077+
if (include_hidden_files)
1078+
flags |= ZenLib::Dir::Include_Hidden;
1079+
1080+
ZenLib::ZtringList list = ZenLib::Dir::GetAllFileNames(dirname, (ZenLib::Dir::dirlist_t)flags);
10741081

10751082
for (size_t i =0; i < list.size(); ++i)
10761083
files.push_back(ZenLib::Ztring(list[i]).To_UTF8()); //Append the filename to the list of filenames to parse

Source/CLI/CLI.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ namespace MediaConch
4646
int set_policy_reference_file(const std::string& file);
4747
void set_policy_verbosity(const std::string& verbosity);
4848
void set_full_report(bool full);
49+
void set_include_hidden(bool hidden);
4950
int add_plugin_to_use(const std::string& plugin);
5051
int set_user_to_use(const std::string& user);
5152
int set_compression_mode(const std::string& mode_str);
@@ -103,6 +104,7 @@ namespace MediaConch
103104
bool asynchronous;
104105
bool force_analyze;
105106
bool full_report;
107+
bool include_hidden_files;
106108
bool mil_analyze;
107109
bool watch_folder_recursive;
108110
bool create_policy_mode;

Source/CLI/CommandLine_Parser.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,7 @@ int Parse(MediaConch::CLI* cli, std::string& argument)
270270
OPTION("--compression", Compression)
271271
OPTION("--force", Force)
272272
OPTION("--full", Full)
273+
OPTION("--includehidden", IncludeHidden)
273274
OPTION("--nomilanalyze", NoMilAnalyze)
274275
OPTION("--async", Asynchronous)
275276
OPTION("--pluginslist", PluginsList)
@@ -530,6 +531,14 @@ CL_OPTION(Full)
530531
return CLI_RETURN_NONE;
531532
}
532533

534+
//---------------------------------------------------------------------------
535+
CL_OPTION(IncludeHidden)
536+
{
537+
(void)argument;
538+
cli->set_include_hidden(true);
539+
return CLI_RETURN_NONE;
540+
}
541+
533542
//---------------------------------------------------------------------------
534543
CL_OPTION(NoMilAnalyze)
535544
{

Source/CLI/CommandLine_Parser.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ CL_OPTION(PolicyVerbosity);
4949
CL_OPTION(Compression);
5050
CL_OPTION(Force);
5151
CL_OPTION(Full);
52+
CL_OPTION(IncludeHidden);
5253
CL_OPTION(NoMilAnalyze);
5354
CL_OPTION(Asynchronous);
5455
CL_OPTION(UsePlugin);

Source/CLI/Help.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,8 @@ int Help()
144144
TEXTOUT("File:");
145145
TEXTOUT(" --FileInformation, -fi");
146146
TEXTOUT(" Print files information and quit");
147+
TEXTOUT(" --IncludeHidden");
148+
TEXTOUT(" Include Hidden files when analysing a folder");
147149

148150
return CLI_RETURN_FINISH;
149151
}

Source/GUI/Qt/WebCommonPage.cpp

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,7 @@ namespace MediaConch
365365
}
366366

367367
QString WebCommonPage::on_file_repository_selected(const QString& policy, const QString& display,
368-
const QString& verbosity, bool fixer,
368+
const QString& verbosity, bool fixer, bool hidden,
369369
const QStringList& options)
370370
{
371371
QStringList dirname = file_selector.value("checkerRepository_directory", QStringList());
@@ -374,7 +374,7 @@ namespace MediaConch
374374

375375
QDir dir(dirname.last());
376376
QFileInfoList list;
377-
add_sub_directory_files_to_list(dir, list);
377+
add_sub_directory_files_to_list(dir, list, hidden);
378378
if (!list.count())
379379
return QString("{\"error\": \"Folder selected is empty.\"}");
380380

@@ -991,16 +991,20 @@ namespace MediaConch
991991
return json;
992992
}
993993

994-
void WebCommonPage::add_sub_directory_files_to_list(const QDir dir, QFileInfoList& list)
994+
void WebCommonPage::add_sub_directory_files_to_list(const QDir dir, QFileInfoList& list, bool hidden)
995995
{
996-
QFileInfoList tmp = dir.entryInfoList(QDir::Files);
996+
int flags = QDir::Files;
997+
if (hidden)
998+
flags |= QDir::Hidden;
999+
1000+
QFileInfoList tmp = dir.entryInfoList((QDir::Filter)flags);
9971001
list << tmp;
9981002

9991003
tmp = dir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot);
10001004
for (int i = 0; i < tmp.size(); ++i)
10011005
{
10021006
QDir tmp_dir(tmp[i].absoluteFilePath());
1003-
add_sub_directory_files_to_list(tmp_dir, list);
1007+
add_sub_directory_files_to_list(tmp_dir, list, hidden);
10041008
}
10051009
}
10061010

Source/GUI/Qt/WebCommonPage.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class WebCommonPage : public QWebEnginePage
5353

5454
protected:
5555
void clean_forms();
56-
void add_sub_directory_files_to_list(const QDir dir, QFileInfoList& list);
56+
void add_sub_directory_files_to_list(const QDir dir, QFileInfoList& list, bool hidden = false);
5757
void charge_local_dir(const QString& directory, QStringList& tmp);
5858
QString choose_file_settings();
5959
QString choose_file_import_policy();
@@ -75,7 +75,7 @@ public Q_SLOTS:
7575
QString on_file_online_selected(const QString& url, const QString& policy, const QString& display,
7676
const QString& verbosity, bool fixer, const QStringList&);
7777
QString on_file_repository_selected(const QString& policy, const QString& display,
78-
const QString& verbosity, bool fixer, const QStringList&);
78+
const QString& verbosity, bool fixer, bool hidden, const QStringList&);
7979
QString on_file_from_db_selected();
8080
QString status_reports_multi(const QStringList& ids, const QStringList& policy_ids);
8181
void on_save_settings_selected(const QJsonObject& values);

Source/Resource/html/formRepository.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,14 @@
4747
</div>
4848
</div>
4949

50+
<div class="col-md-12 checkerHidden">
51+
<div class="form-group">
52+
<div class="checkbox">
53+
<label class="label_hidden"><input type="checkbox" id="checkerRepository_hidden" name="checkerRepository_hidden" value="1" /> Include hidden files</label>
54+
</div>
55+
</div>
56+
</div>
57+
5058
<div class="col-md-10">
5159
<div class="form-group">
5260
<label class="col-sm-2 control-label required" for="checkerRepository_directory">Select folder</label>

Source/Resource/html/js/checker/webengine.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ var checkerAjax = (function() {
5151
$('.tab-content .active .displayList').val(),
5252
$('.tab-content .active .verbosityList').val(),
5353
$('#checkerRepository_fixer').is(':checked'),
54+
$('#checkerRepository_hidden').is(':checked'),
5455
options,
5556
function (res)
5657
{

Source/Resource/html/js/checker/webkit.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ var checkerAjax = (function() {
4242
$('.tab-content .active .displayList').val(),
4343
$('.tab-content .active .verbosityList').val(),
4444
$('#checkerRepository_fixer').is(':checked'),
45+
$('#checkerRepository_hidden').is(':checked'),
4546
options);
4647
}
4748

0 commit comments

Comments
 (0)