| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 |
- #include "texteditsetwin.h"
- #include "scintillaeditview.h"
- #include "ccnotepad.h"
- #include "qtlangset.h"
- #include <QFontDialog>
- #include <QColorDialog>
- TextEditSetWin::TextEditSetWin(QWidget *parent)
- : QWidget(parent), m_notepadWin(nullptr)
- {
- ui.setupUi(this);
- if (ScintillaEditView::s_tabLens >= 0 && ScintillaEditView::s_tabLens <= 16)
- {
- ui.spinBoxTabLens->setValue(ScintillaEditView::s_tabLens);
- }
- ui.checkBoxReplaceTabToSpace->setChecked(ScintillaEditView::s_noUseTab);
- ui.BigTextSizeLimit->setValue(ScintillaEditView::s_bigTextSize);
- ui.restoreFile->setChecked((CCNotePad::s_restoreLastFile == 1));
- QPalette pal = QApplication::palette();
- QPixmap f(32, 32);
- f.fill(pal.text().color());
- ui.appFontColorLabel->setPixmap(f);
- //ui.appFontColorLabel
- }
- TextEditSetWin::~TextEditSetWin()
- {
- save();
- }
- void TextEditSetWin::setNotePadWin(QWidget *w)
- {
- m_notepadWin = w;
- }
- #if 0
- //弹出对话框时,默认初始化该值
- void TextEditSetWin::setProgramLangFont(QFont &font)
- {
- if (m_curProLangFont != font)
- {
- m_curProLangFont = font;
- }
- ui.curProLangFontEdit->setText(font.toString());
- }
- #endif
- void TextEditSetWin::save()
- {
- bool lenChange = false;
- if (ui.spinBoxTabLens->value() != ScintillaEditView::s_tabLens)
- {
- ScintillaEditView::s_tabLens = ui.spinBoxTabLens->value();
- lenChange = true;
- }
- bool useChange = false;
- if (ui.checkBoxReplaceTabToSpace->isChecked() != ScintillaEditView::s_noUseTab)
- {
- ScintillaEditView::s_noUseTab = ui.checkBoxReplaceTabToSpace->isChecked();
- useChange = true;
- }
- if (lenChange || useChange)
- {
- emit sendTabFormatChange(lenChange, useChange);
- }
- if (ui.BigTextSizeLimit->value() != ScintillaEditView::s_bigTextSize)
- {
- ScintillaEditView::s_bigTextSize = ui.BigTextSizeLimit->value();
- }
- int restoreFile = ui.restoreFile->isChecked() ? 1 : 0;
- if (restoreFile != CCNotePad::s_restoreLastFile)
- {
- CCNotePad::s_restoreLastFile = restoreFile;
- }
- }
- void TextEditSetWin::slot_txtFontSet()
- {
- CCNotePad* pMainWin = dynamic_cast<CCNotePad*>(m_notepadWin);
- if (pMainWin == nullptr)
- {
- //是从对比规则里面弹出来的,不进行文本的设置
- return;
- }
- QtLangSet* pWin = pMainWin->getLangSet();
- #if 0
- QtLangSet* pWin = new QtLangSet(QString("txt"), this);
- pWin->setAttribute(Qt::WA_DeleteOnClose);
- connect(pWin, &QtLangSet::viewStyleChange, pMainWin, &CCNotePad::slot_viewStyleChange);
- connect(pWin, &QtLangSet::viewLexerChange, pMainWin, &CCNotePad::slot_viewLexerChange);
- pWin->show();
- #endif
- if (pWin != nullptr)
- {
- pWin->selectInitLangTag("txt");
- }
- }
- #if 0
- //app字体颜色设置
- void TextEditSetWin::slot_appFontColor()
- {
- QPalette pal = qApp->palette();
- QColor oldColor = pal.text().color();
- QColor color = QColorDialog::getColor(pal.text().color(), this, tr("App Font Foreground Color"));
- if (color.isValid() && color != oldColor)
- {
- pal.setColor(QPalette::WindowText, color);//设置颜色
- pal.setColor(QPalette::Text, color);//设置颜色
- pal.setColor(QPalette::ButtonText, color);//设置颜色
- pal.setColor(QPalette::ToolTipText, color);
- qApp->setPalette(pal);
- QPixmap f(32, 32);
- f.fill(pal.text().color());
- ui.appFontColorLabel->setPixmap(f);
- //发现如果修改APP字体颜色后,必须要把存在的窗口关闭一下,否则存在的窗口的字体颜色无法生效。
- CCNotePad* pMainWin = dynamic_cast<CCNotePad*>(m_notepadWin);
- if (pMainWin != nullptr)
- {
- //是从主界面调用的,执行一下颜色的更新
- pMainWin->changeAppFontColor(color);
- return;
- }
- }
- }
- #endif
- #if 0
- //不能整体修改QApplication::font(),会引发语法里面的文字重叠破坏。
- //只针对菜单和状态栏,查找框字体进行修改。
- void TextEditSetWin::slot_selectAppFont()
- {
- QFont ft;
- QFont curAppFont = QApplication::font();
- bool ok = false;//定义bool型输出变量
- ft = QFontDialog::getFont(&ok, curAppFont, this,tr("The App Font"));
- if (ok)
- {
- ui.appFontEdit->setText(ft.toString());
- if (curAppFont != ft)
- {
- //emit signAppFontChange(ft);
- QApplication::setFont(ft,"FindResultWin");
- }
- }
- }
- #endif
- #if 0
- void TextEditSetWin::slot_selectProLangFont()
- {
- #if defined(Q_OS_WIN)
- QFont ft("Courier New", QsciLexer::s_defaultFontSize);
- #elif defined(Q_OS_MAC)
- QFont ft("Menlo", s_defaultFontSize);
- #else
- QFont ft("Bitstream Vera Sans", 9);
- #endif
- bool ok = false;//定义bool型输出变量
- ft = QFontDialog::getFont(&ok, m_curProLangFont, this, tr("User define Txt Font"));
- if (ok)
- {
- ui.curProLangFontEdit->setText(ft.toString());
- if (m_curProLangFont != ft)
- {
- m_curProLangFont = ft;
- emit signProLangFontChange(ft);
- }
- }
- else
- {
- ui.curProLangFontEdit->setText(ft.toString());
- m_curProLangFont = ft;
- }
- }
- #endif
|