mainwindow.cpp
来自「奇趣公司比较新的qt/emd版本」· C++ 代码 · 共 962 行 · 第 1/3 页
CPP
962 行
i = possible; if (i == -1) // no clue about the current font i = 0; stylecombo->setCurrentItem(i); i = 0; for (int psize = QApplication::font().pointSize(); i < psizecombo->count(); ++i) { const int sz = psizecombo->text(i).toInt(); if (sz == psize) { psizecombo->setCurrentItem(i); break; } else if(sz > psize) { psizecombo->insertItem(i, QString::number(psize)); psizecombo->setCurrentItem(i); break; } } QStringList subs = QFont::substitutes(familysubcombo->currentText()); sublistbox->clear(); sublistbox->insertStringList(subs); rtlExtensions->setChecked(settings.value(QLatin1String("useRtlExtensions"), false).toBool());#ifdef Q_WS_X11 inputStyle->setCurrentText(settings.value(QLatin1String("XIMInputStyle"), trUtf8("On The Spot")).toString());#else inputStyle->hide(); inputStyleLabel->hide();#endif fontembeddingcheckbox->setChecked(settings.value(QLatin1String("embedFonts"), true).toBool()); fontpaths = settings.value(QLatin1String("fontPath")).toStringList(); fontpathlistbox->insertStringList(fontpaths); settings.endGroup(); // Qt helpview->setText(tr(appearance_text)); setModified(false);}MainWindow::~MainWindow(){}#ifdef Q_WS_X11extern void qt_x11_apply_settings_in_all_apps();#endifvoid MainWindow::fileSave(){ if (! modified) { statusBar()->showMessage(tr("No changes to be saved."), 2000); return; } statusBar()->showMessage(tr("Saving changes...")); { QSettings settings(QLatin1String("Trolltech")); settings.beginGroup(QLatin1String("Qt")); QFontDatabase db; QFont font = db.font(familycombo->currentText(), stylecombo->currentText(), psizecombo->currentText().toInt()); QStringList actcg, inactcg, discg; int i; for (i = 0; i < QColorGroup::NColorRoles; i++) actcg << editPalette.color(QPalette::Active, (QColorGroup::ColorRole) i).name(); for (i = 0; i < QColorGroup::NColorRoles; i++) inactcg << editPalette.color(QPalette::Inactive, (QColorGroup::ColorRole) i).name(); for (i = 0; i < QColorGroup::NColorRoles; i++) discg << editPalette.color(QPalette::Disabled, (QColorGroup::ColorRole) i).name(); settings.setValue(QLatin1String("font"), font.toString()); settings.setValue(QLatin1String("Palette/active"), actcg); settings.setValue(QLatin1String("Palette/inactive"), inactcg); settings.setValue(QLatin1String("Palette/disabled"), discg); settings.setValue(QLatin1String("fontPath"), fontpaths); settings.setValue(QLatin1String("embedFonts"), fontembeddingcheckbox->isChecked()); settings.setValue(QLatin1String("style"), gstylecombo->currentText()); settings.setValue(QLatin1String("doubleClickInterval"), dcispin->value()); settings.setValue(QLatin1String("cursorFlashTime"), cfispin->value() == 9 ? 0 : cfispin->value() ); settings.setValue(QLatin1String("wheelScrollLines"), wslspin->value()); settings.setValue(QLatin1String("resolveSymlinks"), resolvelinks->isChecked()); QSize strut(strutwidth->value(), strutheight->value()); settings.setValue(QLatin1String("globalStrut/width"), strut.width()); settings.setValue(QLatin1String("globalStrut/height"), strut.height()); settings.setValue(QLatin1String("useRtlExtensions"), rtlExtensions->isChecked());#ifdef Q_WS_X11 QString style = inputStyle->currentText(); QString str = QLatin1String("On The Spot"); if ( style == trUtf8( "Over The Spot" ) ) str = QLatin1String("Over The Spot"); else if ( style == trUtf8( "Off The Spot" ) ) str = QLatin1String("Off The Spot"); else if ( style == trUtf8( "Root" ) ) str = QLatin1String("Root"); settings.setValue( QLatin1String("XIMInputStyle"), str );#endif QStringList effects; if (effectcheckbox->isChecked()) { effects << QLatin1String("general"); switch (menueffect->currentItem()) { case 1: effects << QLatin1String("animatemenu"); break; case 2: effects << QLatin1String("fademenu"); break; } switch (comboeffect->currentItem()) { case 1: effects << QLatin1String("animatecombo"); break; } switch (tooltipeffect->currentItem()) { case 1: effects << QLatin1String("animatetooltip"); break; case 2: effects << QLatin1String("fadetooltip"); break; } switch ( toolboxeffect->currentItem() ) { case 1: effects << QLatin1String("animatetoolbox"); break; } } else effects << QLatin1String("none"); settings.setValue(QLatin1String("GUIEffects"), effects); QStringList familysubs = QFont::substitutions(); QStringList::Iterator fit = familysubs.begin(); settings.beginGroup(QLatin1String("Font Substitutions")); while (fit != familysubs.end()) { QStringList subs = QFont::substitutes(*fit); settings.setValue(*fit, subs); fit++; } settings.endGroup(); // Font Substitutions settings.endGroup(); // Qt }#if defined(Q_WS_X11) qt_x11_apply_settings_in_all_apps();#endif // Q_WS_X11 setModified(false); statusBar()->showMessage(QLatin1String("Saved changes."));}void MainWindow::fileExit(){ qApp->closeAllWindows();}void MainWindow::setModified(bool m){ if (modified == m) return; modified = m; fileSaveAction->setEnabled(m);}void MainWindow::buildPalette(){ int i; QColorGroup cg; QColor btn = buttonMainColor->color(); QColor back = buttonMainColor2->color(); QPalette automake( btn, back ); for (i = 0; i<9; i++) cg.setColor( centralFromItem(i), automake.active().color( centralFromItem(i) ) ); editPalette.setActive( cg ); buildActiveEffect(); cg = editPalette.inactive(); QPalette temp( editPalette.active().color( QColorGroup::Button ), editPalette.active().color( QColorGroup::Window ) ); for (i = 0; i<9; i++) cg.setColor( centralFromItem(i), temp.inactive().color( centralFromItem(i) ) ); editPalette.setInactive( cg ); buildInactiveEffect(); cg = editPalette.disabled(); for (i = 0; i<9; i++) cg.setColor( centralFromItem(i), temp.disabled().color( centralFromItem(i) ) ); editPalette.setDisabled( cg ); buildDisabledEffect(); updateColorButtons(); setModified(true);}void MainWindow::buildActiveEffect(){ QColorGroup cg = editPalette.active(); QColor btn = cg.color( QColorGroup::Button ); QPalette temp( btn, btn ); for (int i = 0; i<5; i++) cg.setColor( effectFromItem(i), temp.active().color( effectFromItem(i) ) ); editPalette.setActive( cg ); setPreviewPalette( editPalette ); updateColorButtons();}void MainWindow::buildInactive(){ editPalette.setInactive( editPalette.active() ); buildInactiveEffect();}void MainWindow::buildInactiveEffect(){ QColorGroup cg = editPalette.inactive(); QColor light, midlight, mid, dark, shadow; QColor btn = cg.color( QColorGroup::Button ); light = btn.light(150); midlight = btn.light(115); mid = btn.dark(150); dark = btn.dark(); shadow = Qt::black; cg.setColor( QColorGroup::Light, light ); cg.setColor( QColorGroup::Midlight, midlight ); cg.setColor( QColorGroup::Mid, mid ); cg.setColor( QColorGroup::Dark, dark ); cg.setColor( QColorGroup::Shadow, shadow ); editPalette.setInactive( cg ); setPreviewPalette( editPalette ); updateColorButtons();}void MainWindow::buildDisabled(){ QColorGroup cg = editPalette.active(); cg.setColor( QColorGroup::ButtonText, Qt::darkGray ); cg.setColor( QColorGroup::WindowText, Qt::darkGray ); cg.setColor( QColorGroup::Text, Qt::darkGray ); cg.setColor( QColorGroup::HighlightedText, Qt::darkGray ); editPalette.setDisabled( cg ); buildDisabledEffect();}void MainWindow::buildDisabledEffect(){ QColorGroup cg = editPalette.disabled(); QColor light, midlight, mid, dark, shadow; QColor btn = cg.color( QColorGroup::Button ); light = btn.light(150); midlight = btn.light(115); mid = btn.dark(150); dark = btn.dark(); shadow = Qt::black; cg.setColor( QColorGroup::Light, light ); cg.setColor( QColorGroup::Midlight, midlight ); cg.setColor( QColorGroup::Mid, mid ); cg.setColor( QColorGroup::Dark, dark ); cg.setColor( QColorGroup::Shadow, shadow ); editPalette.setDisabled( cg ); setPreviewPalette( editPalette ); updateColorButtons();}void MainWindow::setPreviewPalette( const QPalette& pal ){ QColorGroup cg; switch (paletteCombo->currentItem()) { case 0: default: cg = pal.active(); break; case 1: cg = pal.inactive(); break; case 2: cg = pal.disabled(); break; } previewPalette.setActive( cg ); previewPalette.setInactive( cg ); previewPalette.setDisabled( cg ); previewFrame->setPreviewPalette(previewPalette);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?