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 + -
显示快捷键?