mainwindow.cpp
来自「奇趣公司比较新的qt/emd版本」· C++ 代码 · 共 962 行 · 第 1/3 页
CPP
962 行
void MainWindow::updateColorButtons(){ buttonMainColor->setColor( editPalette.active().color( QColorGroup::Button )); buttonMainColor2->setColor( editPalette.active().color( QColorGroup::Window ));}void MainWindow::tunePalette(){ bool ok; QPalette pal = PaletteEditorAdvanced::getPalette(&ok, editPalette, backgroundMode(), this); if (! ok) return; editPalette = pal; setPreviewPalette(editPalette); setModified(true);}void MainWindow::paletteSelected(int){ setPreviewPalette(editPalette);}void MainWindow::styleSelected(const QString &stylename){ QStyle *style = QStyleFactory::create(stylename); if (! style) return; setStyleHelper(previewFrame, style); delete previewstyle; previewstyle = style; setModified(true);}void MainWindow::familySelected(const QString &family){ QFontDatabase db; QStringList styles = db.styles(family); stylecombo->clear(); stylecombo->insertStringList(styles); familysubcombo->insertItem(family); buildFont();}void MainWindow::buildFont(){ QFontDatabase db; QFont font = db.font(familycombo->currentText(), stylecombo->currentText(), psizecombo->currentText().toInt()); samplelineedit->setFont(font); setModified(true);}void MainWindow::substituteSelected(const QString &family){ QStringList subs = QFont::substitutes(family); sublistbox->clear(); sublistbox->insertStringList(subs);}void MainWindow::removeSubstitute(){ if (sublistbox->currentItem() < 0 || uint(sublistbox->currentItem()) > sublistbox->count()) return; int item = sublistbox->currentItem(); QStringList subs = QFont::substitutes(familysubcombo->currentText()); subs.remove(subs.at(sublistbox->currentItem())); sublistbox->clear(); sublistbox->insertStringList(subs); if (uint(item) > sublistbox->count()) item = int(sublistbox->count()) - 1; sublistbox->setCurrentItem(item); QFont::removeSubstitution(familysubcombo->currentText()); QFont::insertSubstitutions(familysubcombo->currentText(), subs); setModified(true);}void MainWindow::addSubstitute(){ if (sublistbox->currentItem() < 0 || uint(sublistbox->currentItem()) > sublistbox->count()) { QFont::insertSubstitution(familysubcombo->currentText(), choosesubcombo->currentText()); QStringList subs = QFont::substitutes(familysubcombo->currentText()); sublistbox->clear(); sublistbox->insertStringList(subs); setModified(true); return; } int item = sublistbox->currentItem(); QFont::insertSubstitution(familysubcombo->currentText(), choosesubcombo->currentText()); QStringList subs = QFont::substitutes(familysubcombo->currentText()); sublistbox->clear(); sublistbox->insertStringList(subs); sublistbox->setCurrentItem(item); setModified(true);}void MainWindow::downSubstitute(){ if (sublistbox->currentItem() < 0 || uint(sublistbox->currentItem()) >= sublistbox->count()) return; int item = sublistbox->currentItem(); QStringList subs = QFont::substitutes(familysubcombo->currentText()); QString fam = subs.at(item); subs.removeAt(item); subs.insert(item+1, fam); sublistbox->clear(); sublistbox->insertStringList(subs); sublistbox->setCurrentItem(item + 1); QFont::removeSubstitution(familysubcombo->currentText()); QFont::insertSubstitutions(familysubcombo->currentText(), subs); setModified(true);}void MainWindow::upSubstitute(){ if (sublistbox->currentItem() < 1) return; int item = sublistbox->currentItem(); QStringList subs = QFont::substitutes(familysubcombo->currentText()); QString fam = subs.at(item); subs.removeAt(item); subs.insert(item-1, fam); sublistbox->clear(); sublistbox->insertStringList(subs); sublistbox->setCurrentItem(item - 1); QFont::removeSubstitution(familysubcombo->currentText()); QFont::insertSubstitutions(familysubcombo->currentText(), subs); setModified(true);}void MainWindow::removeFontpath(){ if (fontpathlistbox->currentItem() < 0 || uint(fontpathlistbox->currentItem()) > fontpathlistbox->count()) return; int item = fontpathlistbox->currentItem(); fontpaths.remove(fontpaths.at(fontpathlistbox->currentItem())); fontpathlistbox->clear(); fontpathlistbox->insertStringList(fontpaths); if (uint(item) > fontpathlistbox->count()) item = int(fontpathlistbox->count()) - 1; fontpathlistbox->setCurrentItem(item); setModified(true);}void MainWindow::addFontpath(){ if (fontpathlineedit->text().isEmpty()) return; if (fontpathlistbox->currentItem() < 0 || uint(fontpathlistbox->currentItem()) > fontpathlistbox->count()) { fontpaths.append(fontpathlineedit->text()); fontpathlistbox->clear(); fontpathlistbox->insertStringList(fontpaths); setModified(true); return; } int item = fontpathlistbox->currentItem(); fontpaths.insert(fontpathlistbox->currentItem()+1, fontpathlineedit->text()); fontpathlistbox->clear(); fontpathlistbox->insertStringList(fontpaths); fontpathlistbox->setCurrentItem(item); setModified(true);}void MainWindow::downFontpath(){ if (fontpathlistbox->currentItem() < 0 || uint(fontpathlistbox->currentItem()) >= fontpathlistbox->count() - 1) return; int item = fontpathlistbox->currentItem(); QString fam = fontpaths.at(item); fontpaths.removeAt(item); fontpaths.insert(item+1, fam); fontpathlistbox->clear(); fontpathlistbox->insertStringList(fontpaths); fontpathlistbox->setCurrentItem(item + 1); setModified(true);}void MainWindow::upFontpath(){ if (fontpathlistbox->currentItem() < 1) return; int item = fontpathlistbox->currentItem(); QString fam = fontpaths.at(item); fontpaths.removeAt(item); fontpaths.insert(item-1, fam); fontpathlistbox->clear(); fontpathlistbox->insertStringList(fontpaths); fontpathlistbox->setCurrentItem(item - 1); setModified(true);}void MainWindow::browseFontpath(){ QString dirname = QFileDialog::getExistingDirectory(QString(), this, 0, tr("Select a Directory")); if (dirname.isNull()) return; fontpathlineedit->setText(dirname);}void MainWindow::somethingModified(){ setModified(true);}void MainWindow::helpAbout(){ QMessageBox box(this); box.setText(tr("<h3>%1</h3>" "<br/>Version %2"#if QT_EDITION == QT_EDITION_OPENSOURCE " Open Source Edition</center><p>" "This version of Qt Configuration is part of the Qt Open Source Edition, for use " "in the development of Open Source applications. " "Qt is a comprehensive C++ framework for cross-platform application " "development.<br/><br/>" "You need a commercial Qt license for development of proprietary (closed " "source) applications. Please see <tt>http://www.trolltech.com/company/model" ".html</tt> for an overview of Qt licensing."#else "</center><p>This program is licensed to you under the terms of the " "Qt Commercial License Agreement. For details, see the file LICENSE " "that came with this software distribution."#endif "<br/><br/>Copyright (C) 2000-2007 Trolltech ASA. All rights reserved." "<br/><br/>The program is provided AS IS with NO WARRANTY OF ANY KIND," " INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A" " PARTICULAR PURPOSE.<br/> ") .arg(tr("Qt Configuration")).arg(QLatin1String(QT_VERSION_STR))); box.setWindowTitle(tr("Qt Configuration")); box.setIcon(QMessageBox::NoIcon); box.exec();}void MainWindow::helpAboutQt(){ QMessageBox::aboutQt(this, tr("Qt Configuration"));}void MainWindow::pageChanged(QWidget *page){ if (page == tab) helpview->setText(tr(interface_text)); else if (page == tab1) helpview->setText(tr(appearance_text)); else if (page == tab2) helpview->setText(tr(font_text)); else if (page == tab3) helpview->setText(tr(printer_text));}void MainWindow::closeEvent(QCloseEvent *e){ if (modified) { switch(QMessageBox::warning(this, tr("Save Changes"), tr("Save changes to settings?"), tr("&Yes"), tr("&No"), tr("&Cancel"), 0, 2)) { case 0: // save qApp->processEvents(); fileSave(); // fall through intended case 1: // don't save e->accept(); break; case 2: // cancel e->ignore(); break; default: break; } } else e->accept();}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?