From d56d3e57f9122d104d1acbb514163c1e9f283825 Mon Sep 17 00:00:00 2001 From: defnax Date: Thu, 27 Nov 2008 00:01:46 +0000 Subject: [PATCH] * Added Formating support for Create Forum Messages * set correct WindowsTitle for Create Channel git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@843 b45a01b8-16f6-495d-af2f-9b41ad6348cc --- retroshare-gui/src/gui/ChannelFeed.cpp | 1 + retroshare-gui/src/gui/ForumsDialog.cpp | 79 +--- .../src/gui/forums/CreateForumMsg.cpp | 419 +++++++++++++++++- .../src/gui/forums/CreateForumMsg.h | 65 ++- .../src/gui/forums/CreateForumMsg.ui | 285 +++++++++--- 5 files changed, 711 insertions(+), 138 deletions(-) diff --git a/retroshare-gui/src/gui/ChannelFeed.cpp b/retroshare-gui/src/gui/ChannelFeed.cpp index 0d99c8e5d..8cf604aaf 100644 --- a/retroshare-gui/src/gui/ChannelFeed.cpp +++ b/retroshare-gui/src/gui/ChannelFeed.cpp @@ -118,6 +118,7 @@ ChannelFeed::ChannelFeed(QWidget *parent) void ChannelFeed::createChannel() { CreateForum *cf = new CreateForum(NULL, false); + cf->setWindowTitle(tr("Create Channel")); cf->show(); } diff --git a/retroshare-gui/src/gui/ForumsDialog.cpp b/retroshare-gui/src/gui/ForumsDialog.cpp index 973ad0f39..7f02a4caf 100644 --- a/retroshare-gui/src/gui/ForumsDialog.cpp +++ b/retroshare-gui/src/gui/ForumsDialog.cpp @@ -50,7 +50,7 @@ #define IMAGE_DOWNLOAD ":/images/start.png" #define IMAGE_DOWNLOADALL ":/images/startall.png" -/* Images for TreeWidget */ +/* Images for TreeWidget */ #define IMAGE_FOLDER ":/images/folder16.png" #define IMAGE_FOLDERGREEN ":/images/folder_green.png" #define IMAGE_FOLDERRED ":/images/folder_red.png" @@ -65,7 +65,7 @@ /** Constructor */ -ForumsDialog::ForumsDialog(QWidget *parent) +ForumsDialog::ForumsDialog(QWidget *parent) : MainPage(parent) { /* Invoke the Qt Designer generated object setup routine */ @@ -94,72 +94,19 @@ ForumsDialog::ForumsDialog(QWidget *parent) timer->start(1000); -#if 0 - connect( ui.msgWidget, SIGNAL( itemClicked ( QTreeWidgetItem *, int) ), this, SLOT( updateMessages ( QTreeWidgetItem *, int) ) ); - connect( ui.listWidget, SIGNAL( currentRowChanged ( int) ), this, SLOT( changeBox ( int) ) ); - - connect(ui.newmessageButton, SIGNAL(clicked()), this, SLOT(newmessage())); - connect(ui.removemessageButton, SIGNAL(clicked()), this, SLOT(removemessage())); - //connect(ui.printbutton, SIGNAL(clicked()), this, SLOT(print())); - //connect(ui.actionPrint, SIGNAL(triggered()), this, SLOT(print())); - //connect(ui.actionPrintPreview, SIGNAL(triggered()), this, SLOT(printpreview())); - connect(ui.downloadButton, SIGNAL(clicked()), this, SLOT(getallrecommended())); - - - mCurrCertId = ""; - mCurrMsgId = ""; - - /* hide the Tree +/- */ - ui.msgList->setRootIsDecorated( false ); - ui.msgWidget->setRootIsDecorated( false ); - - /* Set header resize modes and initial section sizes */ - QHeaderView * msgwheader = ui.msgWidget->header () ; - msgwheader->setResizeMode (0, QHeaderView::Custom); - msgwheader->setResizeMode (3, QHeaderView::Interactive); - - msgwheader->resizeSection ( 0, 24 ); - msgwheader->resizeSection ( 2, 250 ); - msgwheader->resizeSection ( 3, 140 ); - - /* Set header resize modes and initial section sizes */ - QHeaderView * msglheader = ui.msgList->header () ; - msglheader->setResizeMode (0, QHeaderView::Interactive); - msglheader->setResizeMode (1, QHeaderView::Interactive); - msglheader->setResizeMode (2, QHeaderView::Interactive); - msglheader->setResizeMode (3, QHeaderView::Interactive); - - msglheader->resizeSection ( 0, 200 ); - msglheader->resizeSection ( 1, 100 ); - msglheader->resizeSection ( 2, 100 ); - msglheader->resizeSection ( 3, 200 ); - - ui.newmessageButton->setIcon(QIcon(QString(":/images/folder-draft24-pressed.png"))); - ui.replymessageButton->setIcon(QIcon(QString(":/images/replymail-pressed.png"))); - ui.removemessageButton->setIcon(QIcon(QString(":/images/deletemail-pressed.png"))); - ui.printbutton->setIcon(QIcon(QString(":/images/print24.png"))); - - /*Disabled Reply Button */ - ui.replymessageButton->setEnabled(false); - - QMenu * printmenu = new QMenu(); - printmenu->addAction(ui.actionPrint); - printmenu->addAction(ui.actionPrintPreview); - ui.printbutton->setMenu(printmenu); - -#endif - /* Set header resize modes and initial section sizes */ - QHeaderView * ftheader = ui.forumTreeWidget->header () ; + /* Set header resize modes and initial section sizes */ + QHeaderView * ftheader = ui.forumTreeWidget->header () ; ftheader->setResizeMode (0, QHeaderView::Interactive); - + ftheader->resizeSection ( 0, 170 ); /* Set header resize modes and initial section sizes */ - QHeaderView * ttheader = ui.threadTreeWidget->header () ; - ttheader->setResizeMode (0, QHeaderView::Interactive); - + QHeaderView * ttheader = ui.threadTreeWidget->header () ; + ttheader->setResizeMode (0, QHeaderView::Interactive); + ttheader->resizeSection ( 0, 170 ); + ttheader->resizeSection ( 1, 170 ); @@ -230,7 +177,7 @@ void ForumsDialog::newmessage() /* window will destroy itself! */ } -void ForumsDialog::replytomessage() +void ForumsDialog::replytomessage() { /* put msg on msgBoard, and switch to it. */ @@ -276,7 +223,7 @@ void ForumsDialog::togglefileview() newSizeList.push_back(totalSize); newSizeList.push_back(0); ui.expandButton->setIcon(QIcon(QString(":/images/edit_add24.png"))); - ui.expandButton->setToolTip("Expand"); + ui.expandButton->setToolTip("Expand"); } else { @@ -285,8 +232,8 @@ void ForumsDialog::togglefileview() int nMsgSize = (totalSize / 2); newSizeList.push_back(nlistSize); newSizeList.push_back(nMsgSize); - ui.expandButton->setIcon(QIcon(QString(":/images/edit_remove24.png"))); - ui.expandButton->setToolTip("Hide"); + ui.expandButton->setIcon(QIcon(QString(":/images/edit_remove24.png"))); + ui.expandButton->setToolTip("Hide"); } ui.msgSplitter->setSizes(newSizeList); diff --git a/retroshare-gui/src/gui/forums/CreateForumMsg.cpp b/retroshare-gui/src/gui/forums/CreateForumMsg.cpp index acfef6004..643cd05e9 100644 --- a/retroshare-gui/src/gui/forums/CreateForumMsg.cpp +++ b/retroshare-gui/src/gui/forums/CreateForumMsg.cpp @@ -26,6 +26,29 @@ #include "rsiface/rsforums.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + /** Constructor */ CreateForumMsg::CreateForumMsg(std::string fId, std::string pId) : QMainWindow(NULL), mForumId(fId), mParentId(pId) @@ -33,13 +56,106 @@ CreateForumMsg::CreateForumMsg(std::string fId, std::string pId) /* Invoke the Qt Designer generated object setup routine */ ui.setupUi(this); - RshareSettings config; + RshareSettings config; config.loadWidgetInformation(this); // connect up the buttons. connect( ui.postmessage_action, SIGNAL( triggered (bool) ), this, SLOT( createMsg( ) ) ); connect( ui.close_action, SIGNAL( triggered (bool) ), this, SLOT( cancelMsg( ) ) ); + connect(ui.boldbtn, SIGNAL(clicked()), this, SLOT(textBold())); + connect(ui.underlinebtn, SIGNAL(clicked()), this, SLOT(textUnderline())); + connect(ui.italicbtn, SIGNAL(clicked()), this, SLOT(textItalic())); + connect(ui.colorbtn, SIGNAL(clicked()), this, SLOT(textColor())); + + connect(ui.forumMessage, SIGNAL(currentCharFormatChanged(const QTextCharFormat &)), + this, SLOT(currentCharFormatChanged(const QTextCharFormat &))); + connect(ui.forumMessage, SIGNAL(cursorPositionChanged()), + this, SLOT(cursorPositionChanged())); + + connect(ui.forumMessage->document(), SIGNAL(modificationChanged(bool)), + actionSave, SLOT(setEnabled(bool))); + connect(ui.forumMessage->document(), SIGNAL(modificationChanged(bool)), + this, SLOT(setWindowModified(bool))); + connect(ui.forumMessage->document(), SIGNAL(undoAvailable(bool)), + actionUndo, SLOT(setEnabled(bool))); + connect(ui.forumMessage->document(), SIGNAL(redoAvailable(bool)), + actionRedo, SLOT(setEnabled(bool))); + + setWindowModified(ui.forumMessage->document()->isModified()); + actionSave->setEnabled(ui.forumMessage->document()->isModified()); + actionUndo->setEnabled(ui.forumMessage->document()->isUndoAvailable()); + actionRedo->setEnabled(ui.forumMessage->document()->isRedoAvailable()); + + connect(actionUndo, SIGNAL(triggered()), ui.forumMessage, SLOT(undo())); + connect(actionRedo, SIGNAL(triggered()), ui.forumMessage, SLOT(redo())); + + actionCut->setEnabled(false); + actionCopy->setEnabled(false); + + connect(actionCut, SIGNAL(triggered()), ui.forumMessage, SLOT(cut())); + connect(actionCopy, SIGNAL(triggered()), ui.forumMessage, SLOT(copy())); + connect(actionPaste, SIGNAL(triggered()), ui.forumMessage, SLOT(paste())); + + connect(ui.forumMessage, SIGNAL(copyAvailable(bool)), actionCut, SLOT(setEnabled(bool))); + connect(ui.forumMessage, SIGNAL(copyAvailable(bool)), actionCopy, SLOT(setEnabled(bool))); + + connect(QApplication::clipboard(), SIGNAL(dataChanged()), this, SLOT(clipboardDataChanged())); + + QActionGroup *grp = new QActionGroup(this); + connect(grp, SIGNAL(triggered(QAction *)), this, SLOT(textAlign(QAction *))); + + actionAlignLeft = new QAction(QIcon(":/images/textedit/textleft.png"), tr("&Left"), grp); + actionAlignLeft->setShortcut(Qt::CTRL + Qt::Key_L); + actionAlignLeft->setCheckable(true); + actionAlignCenter = new QAction(QIcon(":/images/textedit/textcenter.png"), tr("C&enter"), grp); + actionAlignCenter->setShortcut(Qt::CTRL + Qt::Key_E); + actionAlignCenter->setCheckable(true); + actionAlignRight = new QAction(QIcon(":/images/textedit/textright.png"), tr("&Right"), grp); + actionAlignRight->setShortcut(Qt::CTRL + Qt::Key_R); + actionAlignRight->setCheckable(true); + actionAlignJustify = new QAction(QIcon(":/images/textedit/textjustify.png"), tr("&Justify"), grp); + actionAlignJustify->setShortcut(Qt::CTRL + Qt::Key_J); + actionAlignJustify->setCheckable(true); + + ui.comboStyle->addItem("Standard"); + ui.comboStyle->addItem("Bullet List (Disc)"); + ui.comboStyle->addItem("Bullet List (Circle)"); + ui.comboStyle->addItem("Bullet List (Square)"); + ui.comboStyle->addItem("Ordered List (Decimal)"); + ui.comboStyle->addItem("Ordered List (Alpha lower)"); + ui.comboStyle->addItem("Ordered List (Alpha upper)"); + connect(ui.comboStyle, SIGNAL(activated(int)),this, SLOT(textStyle(int))); + + connect(ui.comboFont, SIGNAL(activated(const QString &)), this, SLOT(textFamily(const QString &))); + + ui.comboSize->setEditable(true); + + QFontDatabase db; + foreach(int size, db.standardSizes()) + ui.comboSize->addItem(QString::number(size)); + + connect(ui.comboSize, SIGNAL(activated(const QString &)),this, SLOT(textSize(const QString &))); + ui.comboSize->setCurrentIndex(ui.comboSize->findText(QString::number(QApplication::font().pointSize()))); + + ui.boldbtn->setIcon(QIcon(QString(":/images/textedit/textbold.png"))); + ui.underlinebtn->setIcon(QIcon(QString(":/images/textedit/textunder.png"))); + ui.italicbtn->setIcon(QIcon(QString(":/images/textedit/textitalic.png"))); + ui.textalignmentbtn->setIcon(QIcon(QString(":/images/textedit/textcenter.png"))); + //ui.actionContactsView->setIcon(QIcon(":/images/contacts24.png")); + //ui.actionSaveas->setIcon(QIcon(":/images/save24.png")); + + QMenu * alignmentmenu = new QMenu(); + alignmentmenu->addAction(actionAlignLeft); + alignmentmenu->addAction(actionAlignCenter); + alignmentmenu->addAction(actionAlignRight); + alignmentmenu->addAction(actionAlignJustify); + ui.textalignmentbtn->setMenu(alignmentmenu); + + QPixmap pxm(24,24); + pxm.fill(Qt::black); + ui.colorbtn->setIcon(pxm); + newMsg(); } @@ -101,7 +217,306 @@ void CreateForumMsg::cancelMsg() close(); return; - RshareSettings config; + RshareSettings config; config.saveWidgetInformation(this); } +void CreateForumMsg::textBold() +{ + QTextCharFormat fmt; + fmt.setFontWeight(ui.boldbtn->isChecked() ? QFont::Bold : QFont::Normal); + mergeFormatOnWordOrSelection(fmt); +} + +void CreateForumMsg::textUnderline() +{ + QTextCharFormat fmt; + fmt.setFontUnderline(ui.underlinebtn->isChecked()); + mergeFormatOnWordOrSelection(fmt); +} + +void CreateForumMsg::textItalic() +{ + QTextCharFormat fmt; + fmt.setFontItalic(ui.italicbtn->isChecked()); + mergeFormatOnWordOrSelection(fmt); +} + +void CreateForumMsg::textFamily(const QString &f) +{ + QTextCharFormat fmt; + fmt.setFontFamily(f); + mergeFormatOnWordOrSelection(fmt); +} + +void CreateForumMsg::textSize(const QString &p) +{ + QTextCharFormat fmt; + fmt.setFontPointSize(p.toFloat()); + mergeFormatOnWordOrSelection(fmt); +} + +void CreateForumMsg::textStyle(int styleIndex) +{ + QTextCursor cursor = ui.forumMessage->textCursor(); + + if (styleIndex != 0) { + QTextListFormat::Style style = QTextListFormat::ListDisc; + + switch (styleIndex) { + default: + case 1: + style = QTextListFormat::ListDisc; + break; + case 2: + style = QTextListFormat::ListCircle; + break; + case 3: + style = QTextListFormat::ListSquare; + break; + case 4: + style = QTextListFormat::ListDecimal; + break; + case 5: + style = QTextListFormat::ListLowerAlpha; + break; + case 6: + style = QTextListFormat::ListUpperAlpha; + break; + } + + cursor.beginEditBlock(); + + QTextBlockFormat blockFmt = cursor.blockFormat(); + + QTextListFormat listFmt; + + if (cursor.currentList()) { + listFmt = cursor.currentList()->format(); + } else { + listFmt.setIndent(blockFmt.indent() + 1); + blockFmt.setIndent(0); + cursor.setBlockFormat(blockFmt); + } + + listFmt.setStyle(style); + + cursor.createList(listFmt); + + cursor.endEditBlock(); + } else { + // #### + QTextBlockFormat bfmt; + bfmt.setObjectIndex(-1); + cursor.mergeBlockFormat(bfmt); + } +} + +void CreateForumMsg::textColor() +{ + QColor col = QColorDialog::getColor(ui.forumMessage->textColor(), this); + if (!col.isValid()) + return; + QTextCharFormat fmt; + fmt.setForeground(col); + mergeFormatOnWordOrSelection(fmt); + colorChanged(col); +} + +void CreateForumMsg::textAlign(QAction *a) +{ + if (a == actionAlignLeft) + ui.forumMessage->setAlignment(Qt::AlignLeft); + else if (a == actionAlignCenter) + ui.forumMessage->setAlignment(Qt::AlignHCenter); + else if (a == actionAlignRight) + ui.forumMessage->setAlignment(Qt::AlignRight); + else if (a == actionAlignJustify) + ui.forumMessage->setAlignment(Qt::AlignJustify); +} + +void CreateForumMsg::currentCharFormatChanged(const QTextCharFormat &format) +{ + fontChanged(format.font()); + colorChanged(format.foreground().color()); +} + +void CreateForumMsg::cursorPositionChanged() +{ + alignmentChanged(ui.forumMessage->alignment()); +} + +void CreateForumMsg::mergeFormatOnWordOrSelection(const QTextCharFormat &format) +{ + QTextCursor cursor = ui.forumMessage->textCursor(); + if (!cursor.hasSelection()) + cursor.select(QTextCursor::WordUnderCursor); + cursor.mergeCharFormat(format); + ui.forumMessage->mergeCurrentCharFormat(format); +} + +void CreateForumMsg::fontChanged(const QFont &f) +{ + ui.comboFont->setCurrentIndex(ui.comboFont->findText(QFontInfo(f).family())); + ui.comboSize->setCurrentIndex(ui.comboSize->findText(QString::number(f.pointSize()))); + ui.boldbtn->setChecked(f.bold()); + ui.italicbtn->setChecked(f.italic()); + ui.underlinebtn->setChecked(f.underline()); +} + +void CreateForumMsg::colorChanged(const QColor &c) +{ + QPixmap pix(16, 16); + pix.fill(c); + ui.colorbtn->setIcon(pix); +} + +void CreateForumMsg::alignmentChanged(Qt::Alignment a) +{ + if (a & Qt::AlignLeft) { + actionAlignLeft->setChecked(true); + } else if (a & Qt::AlignHCenter) { + actionAlignCenter->setChecked(true); + } else if (a & Qt::AlignRight) { + actionAlignRight->setChecked(true); + } else if (a & Qt::AlignJustify) { + actionAlignJustify->setChecked(true); + } +} + +void CreateForumMsg::clipboardDataChanged() +{ + actionPaste->setEnabled(!QApplication::clipboard()->text().isEmpty()); +} + +void CreateForumMsg::fileNew() +{ + if (maybeSave()) { + ui.forumMessage->clear(); + //setCurrentFileName(QString()); + } +} + +void CreateForumMsg::fileOpen() +{ + QString fn = QFileDialog::getOpenFileName(this, tr("Open File..."), + QString(), tr("HTML-Files (*.htm *.html);;All Files (*)")); + if (!fn.isEmpty()) + load(fn); +} + +bool CreateForumMsg::fileSave() +{ + if (fileName.isEmpty()) + return fileSaveAs(); + + QFile file(fileName); + if (!file.open(QFile::WriteOnly)) + return false; + QTextStream ts(&file); + ts.setCodec(QTextCodec::codecForName("UTF-8")); + ts << ui.forumMessage->document()->toHtml("UTF-8"); + ui.forumMessage->document()->setModified(false); + return true; +} + +bool CreateForumMsg::fileSaveAs() +{ + QString fn = QFileDialog::getSaveFileName(this, tr("Save as..."), + QString(), tr("HTML-Files (*.htm *.html);;All Files (*)")); + if (fn.isEmpty()) + return false; + setCurrentFileName(fn); + return fileSave(); +} + +void CreateForumMsg::filePrint() +{ +#ifndef QT_NO_PRINTER + QPrinter printer(QPrinter::HighResolution); + printer.setFullPage(true); + QPrintDialog *dlg = new QPrintDialog(&printer, this); + if (ui.forumMessage->textCursor().hasSelection()) + dlg->addEnabledOption(QAbstractPrintDialog::PrintSelection); + dlg->setWindowTitle(tr("Print Document")); + if (dlg->exec() == QDialog::Accepted) { + ui.forumMessage->print(&printer); + } + delete dlg; +#endif +} + +/*void TextEdit::filePrintPreview() +{ + PrintPreview *preview = new PrintPreview(textEdit->document(), this); + preview->setWindowModality(Qt::WindowModal); + preview->setAttribute(Qt::WA_DeleteOnClose); + preview->show(); +}*/ + +void CreateForumMsg::filePrintPdf() +{ +#ifndef QT_NO_PRINTER + QString fileName = QFileDialog::getSaveFileName(this, "Export PDF", + QString(), "*.pdf"); + if (!fileName.isEmpty()) { + if (QFileInfo(fileName).suffix().isEmpty()) + fileName.append(".pdf"); + QPrinter printer(QPrinter::HighResolution); + printer.setOutputFormat(QPrinter::PdfFormat); + printer.setOutputFileName(fileName); + ui.forumMessage->document()->print(&printer); + } +#endif +} + +void CreateForumMsg::setCurrentFileName(const QString &fileName) +{ + this->fileName = fileName; + ui.forumMessage->document()->setModified(false); + + setWindowModified(false); +} + +bool CreateForumMsg::load(const QString &f) +{ + if (!QFile::exists(f)) + return false; + QFile file(f); + if (!file.open(QFile::ReadOnly)) + return false; + + QByteArray data = file.readAll(); + QTextCodec *codec = Qt::codecForHtml(data); + QString str = codec->toUnicode(data); + if (Qt::mightBeRichText(str)) { + ui.forumMessage->setHtml(str); + } else { + str = QString::fromLocal8Bit(data); + ui.forumMessage->setPlainText(str); + } + + setCurrentFileName(f); + return true; +} + + +bool CreateForumMsg::maybeSave() +{ + if (!ui.forumMessage->document()->isModified()) + return true; + if (fileName.startsWith(QLatin1String(":/"))) + return true; + QMessageBox::StandardButton ret; + ret = QMessageBox::warning(this, tr("Save Message"), + tr("Forum Message has not been Sent.\n" + "Do you want to save forum message ?"), + QMessageBox::Save | QMessageBox::Discard + | QMessageBox::Cancel); + if (ret == QMessageBox::Save) + return fileSave(); + else if (ret == QMessageBox::Cancel) + return false; + return true; +} + diff --git a/retroshare-gui/src/gui/forums/CreateForumMsg.h b/retroshare-gui/src/gui/forums/CreateForumMsg.h index 9cf377725..226b32aa1 100644 --- a/retroshare-gui/src/gui/forums/CreateForumMsg.h +++ b/retroshare-gui/src/gui/forums/CreateForumMsg.h @@ -28,6 +28,12 @@ #include "ui_CreateForumMsg.h" +class QAction; +class QComboBox; +class QFontComboBox; +class QTextEdit; +class QTextCharFormat; + class CreateForumMsg : public QMainWindow { Q_OBJECT @@ -35,18 +41,67 @@ class CreateForumMsg : public QMainWindow public: CreateForumMsg(std::string fId, std::string pId); -void newMsg(); /* cleanup */ + void newMsg(); /* cleanup */ private slots: /* actions to take.... */ -void createMsg(); -void cancelMsg(); + void createMsg(); + void cancelMsg(); + + void fileNew(); + void fileOpen(); + bool fileSave(); + bool fileSaveAs(); + void filePrint(); + + //void filePrintPreview(); + void filePrintPdf(); + + void textBold(); + void textUnderline(); + void textItalic(); + void textFamily(const QString &f); + void textSize(const QString &p); + void textStyle(int styleIndex); + void textColor(); + void textAlign(QAction *a); + + void currentCharFormatChanged(const QTextCharFormat &format); + void cursorPositionChanged(); + + void clipboardDataChanged(); private: - std::string mForumId; - std::string mParentId; + std::string mForumId; + std::string mParentId; + + void mergeFormatOnWordOrSelection(const QTextCharFormat &format); + void fontChanged(const QFont &f); + void colorChanged(const QColor &c); + void alignmentChanged(Qt::Alignment a); + + bool load(const QString &f); + bool maybeSave(); + + void setCurrentFileName(const QString &fileName); + + + QAction *actionSave, + *actionAlignLeft, + *actionAlignCenter, + *actionAlignRight, + *actionAlignJustify, + *actionUndo, + *actionRedo, + *actionCut, + *actionCopy, + *actionPaste; + + QString fileName; + + /** Qt Designer generated object */ Ui::CreateForumMsg ui; diff --git a/retroshare-gui/src/gui/forums/CreateForumMsg.ui b/retroshare-gui/src/gui/forums/CreateForumMsg.ui index b2f301ee0..4f4ac40b8 100644 --- a/retroshare-gui/src/gui/forums/CreateForumMsg.ui +++ b/retroshare-gui/src/gui/forums/CreateForumMsg.ui @@ -5,8 +5,8 @@ 0 0 - 441 - 353 + 533 + 398 @@ -21,75 +21,220 @@ - + - - - - - Forum - - - - - - - false - - - - + + + Forum + + - - - - - Forum Post Subject - - - - - - - - - - - - - - Forum Post - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Sign Message - - - - - - - + + + false + + + + + + + + Forum Post Subject + + + + + + + + + + + + + + Forum Post + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Sign Message + + + + + + + + + + + + + + + + + Font size + + + + + + + + 24 + 24 + + + + + 24 + 24 + + + + Bold + + + + + + true + + + + + + + + 24 + 24 + + + + + 24 + 24 + + + + Underline + + + + + + true + + + + + + + + 24 + 24 + + + + + 24 + 24 + + + + Italic + + + + + + true + + + + + + + + 24 + 24 + + + + + 24 + 24 + + + + Color + + + + + + + + + + + 24 + 24 + + + + + 24 + 24 + + + + Alignment + + + + + + + + + + Qt::Horizontal + + + + 51 + 20 + + + + + + + + + @@ -105,6 +250,16 @@ + + + + 0 + 0 + 533 + 30 + + + :/images/mail_send24.png