Skip to content

Commit bb5b9fc

Browse files
committed
code refactoring
1 parent 0639eb6 commit bb5b9fc

File tree

8 files changed

+86
-95
lines changed

8 files changed

+86
-95
lines changed

src/access-manager.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@
1919
#define ACCESSMANAGER_H
2020

2121
#include <QApplication>
22-
#include <QDir>
2322
#include <QDesktopServices>
2423
#include <QDesktopWidget>
24+
#include <QDir>
2525
#include <QMimeDatabase>
2626
#include <QtNetwork/QNetworkAccessManager>
2727

src/main.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@
2929

3030
#include <qglobal.h>
3131
#include <QApplication>
32-
#include <QTextCodec>
33-
#include <QJsonArray>
3432
#include <QDateTime>
3533
#include <QDebug>
34+
#include <QJsonArray>
35+
#include <QTextCodec>
3636

3737
#include "main-window.h"
3838
#include "exit-handler.h"

src/page.h

Lines changed: 74 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,17 @@
1818
#ifndef PAGE_H
1919
#define PAGE_H
2020

21+
#include <QInputDialog>
22+
#include <QJsonDocument>
23+
#include <QJsonObject>
24+
#include <QMessageBox>
2125
#include <QNetworkReply>
26+
#include <QRegularExpression>
27+
#include <QTimer>
2228
#include <QUrl>
2329
#include <QUrlQuery>
2430
#include <QWebPage>
2531
#include <QWebFrame>
26-
#include <QTimer>
27-
#include <QJsonDocument>
28-
#include <QJsonObject>
29-
#include <QInputDialog>
30-
#include <QMessageBox>
3132

3233
#include "file-reader.h"
3334
#include "script-handler.h"
@@ -48,7 +49,6 @@ class QPage : public QWebPage
4849
void displayScriptErrorsSignal(QString errors);
4950
void printPreviewSignal();
5051
void printSignal();
51-
void selectInodeSignal(QNetworkRequest request);
5252
void pageStatusSignal(QString pageStatus);
5353
void closeAllScriptsSignal();
5454
void closeWindowSignal();
@@ -303,6 +303,70 @@ public slots:
303303
QPage::mainFrame()->setHtml(htmlErrorContents);
304304
}
305305

306+
// ==============================
307+
// Select files or folders:
308+
// ==============================
309+
void qSelectInodesSlot(QNetworkRequest request)
310+
{
311+
QString target = request.url().query().replace("target=", "");
312+
313+
QFileDialog inodesDialog (qApp->activeWindow());
314+
inodesDialog.setWindowModality(Qt::WindowModal);
315+
inodesDialog.setViewMode(QFileDialog::Detail);
316+
// inodesDialog.setWindowTitle(QViewWidget::title());
317+
#ifdef Q_OS_WIN
318+
inodesDialog.setOption(QFileDialog::DontUseNativeDialog);
319+
#endif
320+
321+
if (request.url().fileName() == "open-file.function") {
322+
inodesDialog.setFileMode(QFileDialog::AnyFile);
323+
}
324+
325+
if (request.url().fileName() == "open-files.function") {
326+
inodesDialog.setFileMode(QFileDialog::ExistingFiles);
327+
}
328+
329+
if (request.url().fileName() == "new-file-name.function") {
330+
inodesDialog.setAcceptMode(QFileDialog::AcceptSave);
331+
}
332+
333+
if (request.url().fileName() == "open-directory.function") {
334+
inodesDialog.setFileMode(QFileDialog::Directory);
335+
}
336+
337+
QStringList userSelectedInodes;
338+
if (inodesDialog.exec()) {
339+
userSelectedInodes = inodesDialog.selectedFiles();
340+
}
341+
342+
inodesDialog.close();
343+
inodesDialog.deleteLater();
344+
345+
if (!userSelectedInodes.isEmpty()) {
346+
QString userSelectedInodesFormatted;
347+
foreach (QString userSelectedInode, userSelectedInodes) {
348+
userSelectedInodesFormatted.append(userSelectedInode);
349+
userSelectedInodesFormatted.append(";");
350+
}
351+
userSelectedInodesFormatted.replace(QRegularExpression(";$"), "");
352+
353+
// JavaScript bridge back to
354+
// the local HTML frame where request originated:
355+
qJavaScriptInjector(currentFrame());
356+
357+
QString inodeSelectedJavaScript =
358+
"pebInodeSelection(\"" +
359+
userSelectedInodesFormatted +
360+
"\" , \"" +
361+
target +
362+
"\"); null";
363+
364+
currentFrame()->evaluateJavaScript(inodeSelectedJavaScript);
365+
366+
qDebug() << "User selected inode:" << userSelectedInodesFormatted;
367+
}
368+
}
369+
306370
// ==============================
307371
// JavaScript-injecting routines:
308372
// ==============================
@@ -495,7 +559,7 @@ public slots:
495559
request.url().fileName() == "open-file.function") {
496560
if (request.url().query()
497561
.replace("target=", "").length() > 0) {
498-
emit selectInodeSignal(request);
562+
qSelectInodesSlot(request);
499563
}
500564

501565
return false;
@@ -508,7 +572,7 @@ public slots:
508572
request.url().fileName() == "open-files.function") {
509573
if (request.url().query()
510574
.replace("target=", "").length() > 0) {
511-
emit selectInodeSignal(request);
575+
qSelectInodesSlot(request);
512576
}
513577

514578
return false;
@@ -521,7 +585,7 @@ public slots:
521585
request.url().fileName() == "new-file-name.function") {
522586
if (request.url().query()
523587
.replace("target=", "").length() > 0) {
524-
emit selectInodeSignal(request);
588+
qSelectInodesSlot(request);
525589
}
526590

527591
return false;
@@ -534,7 +598,7 @@ public slots:
534598
request.url().fileName() == "open-directory.function") {
535599
if (request.url().query()
536600
.replace("target=", "").length() > 0) {
537-
emit selectInodeSignal(request);
601+
qSelectInodesSlot(request);
538602
}
539603

540604
return false;

src/perl-debugger-handler.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@ QPerlDebuggerHandler::QPerlDebuggerHandler()
3535

3636
QString scriptToDebugFilePath =
3737
QDir::toNativeSeparators(selectScriptToDebugDialog
38-
.getOpenFileName
39-
(qApp->activeWindow(),
40-
"Select Perl File",
41-
QDir::currentPath(),
42-
"Perl scripts (*.pl);;All files (*)"));
38+
.getOpenFileName(
39+
qApp->activeWindow(),
40+
"Select Perl File",
41+
QDir::currentPath(),
42+
"Perl scripts (*.pl);;All files (*)"));
4343

