-
-
Notifications
You must be signed in to change notification settings - Fork 79
Expand file tree
/
Copy pathDlgSettings.cpp
More file actions
118 lines (104 loc) · 4.33 KB
/
DlgSettings.cpp
File metadata and controls
118 lines (104 loc) · 4.33 KB
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
// Author: Kang Lin <kl222@126.com>
#include <QFileDialog>
#include <QLoggingCategory>
#if QT_VERSION > QT_VERSION_CHECK(6, 10, 0)
#include "FrmExtensionManager.h"
#include "FrmExtensionStore.h"
#endif
#include "FrmWebBrowser.h"
#include "DlgSettings.h"
#include "ui_DlgSettings.h"
static Q_LOGGING_CATEGORY(log, "WebBrowser.Parameter")
CDlgSettings::CDlgSettings(QWebEngineProfile *pProfile,
CParameterWebBrowser *para,
QWidget *parent)
: QDialog(parent)
, ui(new Ui::CDlgSettings)
, m_pPara(para)
, m_pSearchModel(nullptr)
{
ui->setupUi(this);
ui->leName->setText(m_pPara->GetName());
ui->leHomeUrl->setText(m_pPara->GetHomeUrl());
if(m_pPara->GetTabUrl().isEmpty() && !m_pPara->GetHomeUrl().isEmpty())
ui->leTabUrl->setText(m_pPara->GetHomeUrl());
else
ui->leTabUrl->setText(m_pPara->GetTabUrl());
ui->leDownloadFolder->setText(m_pPara->GetDownloadFolder());
ui->cbDownloadShowWindow->setChecked(m_pPara->GetShowDownloadManager());
ui->cbDownloadSave->setChecked(m_pPara->GetShowDownloadLocation());
ui->cbOpenPreious->setChecked(m_pPara->GetOpenPrevious());
ui->cbClearCookie->setChecked(m_pPara->GetClearCookie());
ui->cbClearHttpCache->setChecked(m_pPara->GetClearHttpCache());
ui->cbAutoFillUserPassword->setChecked(m_pPara->GetAutoFillUserAndPassword());
ui->cbPrintFinishedPrompt->setChecked(m_pPara->GetPromptPrintFinished());
m_pSearchModel = new QStandardItemModel(this);
auto searchList = m_pPara->GetSearchEngineList();
foreach(auto i, searchList)
{
QStandardItem* item = new QStandardItem(i);
m_pSearchModel->appendRow(item);
}
ui->lstSearchEngine->setModel(m_pSearchModel);
int index = searchList.indexOf(m_pPara->GetSearchEngine());
QModelIndex indexModel;
indexModel = m_pSearchModel->index(index, 0);
ui->lstSearchEngine->setCurrentIndex(indexModel);
m_pRecordUI = new CParameterRecordUI(ui->tabWidget);
m_pRecordUI->SetParameter(&m_pPara->m_Record);
ui->tabWidget->addTab(m_pRecordUI, m_pRecordUI->windowIcon(), m_pRecordUI->windowTitle());
m_pMediaDevices = new CFrmMediaDevices(true, this);
m_pMediaDevices->SetParameter(&m_pPara->m_MediaDevices.m_Para);
ui->tabWidget->addTab(m_pMediaDevices, m_pMediaDevices->windowIcon(), m_pMediaDevices->windowTitle());
#if QT_VERSION > QT_VERSION_CHECK(6, 10, 0)
CFrmExtensionManager* pExtension = new CFrmExtensionManager(pProfile);
ui->tabWidget->addTab(pExtension, pExtension->windowIcon(), pExtension->windowTitle());
CFrmExtensionStore* pStore = new CFrmExtensionStore();
ui->tabWidget->addTab(pStore, pStore->windowIcon(), pStore->windowTitle());
#endif
}
CDlgSettings::~CDlgSettings()
{
delete ui;
}
void CDlgSettings::accept()
{
m_pPara->SetName(ui->leName->text());
m_pPara->SetHomeUrl(ui->leHomeUrl->text());
m_pPara->SetTabUrl(ui->leTabUrl->text());
m_pPara->SetDownloadFolder(ui->leDownloadFolder->text());
m_pPara->SetShowDownloadManager(ui->cbDownloadShowWindow->isChecked());
m_pPara->SetShowDownloadLocation(ui->cbDownloadSave->isChecked());
m_pPara->SetOpenPrevious(ui->cbOpenPreious->isChecked());
m_pPara->SetClearHttpCache(ui->cbClearHttpCache->isChecked());
m_pPara->SetClearCookie(ui->cbClearCookie->isChecked());
m_pPara->SetAutoFillUserAndPassword(ui->cbAutoFillUserPassword->isChecked());
m_pPara->SetPromptPrintFinished(ui->cbPrintFinishedPrompt->isChecked());
auto index = ui->lstSearchEngine->currentIndex();
if(index.isValid()) {
auto search = m_pSearchModel->item(index.row())->text();
m_pPara->SetSearchEngine(search);
}
if(!m_pRecordUI->CheckValidity(true)) {
ui->tabWidget->setCurrentWidget(m_pRecordUI);
return;
}
int nRet = m_pRecordUI->Accept();
if(nRet)
return;
QDialog::accept();
}
void CDlgSettings::on_leHomeUrl_editingFinished()
{
if(ui->leTabUrl->text().isEmpty())
ui->leTabUrl->setText(ui->leHomeUrl->text());
}
void CDlgSettings::on_pbDownloadFolder_clicked()
{
QString szDir = ui->leDownloadFolder->text();
if(szDir.isEmpty())
szDir = m_pPara->GetDownloadFolder();
szDir = QFileDialog::getExistingDirectory(this, tr("Download folder"), szDir);
if(!szDir.isEmpty())
ui->leDownloadFolder->setText(szDir);
}