diff --git a/widget/form/chatform.cpp b/widget/form/chatform.cpp index 318ae7919..6f4207a30 100644 --- a/widget/form/chatform.cpp +++ b/widget/form/chatform.cpp @@ -14,10 +14,10 @@ ChatForm::ChatForm(Friend* chatFriend) main = new QWidget(), head = new QWidget(), chatAreaWidget = new QWidget(); name = new QLabel(), avatar = new QLabel(), statusMessage = new QLabel(); headLayout = new QHBoxLayout(), mainFootLayout = new QHBoxLayout(); - headTextLayout = new QVBoxLayout(), mainLayout = new QVBoxLayout(); + headTextLayout = new QVBoxLayout(), mainLayout = new QVBoxLayout(), footButtonsSmall = new QVBoxLayout(); mainChatLayout = new QGridLayout(); msgEdit = new ChatTextEdit(); - sendButton = new QPushButton(), fileButton = new QPushButton(), callButton = new QPushButton(); + sendButton = new QPushButton(), fileButton = new QPushButton(), emoteButton = new QPushButton(), callButton = new QPushButton(); chatArea = new QScrollArea(); QFont bold; @@ -33,34 +33,46 @@ ChatForm::ChatForm(Friend* chatFriend) mainChatLayout->setColumnStretch(1,1); mainChatLayout->setSpacing(10); + footButtonsSmall->setSpacing(2); + msgEdit->setFixedHeight(50); QPalette toxgreen; toxgreen.setColor(QPalette::Button, QColor(107,194,96)); // Tox Green - sendButton->setIcon(QIcon("img/button icons/sendmessage_2x.png")); + sendButton->setIcon(QIcon("img/button icons/sendmessage.svg")); sendButton->setFlat(true); sendButton->setPalette(toxgreen); sendButton->setAutoFillBackground(true); sendButton->setFixedSize(50, 50); - sendButton->setIconSize(QSize(25,25)); - fileButton->setIcon(QIcon("img/button icons/attach_2x.png")); + sendButton->setIconSize(QSize(32,32)); + fileButton->setIcon(QIcon("img/button icons/attach.svg")); fileButton->setFlat(true); fileButton->setPalette(toxgreen); fileButton->setAutoFillBackground(true); - fileButton->setIconSize(QSize(20,20)); - fileButton->setFixedSize(50,40); - callButton->setIcon(QIcon("img/button icons/call_2x.png")); + fileButton->setIconSize(QSize(16,16)); + fileButton->setFixedSize(24,24); + emoteButton->setIcon(QIcon("img/button icons/emoticon.svg")); + emoteButton->setFlat(true); + emoteButton->setPalette(toxgreen); + emoteButton->setAutoFillBackground(true); + emoteButton->setIconSize(QSize(16,16)); + emoteButton->setFixedSize(24,24); + callButton->setIcon(QIcon("img/button icons/call.svg")); callButton->setFlat(true); callButton->setPalette(toxgreen); callButton->setAutoFillBackground(true); - callButton->setIconSize(QSize(20,20)); - callButton->setFixedSize(50,40); + callButton->setIconSize(QSize(32,32)); + callButton->setFixedSize(50,50); main->setLayout(mainLayout); mainLayout->addWidget(chatArea); mainLayout->addLayout(mainFootLayout); mainLayout->setMargin(0); + footButtonsSmall->addWidget(emoteButton); + footButtonsSmall->addWidget(fileButton); + mainFootLayout->addWidget(msgEdit); + mainFootLayout->addLayout(footButtonsSmall); mainFootLayout->addWidget(sendButton); head->setLayout(headLayout); @@ -68,7 +80,6 @@ ChatForm::ChatForm(Friend* chatFriend) headLayout->addLayout(headTextLayout); headLayout->addStretch(); headLayout->addWidget(callButton); - headLayout->addWidget(fileButton); headTextLayout->addStretch(); headTextLayout->addWidget(name); diff --git a/widget/form/chatform.h b/widget/form/chatform.h index e16d3eeab..bb50a705d 100644 --- a/widget/form/chatform.h +++ b/widget/form/chatform.h @@ -59,11 +59,11 @@ private slots: private: Friend* f; QHBoxLayout *headLayout, *mainFootLayout; - QVBoxLayout *headTextLayout, *mainLayout; + QVBoxLayout *headTextLayout, *mainLayout, *footButtonsSmall; QGridLayout *mainChatLayout; QLabel *avatar, *name, *statusMessage; ChatTextEdit *msgEdit; - QPushButton *sendButton, *fileButton, *callButton; + QPushButton *sendButton, *fileButton, *emoteButton, *callButton; QScrollArea *chatArea; QWidget *main, *head, *chatAreaWidget; QString previousName; diff --git a/widget/friendwidget.cpp b/widget/friendwidget.cpp index 36113677b..265cde30c 100644 --- a/widget/friendwidget.cpp +++ b/widget/friendwidget.cpp @@ -5,6 +5,7 @@ FriendWidget::FriendWidget(int FriendId, QString id) : friendId(FriendId) { + this->setAutoFillBackground(true); this->setLayout(&layout); this->setFixedWidth(225); this->setFixedHeight(55); @@ -60,3 +61,35 @@ void FriendWidget::contextMenuEvent(QContextMenuEvent * event) } } } + +void FriendWidget::setAsActiveFriend() +{ + QFont small; + small.setPixelSize(10); + statusMessage.setFont(small); + QPalette pal; + pal.setColor(QPalette::WindowText,Qt::darkGray); + statusMessage.setPalette(pal); + QPalette pal2; + pal2.setColor(QPalette::WindowText,Qt::black); + name.setPalette(pal2); + QPalette pal3; + pal3.setColor(QPalette::Background, Qt::white); + this->setPalette(pal3); +} + +void FriendWidget::setAsInactiveFriend() +{ + QFont small; + small.setPixelSize(10); + statusMessage.setFont(small); + QPalette pal; + pal.setColor(QPalette::WindowText,Qt::gray); + statusMessage.setPalette(pal); + QPalette pal2; + pal2.setColor(QPalette::WindowText,Qt::white); + name.setPalette(pal2); + QPalette pal3; + pal3.setColor(QPalette::Background, QColor(63,63,63,255)); + this->setPalette(pal3); +} diff --git a/widget/friendwidget.h b/widget/friendwidget.h index a37a8987d..f5d0f4f6a 100644 --- a/widget/friendwidget.h +++ b/widget/friendwidget.h @@ -13,6 +13,8 @@ public: FriendWidget(int FriendId, QString id); void mouseReleaseEvent (QMouseEvent* event); void contextMenuEvent(QContextMenuEvent * event); + void setAsActiveFriend(); + void setAsInactiveFriend(); signals: void friendWidgetClicked(FriendWidget* widget); diff --git a/widget/widget.cpp b/widget/widget.cpp index eea6608f6..08e3d166f 100644 --- a/widget/widget.cpp +++ b/widget/widget.cpp @@ -296,6 +296,12 @@ void Widget::onFriendUsernameLoaded(int friendId, const QString& username) void Widget::onFriendWidgetClicked(FriendWidget *widget) { + if (activeFriendWidget != 0) + { + activeFriendWidget->setAsInactiveFriend(); + } + activeFriendWidget = widget; + widget->setAsActiveFriend(); Friend* f = FriendList::findFriend(widget->friendId); if (!f) return; diff --git a/widget/widget.h b/widget/widget.h index 18e66b228..b12657fab 100644 --- a/widget/widget.h +++ b/widget/widget.h @@ -80,6 +80,7 @@ private: AddFriendForm friendForm; SettingsForm settingsForm; static Widget* instance; + FriendWidget* activeFriendWidget; }; #endif // WIDGET_H