-changend plaintext to to html for Message sending
-added formating features now can send Formated Messages to Friends . -redesigned Compose Dialog -Added Contacts View Action for hide/show the Contacts DockWidget git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@413 b45a01b8-16f6-495d-af2f-9b41ad6348cc
|
@ -443,7 +443,7 @@ void MessagesDialog::insertMsgTxtAndFiles()
|
||||||
ui.filesText->setText("");
|
ui.filesText->setText("");
|
||||||
|
|
||||||
ui.subjectText->setText("");
|
ui.subjectText->setText("");
|
||||||
ui.msgText->setText("");
|
//ui.msgText->setText("");
|
||||||
ui.msgList->clear();
|
ui.msgList->clear();
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
<file>images/channels.png</file>
|
<file>images/channels.png</file>
|
||||||
<file>images/channeldelete.png</file>
|
<file>images/channeldelete.png</file>
|
||||||
<file>images/channelsubscribe.png</file>
|
<file>images/channelsubscribe.png</file>
|
||||||
|
<file>images/contacts24.png</file>
|
||||||
<file>images/FileTypeAny.png</file>
|
<file>images/FileTypeAny.png</file>
|
||||||
<file>images/FileTypeArchive.png</file>
|
<file>images/FileTypeArchive.png</file>
|
||||||
<file>images/FileTypeAudio.png</file>
|
<file>images/FileTypeAudio.png</file>
|
||||||
|
@ -171,6 +172,13 @@
|
||||||
<file>images/smplayer_icon32.png</file>
|
<file>images/smplayer_icon32.png</file>
|
||||||
<file>images/start.png</file>
|
<file>images/start.png</file>
|
||||||
<file>images/startall.png</file>
|
<file>images/startall.png</file>
|
||||||
|
<file>images/textedit/textbold.png</file>
|
||||||
|
<file>images/textedit/textitalic.png</file>
|
||||||
|
<file>images/textedit/textunder.png</file>
|
||||||
|
<file>images/textedit/textjustify.png</file>
|
||||||
|
<file>images/textedit/textcenter.png</file>
|
||||||
|
<file>images/textedit/textleft.png</file>
|
||||||
|
<file>images/textedit/textright.png</file>
|
||||||
<file>images/toaster/chat.png</file>
|
<file>images/toaster/chat.png</file>
|
||||||
<file>images/toaster/hangup.png</file>
|
<file>images/toaster/hangup.png</file>
|
||||||
<file>images/toaster/pickup.png</file>
|
<file>images/toaster/pickup.png</file>
|
||||||
|
|
BIN
retroshare-gui/src/gui/images/contacts24.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
retroshare-gui/src/gui/images/textedit/editcopy.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
retroshare-gui/src/gui/images/textedit/editcut.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
retroshare-gui/src/gui/images/textedit/editpaste.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
retroshare-gui/src/gui/images/textedit/editredo.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
retroshare-gui/src/gui/images/textedit/editundo.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
retroshare-gui/src/gui/images/textedit/exportpdf.png
Normal file
After Width: | Height: | Size: 1 KiB |
BIN
retroshare-gui/src/gui/images/textedit/filenew.png
Normal file
After Width: | Height: | Size: 768 B |
BIN
retroshare-gui/src/gui/images/textedit/fileopen.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
retroshare-gui/src/gui/images/textedit/fileprint.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
retroshare-gui/src/gui/images/textedit/filesave.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
retroshare-gui/src/gui/images/textedit/textbold.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
retroshare-gui/src/gui/images/textedit/textcenter.png
Normal file
After Width: | Height: | Size: 627 B |
BIN
retroshare-gui/src/gui/images/textedit/textitalic.png
Normal file
After Width: | Height: | Size: 829 B |
BIN
retroshare-gui/src/gui/images/textedit/textjustify.png
Normal file
After Width: | Height: | Size: 695 B |
BIN
retroshare-gui/src/gui/images/textedit/textleft.png
Normal file
After Width: | Height: | Size: 673 B |
BIN
retroshare-gui/src/gui/images/textedit/textright.png
Normal file
After Width: | Height: | Size: 677 B |
BIN
retroshare-gui/src/gui/images/textedit/textunder.png
Normal file
After Width: | Height: | Size: 971 B |
BIN
retroshare-gui/src/gui/images/textedit/zoomin.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
retroshare-gui/src/gui/images/textedit/zoomout.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
|
@ -29,12 +29,17 @@
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
#include <QContextMenuEvent>
|
#include <QContextMenuEvent>
|
||||||
|
#include <QColorDialog>
|
||||||
#include <QMenu>
|
#include <QMenu>
|
||||||
#include <QCursor>
|
#include <QCursor>
|
||||||
#include <QPoint>
|
#include <QPoint>
|
||||||
#include <QMouseEvent>
|
#include <QMouseEvent>
|
||||||
#include <QPixmap>
|
#include <QPixmap>
|
||||||
#include <QHeaderView>
|
#include <QHeaderView>
|
||||||
|
#include <QTextCodec>
|
||||||
|
#include <QTextEdit>
|
||||||
|
#include <QTextCursor>
|
||||||
|
#include <QTextList>
|
||||||
|
|
||||||
|
|
||||||
/** Constructor */
|
/** Constructor */
|
||||||
|
@ -55,6 +60,16 @@ ChanMsgDialog::ChanMsgDialog(bool msg, QWidget *parent, Qt::WFlags flags)
|
||||||
// connect up the buttons.
|
// connect up the buttons.
|
||||||
connect( ui.actionSend, SIGNAL( triggered (bool)), this, SLOT( sendMessage( ) ) );
|
connect( ui.actionSend, SIGNAL( triggered (bool)), this, SLOT( sendMessage( ) ) );
|
||||||
//connect( ui.actionReply, SIGNAL( triggered (bool)), this, SLOT( replyMessage( ) ) );
|
//connect( ui.actionReply, SIGNAL( triggered (bool)), this, SLOT( replyMessage( ) ) );
|
||||||
|
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.actionContactsView, SIGNAL(triggered()), this, SLOT(toggleContacts()));
|
||||||
|
|
||||||
|
connect(ui.msgText, SIGNAL(currentCharFormatChanged(const QTextCharFormat &)),
|
||||||
|
this, SLOT(currentCharFormatChanged(const QTextCharFormat &)));
|
||||||
|
connect(ui.msgText, SIGNAL(cursorPositionChanged()),
|
||||||
|
this, SLOT(cursorPositionChanged()));
|
||||||
|
|
||||||
/* if Msg */
|
/* if Msg */
|
||||||
if (mIsMsg)
|
if (mIsMsg)
|
||||||
|
@ -77,6 +92,59 @@ ChanMsgDialog::ChanMsgDialog(bool msg, QWidget *parent, Qt::WFlags flags)
|
||||||
|
|
||||||
/* to hide the header */
|
/* to hide the header */
|
||||||
//ui.msgSendList->header()->hide();
|
//ui.msgSendList->header()->hide();
|
||||||
|
|
||||||
|
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/textitalic.png")));
|
||||||
|
ui.italicbtn->setIcon(QIcon(QString(":/images/textedit/textunder.png")));
|
||||||
|
ui.textalignmentbtn->setIcon(QIcon(QString(":/images/textedit/textcenter.png")));
|
||||||
|
ui.actionContactsView->setIcon(QIcon(":/images/contacts24.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);
|
||||||
|
|
||||||
/* Hide platform specific features */
|
/* Hide platform specific features */
|
||||||
#ifdef Q_WS_WIN
|
#ifdef Q_WS_WIN
|
||||||
|
@ -375,7 +443,8 @@ void ChanMsgDialog::sendMessage()
|
||||||
MessageInfo mi;
|
MessageInfo mi;
|
||||||
|
|
||||||
mi.title = ui.titleEdit->text().toStdWString();
|
mi.title = ui.titleEdit->text().toStdWString();
|
||||||
mi.msg = ui.msgText->toPlainText().toStdWString();
|
mi.msg = ui.msgText->toHtml().toStdWString();
|
||||||
|
|
||||||
|
|
||||||
rsiface->lockData(); /* Lock Interface */
|
rsiface->lockData(); /* Lock Interface */
|
||||||
|
|
||||||
|
@ -479,3 +548,171 @@ void ChanMsgDialog::toggleRecommendItem( QTreeWidgetItem *item, int col )
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ChanMsgDialog::textBold()
|
||||||
|
{
|
||||||
|
QTextCharFormat fmt;
|
||||||
|
fmt.setFontWeight(ui.boldbtn->isChecked() ? QFont::Bold : QFont::Normal);
|
||||||
|
mergeFormatOnWordOrSelection(fmt);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ChanMsgDialog::textUnderline()
|
||||||
|
{
|
||||||
|
QTextCharFormat fmt;
|
||||||
|
fmt.setFontUnderline(ui.underlinebtn->isChecked());
|
||||||
|
mergeFormatOnWordOrSelection(fmt);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ChanMsgDialog::textItalic()
|
||||||
|
{
|
||||||
|
QTextCharFormat fmt;
|
||||||
|
fmt.setFontItalic(ui.italicbtn->isChecked());
|
||||||
|
mergeFormatOnWordOrSelection(fmt);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ChanMsgDialog::textFamily(const QString &f)
|
||||||
|
{
|
||||||
|
QTextCharFormat fmt;
|
||||||
|
fmt.setFontFamily(f);
|
||||||
|
mergeFormatOnWordOrSelection(fmt);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ChanMsgDialog::textSize(const QString &p)
|
||||||
|
{
|
||||||
|
QTextCharFormat fmt;
|
||||||
|
fmt.setFontPointSize(p.toFloat());
|
||||||
|
mergeFormatOnWordOrSelection(fmt);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ChanMsgDialog::textStyle(int styleIndex)
|
||||||
|
{
|
||||||
|
QTextCursor cursor = ui.msgText->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 ChanMsgDialog::textColor()
|
||||||
|
{
|
||||||
|
QColor col = QColorDialog::getColor(ui.msgText->textColor(), this);
|
||||||
|
if (!col.isValid())
|
||||||
|
return;
|
||||||
|
QTextCharFormat fmt;
|
||||||
|
fmt.setForeground(col);
|
||||||
|
mergeFormatOnWordOrSelection(fmt);
|
||||||
|
colorChanged(col);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ChanMsgDialog::textAlign(QAction *a)
|
||||||
|
{
|
||||||
|
if (a == actionAlignLeft)
|
||||||
|
ui.msgText->setAlignment(Qt::AlignLeft);
|
||||||
|
else if (a == actionAlignCenter)
|
||||||
|
ui.msgText->setAlignment(Qt::AlignHCenter);
|
||||||
|
else if (a == actionAlignRight)
|
||||||
|
ui.msgText->setAlignment(Qt::AlignRight);
|
||||||
|
else if (a == actionAlignJustify)
|
||||||
|
ui.msgText->setAlignment(Qt::AlignJustify);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ChanMsgDialog::currentCharFormatChanged(const QTextCharFormat &format)
|
||||||
|
{
|
||||||
|
fontChanged(format.font());
|
||||||
|
colorChanged(format.foreground().color());
|
||||||
|
}
|
||||||
|
|
||||||
|
void ChanMsgDialog::cursorPositionChanged()
|
||||||
|
{
|
||||||
|
alignmentChanged(ui.msgText->alignment());
|
||||||
|
}
|
||||||
|
|
||||||
|
void ChanMsgDialog::mergeFormatOnWordOrSelection(const QTextCharFormat &format)
|
||||||
|
{
|
||||||
|
QTextCursor cursor = ui.msgText->textCursor();
|
||||||
|
if (!cursor.hasSelection())
|
||||||
|
cursor.select(QTextCursor::WordUnderCursor);
|
||||||
|
cursor.mergeCharFormat(format);
|
||||||
|
ui.msgText->mergeCurrentCharFormat(format);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ChanMsgDialog::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 ChanMsgDialog::colorChanged(const QColor &c)
|
||||||
|
{
|
||||||
|
QPixmap pix(16, 16);
|
||||||
|
pix.fill(c);
|
||||||
|
ui.colorbtn->setIcon(pix);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ChanMsgDialog::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 ChanMsgDialog::toggleContacts()
|
||||||
|
{
|
||||||
|
ui.contactsdockWidget->setVisible(!ui.contactsdockWidget->isVisible());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,10 +24,18 @@
|
||||||
#define _CHAN_MSG_DIALOG_H
|
#define _CHAN_MSG_DIALOG_H
|
||||||
|
|
||||||
#include <QMainWindow>
|
#include <QMainWindow>
|
||||||
|
#include <QMap>
|
||||||
|
#include <QPointer>
|
||||||
#include <config/rsharesettings.h>
|
#include <config/rsharesettings.h>
|
||||||
|
|
||||||
|
|
||||||
#include "ui_ChanMsgDialog.h"
|
#include "ui_ChanMsgDialog.h"
|
||||||
|
|
||||||
|
class QAction;
|
||||||
|
class QComboBox;
|
||||||
|
class QFontComboBox;
|
||||||
|
class QTextEdit;
|
||||||
|
class QTextCharFormat;
|
||||||
|
|
||||||
class ChanMsgDialog : public QMainWindow
|
class ChanMsgDialog : public QMainWindow
|
||||||
{
|
{
|
||||||
|
@ -65,15 +73,34 @@ private slots:
|
||||||
/** Defines the context menu functions*/
|
/** Defines the context menu functions*/
|
||||||
void deletechannel();
|
void deletechannel();
|
||||||
void createchannelmsg();
|
void createchannelmsg();
|
||||||
|
|
||||||
|
/* toggle Contacts DockWidget */
|
||||||
|
void toggleContacts();
|
||||||
|
|
||||||
/* for toggling flags */
|
/* for toggling flags */
|
||||||
void togglePersonItem( QTreeWidgetItem *item, int col );
|
void togglePersonItem( QTreeWidgetItem *item, int col );
|
||||||
void toggleChannelItem( QTreeWidgetItem *item, int col );
|
void toggleChannelItem( QTreeWidgetItem *item, int col );
|
||||||
void toggleRecommendItem( QTreeWidgetItem *item, int col );
|
void toggleRecommendItem( QTreeWidgetItem *item, int col );
|
||||||
|
|
||||||
|
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();
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
void mergeFormatOnWordOrSelection(const QTextCharFormat &format);
|
||||||
|
void fontChanged(const QFont &f);
|
||||||
|
void colorChanged(const QColor &c);
|
||||||
|
void alignmentChanged(Qt::Alignment a);
|
||||||
|
|
||||||
/** Define the popup menus for the Context menu */
|
/** Define the popup menus for the Context menu */
|
||||||
QMenu* contextMnu;
|
QMenu* contextMnu;
|
||||||
|
@ -81,6 +108,11 @@ private:
|
||||||
/** Defines the actions for the context menu */
|
/** Defines the actions for the context menu */
|
||||||
QAction* deletechannelAct;
|
QAction* deletechannelAct;
|
||||||
QAction* createchannelmsgAct;
|
QAction* createchannelmsgAct;
|
||||||
|
|
||||||
|
QAction *actionAlignLeft,
|
||||||
|
*actionAlignCenter,
|
||||||
|
*actionAlignRight,
|
||||||
|
*actionAlignJustify;
|
||||||
|
|
||||||
QTreeView *channelstreeView;
|
QTreeView *channelstreeView;
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>580</width>
|
<width>770</width>
|
||||||
<height>430</height>
|
<height>528</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="contextMenuPolicy" >
|
<property name="contextMenuPolicy" >
|
||||||
|
@ -20,173 +20,355 @@
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="centralwidget" >
|
<widget class="QWidget" name="centralwidget" >
|
||||||
<layout class="QGridLayout" >
|
<layout class="QGridLayout" >
|
||||||
<property name="margin" >
|
|
||||||
<number>9</number>
|
|
||||||
</property>
|
|
||||||
<property name="spacing" >
|
|
||||||
<number>6</number>
|
|
||||||
</property>
|
|
||||||
<item row="0" column="0" >
|
<item row="0" column="0" >
|
||||||
<widget class="QSplitter" name="splitter_2" >
|
<widget class="QDockWidget" name="contactsdockWidget" >
|
||||||
<property name="orientation" >
|
<property name="sizePolicy" >
|
||||||
<enum>Qt::Horizontal</enum>
|
<sizepolicy vsizetype="Preferred" hsizetype="Fixed" >
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QTreeWidget" name="msgSendList" >
|
<property name="maximumSize" >
|
||||||
<property name="sizePolicy" >
|
<size>
|
||||||
<sizepolicy>
|
<width>16777215</width>
|
||||||
<hsizetype>5</hsizetype>
|
<height>16777215</height>
|
||||||
<vsizetype>7</vsizetype>
|
</size>
|
||||||
<horstretch>0</horstretch>
|
</property>
|
||||||
<verstretch>4</verstretch>
|
<property name="windowTitle" >
|
||||||
</sizepolicy>
|
<string>Contacts</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="minimumSize" >
|
<widget class="QWidget" name="dockWidgetContents" >
|
||||||
<size>
|
<layout class="QGridLayout" >
|
||||||
<width>20</width>
|
<property name="leftMargin" >
|
||||||
<height>0</height>
|
<number>0</number>
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize" >
|
|
||||||
<size>
|
|
||||||
<width>160</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="sortingEnabled" >
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<column>
|
|
||||||
<property name="text" >
|
|
||||||
<string>Send To:</string>
|
|
||||||
</property>
|
</property>
|
||||||
</column>
|
<property name="topMargin" >
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin" >
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin" >
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="horizontalSpacing" >
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="verticalSpacing" >
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item row="0" column="0" >
|
||||||
|
<widget class="QTreeWidget" name="msgSendList" >
|
||||||
|
<property name="sizePolicy" >
|
||||||
|
<sizepolicy vsizetype="Expanding" hsizetype="Preferred" >
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>4</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize" >
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize" >
|
||||||
|
<size>
|
||||||
|
<width>160</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="sortingEnabled" >
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<column>
|
||||||
|
<property name="text" >
|
||||||
|
<string>Send To:</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QSplitter" name="splitter" >
|
</widget>
|
||||||
<property name="orientation" >
|
</item>
|
||||||
<enum>Qt::Vertical</enum>
|
<item row="0" column="1" >
|
||||||
</property>
|
<widget class="QSplitter" name="splitter" >
|
||||||
<widget class="QWidget" name="layoutWidget" >
|
<property name="orientation" >
|
||||||
<layout class="QGridLayout" >
|
<enum>Qt::Vertical</enum>
|
||||||
<property name="margin" >
|
</property>
|
||||||
<number>0</number>
|
<widget class="QWidget" name="layoutWidget" >
|
||||||
</property>
|
<layout class="QGridLayout" >
|
||||||
<property name="spacing" >
|
<item row="0" column="0" >
|
||||||
<number>6</number>
|
<layout class="QHBoxLayout" >
|
||||||
</property>
|
<property name="spacing" >
|
||||||
<item row="0" column="0" >
|
<number>6</number>
|
||||||
<layout class="QHBoxLayout" >
|
</property>
|
||||||
<property name="margin" >
|
<property name="leftMargin" >
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="spacing" >
|
<property name="topMargin" >
|
||||||
<number>6</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<property name="rightMargin" >
|
||||||
<widget class="QLabel" name="label" >
|
<number>0</number>
|
||||||
<property name="font" >
|
</property>
|
||||||
<font>
|
<property name="bottomMargin" >
|
||||||
<pointsize>10</pointsize>
|
<number>0</number>
|
||||||
<weight>75</weight>
|
</property>
|
||||||
<bold>true</bold>
|
<item>
|
||||||
</font>
|
<widget class="QLabel" name="label" >
|
||||||
</property>
|
<property name="font" >
|
||||||
<property name="text" >
|
<font>
|
||||||
<string><html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
<pointsize>10</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text" >
|
||||||
|
<string><html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||||
p, li { white-space: pre-wrap; }
|
p, li { white-space: pre-wrap; }
|
||||||
</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600; font-style:normal; text-decoration:none;">
|
</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600; font-style:normal; text-decoration:none;">
|
||||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Arial'; font-weight:400;"><span style=" font-weight:600;">Subject:</span></p></body></html></string>
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Arial'; font-weight:400;"><span style=" font-weight:600;">Subject:</span></p></body></html></string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLineEdit" name="titleEdit" />
|
<widget class="QLineEdit" name="titleEdit" />
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0" >
|
<item row="1" column="0" >
|
||||||
<widget class="QTextEdit" name="msgText" >
|
<layout class="QGridLayout" >
|
||||||
<property name="sizePolicy" >
|
<item row="0" column="0" >
|
||||||
<sizepolicy>
|
<widget class="QComboBox" name="comboStyle" />
|
||||||
<hsizetype>7</hsizetype>
|
</item>
|
||||||
<vsizetype>3</vsizetype>
|
<item row="0" column="1" >
|
||||||
<horstretch>4</horstretch>
|
<widget class="QFontComboBox" name="comboFont" />
|
||||||
<verstretch>4</verstretch>
|
</item>
|
||||||
</sizepolicy>
|
<item row="0" column="2" >
|
||||||
</property>
|
<widget class="QComboBox" name="comboSize" >
|
||||||
<property name="textInteractionFlags" >
|
<property name="toolTip" >
|
||||||
<enum>Qt::TextEditorInteraction</enum>
|
<string>Font size</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
<item row="0" column="3" >
|
||||||
</widget>
|
<widget class="QPushButton" name="boldbtn" >
|
||||||
<widget class="QWidget" name="layoutWidget" >
|
<property name="minimumSize" >
|
||||||
<layout class="QGridLayout" >
|
<size>
|
||||||
<property name="margin" >
|
<width>24</width>
|
||||||
<number>0</number>
|
<height>24</height>
|
||||||
</property>
|
</size>
|
||||||
<property name="spacing" >
|
</property>
|
||||||
<number>6</number>
|
<property name="maximumSize" >
|
||||||
</property>
|
<size>
|
||||||
<item row="0" column="0" >
|
<width>24</width>
|
||||||
<widget class="QLabel" name="label_13" >
|
<height>24</height>
|
||||||
<property name="sizePolicy" >
|
</size>
|
||||||
<sizepolicy>
|
</property>
|
||||||
<hsizetype>0</hsizetype>
|
<property name="toolTip" >
|
||||||
<vsizetype>0</vsizetype>
|
<string>Bold</string>
|
||||||
<horstretch>0</horstretch>
|
</property>
|
||||||
<verstretch>0</verstretch>
|
<property name="text" >
|
||||||
</sizepolicy>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="font" >
|
<property name="checkable" >
|
||||||
<font>
|
<bool>true</bool>
|
||||||
<pointsize>10</pointsize>
|
</property>
|
||||||
<weight>75</weight>
|
</widget>
|
||||||
<bold>true</bold>
|
</item>
|
||||||
</font>
|
<item row="0" column="4" >
|
||||||
</property>
|
<widget class="QPushButton" name="underlinebtn" >
|
||||||
|
<property name="minimumSize" >
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize" >
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip" >
|
||||||
|
<string>Underline</string>
|
||||||
|
</property>
|
||||||
|
<property name="text" >
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="5" >
|
||||||
|
<widget class="QPushButton" name="italicbtn" >
|
||||||
|
<property name="minimumSize" >
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize" >
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip" >
|
||||||
|
<string>Italic</string>
|
||||||
|
</property>
|
||||||
|
<property name="text" >
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="6" >
|
||||||
|
<widget class="QPushButton" name="colorbtn" >
|
||||||
|
<property name="minimumSize" >
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize" >
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip" >
|
||||||
|
<string>Color</string>
|
||||||
|
</property>
|
||||||
|
<property name="text" >
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="7" >
|
||||||
|
<widget class="QPushButton" name="textalignmentbtn" >
|
||||||
|
<property name="minimumSize" >
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize" >
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip" >
|
||||||
|
<string>Alignment</string>
|
||||||
|
</property>
|
||||||
|
<property name="text" >
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="11" >
|
||||||
|
<spacer>
|
||||||
|
<property name="orientation" >
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" >
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0" >
|
||||||
|
<widget class="QTextEdit" name="msgText" >
|
||||||
|
<property name="sizePolicy" >
|
||||||
|
<sizepolicy vsizetype="MinimumExpanding" hsizetype="Expanding" >
|
||||||
|
<horstretch>4</horstretch>
|
||||||
|
<verstretch>4</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="textInteractionFlags" >
|
||||||
|
<set>Qt::TextEditorInteraction</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<widget class="QWidget" name="layoutWidget" >
|
||||||
|
<layout class="QGridLayout" >
|
||||||
|
<property name="leftMargin" >
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin" >
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin" >
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin" >
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="horizontalSpacing" >
|
||||||
|
<number>6</number>
|
||||||
|
</property>
|
||||||
|
<property name="verticalSpacing" >
|
||||||
|
<number>6</number>
|
||||||
|
</property>
|
||||||
|
<item row="0" column="0" >
|
||||||
|
<widget class="QLabel" name="label_13" >
|
||||||
|
<property name="sizePolicy" >
|
||||||
|
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="font" >
|
||||||
|
<font>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text" >
|
||||||
|
<string>Recommended Files</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0" >
|
||||||
|
<widget class="QTreeWidget" name="msgFileList" >
|
||||||
|
<property name="sizePolicy" >
|
||||||
|
<sizepolicy vsizetype="Expanding" hsizetype="Expanding" >
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="sortingEnabled" >
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<column>
|
||||||
<property name="text" >
|
<property name="text" >
|
||||||
<string>Recommended Files</string>
|
<string>File Name</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</column>
|
||||||
</item>
|
<column>
|
||||||
<item row="1" column="0" >
|
<property name="text" >
|
||||||
<widget class="QTreeWidget" name="msgFileList" >
|
<string>Size</string>
|
||||||
<property name="sizePolicy" >
|
|
||||||
<sizepolicy>
|
|
||||||
<hsizetype>7</hsizetype>
|
|
||||||
<vsizetype>7</vsizetype>
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
</property>
|
||||||
<property name="sortingEnabled" >
|
</column>
|
||||||
<bool>true</bool>
|
<column>
|
||||||
|
<property name="text" >
|
||||||
|
<string>Sources</string>
|
||||||
</property>
|
</property>
|
||||||
<column>
|
</column>
|
||||||
<property name="text" >
|
<column>
|
||||||
<string>File Name</string>
|
<property name="text" >
|
||||||
</property>
|
<string>Hash</string>
|
||||||
</column>
|
</property>
|
||||||
<column>
|
</column>
|
||||||
<property name="text" >
|
</widget>
|
||||||
<string>Size</string>
|
</item>
|
||||||
</property>
|
</layout>
|
||||||
</column>
|
|
||||||
<column>
|
|
||||||
<property name="text" >
|
|
||||||
<string>Sources</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
<column>
|
|
||||||
<property name="text" >
|
|
||||||
<string>Hash</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -197,7 +379,7 @@ p, li { white-space: pre-wrap; }
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>580</width>
|
<width>770</width>
|
||||||
<height>24</height>
|
<height>24</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
|
@ -217,9 +399,13 @@ p, li { white-space: pre-wrap; }
|
||||||
<enum>Qt::ToolButtonTextUnderIcon</enum>
|
<enum>Qt::ToolButtonTextUnderIcon</enum>
|
||||||
</property>
|
</property>
|
||||||
<attribute name="toolBarArea" >
|
<attribute name="toolBarArea" >
|
||||||
<number>4</number>
|
<enum>TopToolBarArea</enum>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="toolBarBreak" >
|
||||||
|
<bool>false</bool>
|
||||||
</attribute>
|
</attribute>
|
||||||
<addaction name="actionSend" />
|
<addaction name="actionSend" />
|
||||||
|
<addaction name="actionContactsView" />
|
||||||
</widget>
|
</widget>
|
||||||
<action name="actionSend" >
|
<action name="actionSend" >
|
||||||
<property name="icon" >
|
<property name="icon" >
|
||||||
|
@ -237,6 +423,11 @@ p, li { white-space: pre-wrap; }
|
||||||
<string>Reply</string>
|
<string>Reply</string>
|
||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
|
<action name="actionContactsView" >
|
||||||
|
<property name="text" >
|
||||||
|
<string>Contacts</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
</widget>
|
</widget>
|
||||||
<tabstops>
|
<tabstops>
|
||||||
<tabstop>msgSendList</tabstop>
|
<tabstop>msgSendList</tabstop>
|
||||||
|
|