imageViewer::imageViewer(QWidget *parent): QLabel(parent) { addToLog("image creation",LOGIMAG); validImage=false; setFrameStyle(QFrame::Sunken | QFrame::Panel); QBrush b; QPalette palette; b.setTexture(QPixmap::fromImage(QImage(":/icons/transparency.png"))); palette.setBrush(QPalette::Active,QPalette::Base,b); palette.setBrush(QPalette::Inactive,QPalette::Base,b); palette.setBrush(QPalette::Disabled,QPalette::Base,b); setPalette(palette); setBackgroundRole(QPalette::Base); setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored); setBackgroundRole(QPalette::Dark); popup=new QMenu (this); newAct = new QAction(tr("&New"),this); connect(newAct, SIGNAL(triggered()), this, SLOT(slotNew())); loadAct = new QAction(tr("&Load"), this); connect(loadAct, SIGNAL(triggered()), this, SLOT(slotLoad())); toTXAct = new QAction(tr("&To TX"), this); connect(toTXAct, SIGNAL(triggered()), this, SLOT(slotToTX())); editAct = new QAction(tr("&Edit"), this); connect(editAct, SIGNAL(triggered()), this, SLOT(slotEdit())); printAct = new QAction(tr("&Print"), this); connect(printAct, SIGNAL(triggered()), this, SLOT(slotPrint())); deleteAct = new QAction(tr("&Delete"), this); connect(deleteAct, SIGNAL(triggered()), this, SLOT(slotDelete())); viewAct = new QAction(tr("&View"), this); connect(viewAct, SIGNAL(triggered()), this, SLOT(slotView())); propertiesAct = new QAction(tr("Propert&ies"), this); connect(propertiesAct, SIGNAL(triggered()), this, SLOT(slotProperties())); connect(configDialogPtr,SIGNAL(bgColorChanged()), SLOT(slotBGColorChanged())); init(RXIMG); activeMovie=false; // }
void RichTextEdit::showBar() { if (m_bar) return; m_bar = new QToolBar(this); btnBG = new ColorToolButton(m_bar, m_edit->background()); set_button(btnBG, "bgcolor", I18N_NOOP("Bac&kground color")); connect(btnBG, SIGNAL(colorChanged(QColor)), this, SLOT(bgColorChanged(QColor))); btnFG = new ColorToolButton(m_bar, m_edit->foreground()); set_button(btnFG, "fgcolor", I18N_NOOP("&Text color")); connect(btnFG, SIGNAL(colorChanged(QColor)), this, SLOT(fgColorChanged(QColor))); connect(btnFG, SIGNAL(aboutToShow()), this, SLOT(showFgPopup())); m_bar->addSeparator(); btnBold = new QToolButton(m_bar); set_button(btnBold, "text_bold", I18N_NOOP("&Bold")); btnBold->setToggleButton(true); connect(btnBold, SIGNAL(toggled(bool)), this, SLOT(toggleBold(bool))); btnItalic = new QToolButton(m_bar); set_button(btnItalic, "text_italic", I18N_NOOP("&Italic")); btnItalic->setToggleButton(true); connect(btnItalic, SIGNAL(toggled(bool)), this, SLOT(toggleItalic(bool))); btnUnderline = new QToolButton(m_bar); set_button(btnUnderline, "text_under", I18N_NOOP("&Underline")); btnUnderline->setToggleButton(true); connect(btnUnderline, SIGNAL(toggled(bool)), this, SLOT(toggleUnderline(bool))); m_bar->addSeparator(); QToolButton *btn = new QToolButton(m_bar); set_button(btn, "text", I18N_NOOP("Text &font")); connect(btn, SIGNAL(clicked()), this, SLOT(selectFont())); connect(m_edit, SIGNAL(currentFontChanged(const QFont&)), this, SLOT(fontChanged(const QFont&))); }
void MRichTextEdit::textBgColor() { QColor col = QColorDialog::getColor(f_textedit->textBackgroundColor(), this); QTextCursor cursor = f_textedit->textCursor(); if (!cursor.hasSelection()) { cursor.select(QTextCursor::WordUnderCursor); } QTextCharFormat fmt = cursor.charFormat(); if (col.isValid()) { fmt.setBackground(col); } else { fmt.clearBackground(); } cursor.setCharFormat(fmt); f_textedit->setCurrentCharFormat(fmt); bgColorChanged(col); }
void *TextEdit::processEvent(Event *e) { if (m_param == NULL) return NULL; if (e->type() == EventCheckState){ CommandDef *cmd = (CommandDef*)(e->param()); if (cmd->param != m_param) return NULL; switch (cmd->id){ case CmdBgColor: case CmdFgColor: case CmdBold: case CmdItalic: case CmdUnderline: case CmdFont: if ((textFormat() == RichText) && !isReadOnly()){ cmd->flags &= ~BTN_HIDE; }else{ cmd->flags |= BTN_HIDE; } return e->param(); default: return NULL; } } if (e->type() == EventCommandExec){ CommandDef *cmd = (CommandDef*)(e->param()); if (cmd->param != m_param) return NULL; switch (cmd->id){ case CmdBgColor:{ Event eWidget(EventCommandWidget, cmd); CToolButton *btnBg = (CToolButton*)(eWidget.process()); if (btnBg){ ColorPopup *popup = new ColorPopup(this, background()); popup->move(CToolButton::popupPos(btnBg, popup)); connect(popup, SIGNAL(colorChanged(QColor)), this, SLOT(bgColorChanged(QColor))); popup->show(); } return e->param(); } case CmdFgColor:{ Event eWidget(EventCommandWidget, cmd); CToolButton *btnFg = (CToolButton*)(eWidget.process()); if (btnFg){ ColorPopup *popup = new ColorPopup(this, foreground()); popup->move(CToolButton::popupPos(btnFg, popup)); connect(popup, SIGNAL(colorChanged(QColor)), this, SLOT(fgColorChanged(QColor))); popup->show(); } return e->param(); } case CmdBold: m_bSelected = true; setBold((cmd->flags & COMMAND_CHECKED) != 0); return e->param(); case CmdItalic: m_bSelected = true; setItalic((cmd->flags & COMMAND_CHECKED) != 0); return e->param(); case CmdUnderline: m_bSelected = true; setUnderline((cmd->flags & COMMAND_CHECKED) != 0); return e->param(); case CmdFont:{ #ifdef USE_KDE QFont f = font(); if (KFontDialog::getFont(f, false, topLevelWidget()) != KFontDialog::Accepted) break; #else bool ok = false; QFont f = QFontDialog::getFont(&ok, font(), topLevelWidget()); if (!ok) break; #endif m_bSelected = true; setCurrentFont(f); break; } default: return NULL; } } return NULL; }
void MRichTextEdit::slotCurrentCharFormatChanged(const QTextCharFormat &format) { fontChanged(format.font()); bgColorChanged((format.background().isOpaque()) ? format.background().color() : QColor()); f_link->setChecked(format.isAnchor()); }
MRichTextEdit::MRichTextEdit(QWidget *parent) : QWidget(parent) { setupUi(this); m_lastBlockList = 0; f_textedit->setTabStopWidth(40); connect(f_textedit, SIGNAL(currentCharFormatChanged(QTextCharFormat)), this, SLOT(slotCurrentCharFormatChanged(QTextCharFormat))); connect(f_textedit, SIGNAL(cursorPositionChanged()), this, SLOT(slotCursorPositionChanged())); m_fontsize_h1 = 18; m_fontsize_h2 = 16; m_fontsize_h3 = 14; m_fontsize_h4 = 12; fontChanged(f_textedit->font()); bgColorChanged(f_textedit->textColor()); // paragraph formatting m_paragraphItems << tr("Standard") << tr("Heading 1") << tr("Heading 2") << tr("Heading 3") << tr("Heading 4") << tr("Monospace"); f_paragraph->addItems(m_paragraphItems); connect(f_paragraph, SIGNAL(activated(int)), this, SLOT(textStyle(int))); // undo & redo f_undo->setShortcut(QKeySequence::Undo); f_redo->setShortcut(QKeySequence::Redo); connect(f_textedit->document(), SIGNAL(undoAvailable(bool)), f_undo, SLOT(setEnabled(bool))); connect(f_textedit->document(), SIGNAL(redoAvailable(bool)), f_redo, SLOT(setEnabled(bool))); f_undo->setEnabled(f_textedit->document()->isUndoAvailable()); f_redo->setEnabled(f_textedit->document()->isRedoAvailable()); connect(f_undo, SIGNAL(clicked()), f_textedit, SLOT(undo())); connect(f_redo, SIGNAL(clicked()), f_textedit, SLOT(redo())); // cut, copy & paste f_cut->setShortcut(QKeySequence::Cut); f_copy->setShortcut(QKeySequence::Copy); f_paste->setShortcut(QKeySequence::Paste); f_cut->setEnabled(false); f_copy->setEnabled(false); connect(f_cut, SIGNAL(clicked()), f_textedit, SLOT(cut())); connect(f_copy, SIGNAL(clicked()), f_textedit, SLOT(copy())); connect(f_paste, SIGNAL(clicked()), f_textedit, SLOT(paste())); connect(f_textedit, SIGNAL(copyAvailable(bool)), f_cut, SLOT(setEnabled(bool))); connect(f_textedit, SIGNAL(copyAvailable(bool)), f_copy, SLOT(setEnabled(bool))); #ifndef QT_NO_CLIPBOARD connect(QApplication::clipboard(), SIGNAL(dataChanged()), this, SLOT(slotClipboardDataChanged())); #endif // link f_link->setShortcut(Qt::CTRL + Qt::Key_L); connect(f_link, SIGNAL(clicked(bool)), this, SLOT(textLink(bool))); // bold, italic & underline f_bold->setShortcut(Qt::CTRL + Qt::Key_B); f_italic->setShortcut(Qt::CTRL + Qt::Key_I); f_underline->setShortcut(Qt::CTRL + Qt::Key_U); connect(f_bold, SIGNAL(clicked()), this, SLOT(textBold())); connect(f_italic, SIGNAL(clicked()), this, SLOT(textItalic())); connect(f_underline, SIGNAL(clicked()), this, SLOT(textUnderline())); connect(f_strikeout, SIGNAL(clicked()), this, SLOT(textStrikeout())); // lists f_list_bullet->setShortcut(Qt::CTRL + Qt::Key_Minus); f_list_ordered->setShortcut(Qt::CTRL + Qt::Key_Equal); connect(f_list_bullet, SIGNAL(clicked(bool)), this, SLOT(listBullet(bool))); connect(f_list_ordered, SIGNAL(clicked(bool)), this, SLOT(listOrdered(bool))); // indentation f_indent_dec->setShortcut(Qt::CTRL + Qt::Key_Comma); f_indent_inc->setShortcut(Qt::CTRL + Qt::Key_Period); connect(f_indent_inc, SIGNAL(clicked()), this, SLOT(increaseIndentation())); connect(f_indent_dec, SIGNAL(clicked()), this, SLOT(decreaseIndentation())); // font size QFontDatabase db; foreach(int size, db.standardSizes()) { f_fontsize->addItem(QString::number(size)); } connect(f_fontsize, SIGNAL(activated(QString)), this, SLOT(textSize(QString))); f_fontsize->setCurrentIndex(f_fontsize->findText(QString::number(QApplication::font().pointSize()))); // text background color QPixmap pix(16, 16); pix.fill(QApplication::palette().background().color()); f_bgcolor->setIcon(pix); connect(f_bgcolor, SIGNAL(clicked()), this, SLOT(textBgColor())); // images connect(f_image, SIGNAL(clicked()), this, SLOT(insertImage())); }
MsgGen::MsgGen(CToolCustom *parent, Message *msg) : QObject(parent) { m_client = msg->client(); m_edit = NULL; for (QWidget *p = parent->parentWidget(); p; p = p->parentWidget()){ if (p->inherits("MsgEdit")){ m_edit = static_cast<MsgEdit*>(p); break; } } connect(m_edit->m_userWnd, SIGNAL(multiplyChanged()), this, SLOT(textChanged())); parent->setText(i18n(" ")); m_edit->m_edit->setTextFormat(RichText); QString text = msg->getRichText(); if (!text.isEmpty()){ m_edit->m_edit->setText(text); m_edit->m_edit->moveCursor(QTextEdit::MoveEnd, false); if ((msg->getBackground() != msg->getForeground()) && !CorePlugin::m_plugin->getOwnColors()){ m_edit->m_edit->setBackground(msg->getBackground()); m_edit->m_edit->setForeground(msg->getForeground()); } } Command cmd; cmd->id = CmdSend; cmd->param = m_edit; Event e(EventCommandWidget, cmd); btnSend = (QToolButton*)(e.process()); QToolButton *btn = new ColorToolButton(parent, QColor(CorePlugin::m_plugin->getEditBackground())); set_button(btn, "bgcolor", I18N_NOOP("Bac&kground color")); connect(btn, SIGNAL(colorChanged(QColor)), this, SLOT(bgColorChanged(QColor))); parent->addWidget(btn); btn->show(); btn = new ColorToolButton(parent, QColor(CorePlugin::m_plugin->getEditForeground())); set_button(btn, "fgcolor", I18N_NOOP("&Text color")); connect(btn, SIGNAL(colorChanged(QColor)), this, SLOT(fgColorChanged(QColor))); parent->addWidget(btn); btn->show(); btnBold = new QToolButton(parent); set_button(btnBold, "text_bold", I18N_NOOP("&Bold")); btnBold->setToggleButton(true); connect(btnBold, SIGNAL(toggled(bool)), this, SLOT(toggleBold(bool))); parent->addWidget(btnBold); btnBold->show(); btnItalic = new QToolButton(parent); set_button(btnItalic, "text_italic", I18N_NOOP("&Italic")); btnItalic->setToggleButton(true); connect(btnItalic, SIGNAL(toggled(bool)), this, SLOT(toggleItalic(bool))); parent->addWidget(btnItalic); btnItalic->show(); btnUnderline = new QToolButton(parent); set_button(btnUnderline, "text_under", I18N_NOOP("&Underline")); btnUnderline->setToggleButton(true); connect(btnUnderline, SIGNAL(toggled(bool)), this, SLOT(toggleUnderline(bool))); parent->addWidget(btnUnderline); btnUnderline->show(); btn = new QToolButton(parent); set_button(btn, "text", I18N_NOOP("Text &font")); connect(btn, SIGNAL(clicked()), this, SLOT(selectFont())); parent->addWidget(btn); btn->show(); connect(m_edit->m_edit, SIGNAL(currentFontChanged(const QFont&)), this, SLOT(fontChanged(const QFont&))); connect(m_edit->m_edit, SIGNAL(textChanged()), this, SLOT(textChanged())); fontChanged(m_edit->m_edit->font()); textChanged(); }