RabbitCommon v2.3.3
Loading...
Searching...
No Matches
DlgEdit.cpp
1// Copyright Copyright (c) Kang Lin studio, All Rights Reserved
2// Author Kang Lin <kl222@126.com>
3
4#include <QFile>
5#include <QLoggingCategory>
6#include "DlgEdit.h"
7#include "ui_DlgEdit.h"
8#include "RabbitCommonTools.h"
9
10static Q_LOGGING_CATEGORY(log, "RabbitCommon.DlgEdit")
11
12CDlgEdit::CDlgEdit(const QString &szTitle,
13 const QString &szFile,
14 const QString &szInfo,
15 bool bReadOnly,
16 QWidget *parent)
17 : QDialog(parent)
18 , ui(new Ui::CDlgEdit)
19{
20 ui->setupUi(this);
21 ui->textEdit->setReadOnly(bReadOnly);
22 if(bReadOnly)
23 ui->buttonBox->setStandardButtons(QDialogButtonBox::Cancel);
24 if(!szTitle.isEmpty())
25 setWindowTitle(szTitle);
26 if(!szInfo.isEmpty())
27 ui->lbFile->setText(szInfo);
28 setFile(szFile);
29}
30
31CDlgEdit::~CDlgEdit()
32{
33 qDebug(log) << "CDlgEdit::~CDlgEdit()";
34 delete ui;
35}
36
37QString CDlgEdit::getContext()
38{
39 return ui->textEdit->toPlainText();
40}
41
42void CDlgEdit::setFile(const QString &szFile)
43{
44 QString szText;
45 if(szFile.isEmpty())
46 return;
47
48 QFile file(szFile);
49 if(file.open(QFile::ReadOnly)) {
50 szText = file.readAll();
51 file.close();
52 } else {
53 qCritical(log) << file.errorString() << szFile;
54 }
55
56 if(ui->lbFile->text().isEmpty())
57 ui->lbFile->setText(tr("File:") + " " + szFile);
58 ui->textEdit->setText(szText);
59}