4444
selectScriptToDebugDialog.close();
4545
selectScriptToDebugDialog.deleteLater();

src/perl-debugger-handler.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@
1919
#define PERLDEBUGGERHANDLER_H
2020

2121
#include <QApplication>
22-
#include <QDir>
2322
#include <QDateTime>
2423
#include <QDebug>
24+
#include <QDir>
2525
#include <QFileDialog>
2626
#include <QInputDialog>
2727
#include <QProcess>

src/script-handler.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@
2121
#include <QApplication>
2222
#include <QDateTime>
2323
#include <QDebug>
24-
#include <QProcess>
2524
#include <QFileDialog>
2625
#include <QInputDialog>
26+
#include <QProcess>
2727

2828
// ==============================
2929
// SCRIPT HANDLER:

src/view.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,6 @@ QViewWidget::QViewWidget()
5454
QObject::connect(mainPage, SIGNAL(changeTitleSignal()),
5555
this, SLOT(qChangeTitleSlot()));
5656

57-
// Signal and slot for selecting files or folders from URL:
58-
QObject::connect(mainPage, SIGNAL(selectInodeSignal(QNetworkRequest)),
59-
this, SLOT(qSelectInodesSlot(QNetworkRequest)));
60-
6157
// Signals and slots for closing windows:
6258
QObject::connect(this, SIGNAL(initiateWindowClosingSignal()),
6359
mainPage, SLOT(qInitiateWindowClosingSlot()));

src/view.h

Lines changed: 2 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,11 @@
1818
#ifndef VIEW_H
1919
#define VIEW_H
2020

21-
#include <QRegularExpression>
22-
#include <QtNetwork/QNetworkRequest>
23-
#include <QWebView>
2421
#include <QContextMenuEvent>
22+
#include <QDesktopWidget>
2523
#include <QMenu>
2624
#include <QWebInspector>
27-
#include <QDesktopWidget>
25+
#include <QWebView>
2826

2927
#include "page.h"
3028

@@ -56,73 +54,6 @@ public slots:
5654
setWindowTitle(QViewWidget::title());
5755
}
5856

59-
// ==============================
60-
// Select files or folders:
61-
// ==============================
62-
void qSelectInodesSlot(QNetworkRequest request)
63-
{
64-
QString target = request.url().query().replace("target=", "");
65-
66-
QFileDialog inodesDialog (this);
67-
inodesDialog.setWindowModality(Qt::WindowModal);
68-
inodesDialog.setViewMode(QFileDialog::Detail);
69-
inodesDialog.setWindowTitle(QViewWidget::title());
70-
#ifdef Q_OS_WIN
71-
inodesDialog.setOption(QFileDialog::DontUseNativeDialog);
72-
#endif
73-
74-
if (request.url().fileName() == "open-file.function") {
75-
inodesDialog.setFileMode(QFileDialog::AnyFile);
76-
}
77-
78-
if (request.url().fileName() == "open-files.function") {
79-
inodesDialog.setFileMode(QFileDialog::ExistingFiles);
80-
}
81-
82-
if (request.url().fileName() == "new-file-name.function") {
83-
inodesDialog.setAcceptMode(QFileDialog::AcceptSave);
84-
}
85-
86-
if (request.url().fileName() == "open-directory.function") {
87-
inodesDialog.setFileMode(QFileDialog::Directory);
88-
}
89-
90-
QStringList userSelectedInodes;
91-
if (inodesDialog.exec()) {
92-
userSelectedInodes = inodesDialog.selectedFiles();
93-
}
94-
95-
inodesDialog.close();
96-
inodesDialog.deleteLater();
97-
98-
if (!userSelectedInodes.isEmpty()) {
99-
QString userSelectedInodesFormatted;
100-
foreach (QString userSelectedInode, userSelectedInodes) {
101-
userSelectedInodesFormatted.append(userSelectedInode);
102-
userSelectedInodesFormatted.append(";");
103-
}
104-
userSelectedInodesFormatted
105-
.replace(QRegularExpression(";$"), "");
106-
107-
// JavaScript bridge back to
108-
// the local HTML frame where request originated:
109-
mainPage->qJavaScriptInjector(mainPage->currentFrame());
110-
111-
QString inodeSelectedJavaScript =
112-
"pebInodeSelection(\"" +
113-
userSelectedInodesFormatted +
114-
"\" , \"" +
115-
target +
116-
"\"); null";
117-
118-
mainPage->currentFrame()->
119-
evaluateJavaScript(inodeSelectedJavaScript);
120-
121-
qDebug() << "User selected inode:"
122-
<< userSelectedInodesFormatted;
123-
}
124-
}
125-
12657
// ==============================
12758
// Context menu:
12859
// ==============================

0 commit comments

Comments
 (0)