玉兔远程控制 0.1.0-bate4
载入中...
搜索中...
未找到
DlgSettings.cpp
1// Author: Kang Lin <kl222@126.com>
2
3#include <QFileDialog>
4#include <QLoggingCategory>
5#include "DlgSettings.h"
6#include "ui_DlgSettings.h"
7
8static Q_LOGGING_CATEGORY(log, "WebBrowser.Parameter")
10 : QDialog(parent)
11 , ui(new Ui::CDlgSettings)
12 , m_pPara(para)
13 , m_pSearchModel(nullptr)
14{
15 ui->setupUi(this);
16 ui->leName->setText(m_pPara->GetName());
17 ui->leHomeUrl->setText(m_pPara->GetHomeUrl());
18 if(m_pPara->GetTabUrl().isEmpty() && !m_pPara->GetHomeUrl().isEmpty())
19 ui->leTabUrl->setText(m_pPara->GetHomeUrl());
20 else
21 ui->leTabUrl->setText(m_pPara->GetTabUrl());
22 ui->leDownloadFolder->setText(m_pPara->GetDownloadFolder());
23 ui->cbDownloadShowWindow->setChecked(m_pPara->GetShowDownloadManager());
24 ui->cbDownloadSave->setChecked(m_pPara->GetShowDownloadLocation());
25 ui->cbOpenPreious->setChecked(m_pPara->GetOpenPrevious());
26 ui->cbClearCookie->setChecked(m_pPara->GetClearCookie());
27 ui->cbClearHttpCache->setChecked(m_pPara->GetClearHttpCache());
28 ui->cbAutoFillUserPassword->setChecked(m_pPara->GetAutoFillUserAndPassword());
29 ui->cbPrintFinishedPrompt->setChecked(m_pPara->GetPromptPrintFinished());
30
31 m_pSearchModel = new QStandardItemModel(this);
32 auto searchList = m_pPara->GetSearchEngineList();
33 foreach(auto i, searchList)
34 {
35 QStandardItem* item = new QStandardItem(i);
36 m_pSearchModel->appendRow(item);
37 }
38 ui->lstSearchEngine->setModel(m_pSearchModel);
39 int index = searchList.indexOf(m_pPara->GetSearchEngine());
40 QModelIndex indexModel;
41 indexModel = m_pSearchModel->index(index, 0);
42 ui->lstSearchEngine->setCurrentIndex(indexModel);
43}
44
45CDlgSettings::~CDlgSettings()
46{
47 delete ui;
48}
49
50void CDlgSettings::accept()
51{
52 m_pPara->SetName(ui->leName->text());
53 m_pPara->SetHomeUrl(ui->leHomeUrl->text());
54 m_pPara->SetTabUrl(ui->leTabUrl->text());
55 m_pPara->SetDownloadFolder(ui->leDownloadFolder->text());
56 m_pPara->SetShowDownloadManager(ui->cbDownloadShowWindow->isChecked());
57 m_pPara->SetShowDownloadLocation(ui->cbDownloadSave->isChecked());
58 m_pPara->SetOpenPrevious(ui->cbOpenPreious->isChecked());
59 m_pPara->SetClearHttpCache(ui->cbClearHttpCache->isChecked());
60 m_pPara->SetClearCookie(ui->cbClearCookie->isChecked());
61 m_pPara->SetAutoFillUserAndPassword(ui->cbAutoFillUserPassword->isChecked());
62 m_pPara->SetPromptPrintFinished(ui->cbPrintFinishedPrompt->isChecked());
63 auto index = ui->lstSearchEngine->currentIndex();
64 if(index.isValid()) {
65 auto search = m_pSearchModel->item(index.row())->text();
66 m_pPara->SetSearchEngine(search);
67 }
68 QDialog::accept();
69}
70
71void CDlgSettings::on_leHomeUrl_editingFinished()
72{
73 if(ui->leTabUrl->text().isEmpty())
74 ui->leTabUrl->setText(ui->leHomeUrl->text());
75}
76
77void CDlgSettings::on_pbDownloadFolder_clicked()
78{
79 QString szDir = ui->leDownloadFolder->text();
80 if(szDir.isEmpty())
81 szDir = m_pPara->GetDownloadFolder();
82 szDir = QFileDialog::getExistingDirectory(this, tr("Download folder"), szDir);
83 if(!szDir.isEmpty())
84 ui->leDownloadFolder->setText(szDir);
85}