void KBannerSetup::fillFontSizes() { bool block = comboSizes->signalsBlocked(); comboSizes->blockSignals( true ); comboSizes->clear(); int i = 0; sizes = QFontDatabase().pointSizes( fontFamily ); sizes << 96 << 128 << 156 << 0; int current = 0; while ( sizes[i] ) { QString num; num.setNum( sizes[i] ); comboSizes->insertItem( i, num ); if ( fontSize == sizes[i] ) // fontsize equals one of the defined ones { current = i; comboSizes->setCurrentIndex( current ); slotSize( current ); } i++; } if ( current == 0 ) // fontsize seems to be entered by hand { QString fsize; fsize.setNum( fontSize ); comboSizes->setEditText(fsize); slotSizeEdit( fsize ); } comboSizes->blockSignals( block ); }
FontSet::FontSet(QWidget *parent) : QMainWindow(parent) { QFont f("ZYSong18030",12); setFont(f); setWindowTitle(tr("font")); QToolBar *toolBar = addToolBar("Font"); QLabel *label1 = new QLabel(tr("ZiTi: ")); fontBox = new QFontComboBox(toolBar); fontBox->setFontFilters(QFontComboBox::ScalableFonts); toolBar->addWidget(label1); toolBar->addWidget(fontBox); QLabel *label2 = new QLabel(tr("number: ")); sizeBox = new QComboBox(toolBar); toolBar->addWidget(label2); toolBar->addWidget(sizeBox); QFontDatabase db; foreach(int size, db.standardSizes()) { sizeBox->addItem(QString::number(size)); } toolBar->addSeparator(); boldBtn = new QToolButton; boldBtn->setIcon(QIcon("./images/bold.png")); boldBtn->setCheckable(true); toolBar->addWidget(boldBtn); italicBtn = new QToolButton; italicBtn->setIcon(QIcon("./images/italic.png")); italicBtn->setCheckable(true); toolBar->addWidget(italicBtn); underBtn = new QToolButton; underBtn->setIcon(QIcon("./images/underline.png")); underBtn->setCheckable(true); toolBar->addWidget(underBtn); toolBar->addSeparator(); colorBtn = new QToolButton; colorBtn->setIcon(QIcon("./images/color.png")); toolBar->addWidget(colorBtn); text = new QTextEdit(this); text->setFocus(); setCentralWidget(text); connect(fontBox,SIGNAL(activated(QString)),this,SLOT(slotFont(QString))); connect(sizeBox,SIGNAL(activated(QString)),this,SLOT(slotSize(QString))); connect(boldBtn,SIGNAL(clicked()),this,SLOT(slotBold())); connect(italicBtn,SIGNAL(clicked()),this,SLOT(slotItalic())); connect(underBtn,SIGNAL(clicked()),this,SLOT(slotUnder())); connect(colorBtn,SIGNAL(clicked()),this,SLOT(slotColor())); connect(text,SIGNAL(currentCharFormatChanged(const QTextCharFormat&)),this,SLOT(slotCurrentFormatChanged(const QTextCharFormat&))); }
inline size_t objectSize(const JsonObjectData* obj) { if (!obj) return 0; return slotSize(obj->head); }