From c5873f32166e9bf193c1eb8dd7c2e5c977f11aaa Mon Sep 17 00:00:00 2001 From: Phenom Date: Sun, 10 Apr 2016 16:42:15 +0200 Subject: [PATCH 1/4] Move Chat notify button from search bar to tool bar. As search bar is hidden by default. --- retroshare-gui/src/gui/chat/ChatWidget.cpp | 28 +++--- retroshare-gui/src/gui/chat/ChatWidget.ui | 108 ++++++++++----------- 2 files changed, 68 insertions(+), 68 deletions(-) diff --git a/retroshare-gui/src/gui/chat/ChatWidget.cpp b/retroshare-gui/src/gui/chat/ChatWidget.cpp index 5874e8243..ea6469052 100644 --- a/retroshare-gui/src/gui/chat/ChatWidget.cpp +++ b/retroshare-gui/src/gui/chat/ChatWidget.cpp @@ -218,7 +218,7 @@ void ChatWidget::setDefaultExtraFileFlags(TransferRequestFlags fl) void ChatWidget::addChatHorizontalWidget(QWidget *w) { - ui->vl_Plugins->addWidget(w) ; + ui->pluginsVLayout->addWidget(w) ; update() ; } @@ -234,8 +234,8 @@ void ChatWidget::addTitleBarWidget(QWidget *w) void ChatWidget::hideChatText(bool hidden) { - ui->frame_ChatText->setHidden(hidden); ; - ui->searchframe->setVisible(ui->actionSearch_History->isChecked() && !hidden); ; + ui->chatTextFrame->setHidden(hidden); ; + ui->searchFrame->setVisible(ui->actionSearch_History->isChecked() && !hidden); ; } RSButtonOnText* ChatWidget::getNewButtonOnTextBrowser() @@ -400,12 +400,12 @@ void ChatWidget::processSettings(bool load) // load settings // state of splitter - ui->chatsplitter->restoreState(Settings->value("ChatSplitter").toByteArray()); + ui->chatVSplitter->restoreState(Settings->value("ChatSplitter").toByteArray()); } else { // save settings // state of splitter - Settings->setValue("ChatSplitter", ui->chatsplitter->saveState()); + Settings->setValue("ChatSplitter", ui->chatVSplitter->saveState()); } Settings->endGroup(); @@ -835,7 +835,7 @@ void ChatWidget::on_notifyButton_clicked() QIcon icoLobby=(ui->notifyButton->icon()); notify->makeSubMenu(menu, icoLobby, title, chatId.toLobbyId()); - menu->exec(ui->notifyButton->mapToGlobal(ui->notifyButton->geometry().bottomLeft())); + menu->exec(ui->notifyButton->mapToGlobal(QPoint(0,ui->notifyButton->geometry().height()))); } @@ -1031,7 +1031,7 @@ void ChatWidget::chatCharFormatChanged() void ChatWidget::resetStatusBar() { ui->typingLabel->clear(); - ui->typingpixmapLabel->clear(); + ui->typingPixmapLabel->clear(); typing = false; @@ -1430,11 +1430,11 @@ void ChatWidget::messageHistory() void ChatWidget::searchHistory() { if(ui->actionSearch_History->isChecked()){ - ui->searchframe->show(); - }else { - ui->searchframe->hide(); - } - + ui->searchFrame->show(); + }else { + ui->searchFrame->hide(); + } + } void ChatWidget::addExtraFile() @@ -1660,8 +1660,8 @@ void ChatWidget::updatePeersCustomStateString(const QString& /*peer_id*/, const void ChatWidget::updateStatusString(const QString &statusMask, const QString &statusString, bool permanent) { - ui->typingLabel->setText(QString(statusMask).arg(tr(statusString.toUtf8()))); // displays info for 5 secs. - ui->typingpixmapLabel->setPixmap(QPixmap(":images/typing.png") ); + ui->typingLabel->setText(QString(statusMask).arg(tr(statusString.toUtf8()))); // displays info for 5 secs. + ui->typingPixmapLabel->setPixmap(QPixmap(":images/typing.png") ); if (statusString == "is typing...") { typing = true; diff --git a/retroshare-gui/src/gui/chat/ChatWidget.ui b/retroshare-gui/src/gui/chat/ChatWidget.ui index c2f4e2504..5ccfacae3 100644 --- a/retroshare-gui/src/gui/chat/ChatWidget.ui +++ b/retroshare-gui/src/gui/chat/ChatWidget.ui @@ -10,7 +10,7 @@ 323 - + 0 @@ -27,12 +27,12 @@ 2 - + 2 - + 20 @@ -45,7 +45,7 @@ QFrame::Raised - + 0 @@ -130,7 +130,7 @@ QFrame::Box - + 6 @@ -207,7 +207,7 @@ border-image: url(:/images/closepressed.png) - + Qt::Vertical @@ -235,14 +235,14 @@ border-image: url(:/images/closepressed.png) - + 0 - + - + 18 @@ -280,7 +280,7 @@ border-image: url(:/images/closepressed.png) - + Qt::Horizontal @@ -308,7 +308,7 @@ border-image: url(:/images/closepressed.png) 30 - + Type a message here @@ -325,7 +325,7 @@ border-image: url(:/images/closepressed.png) QFrame::Sunken - + 2 @@ -521,7 +521,7 @@ border-image: url(:/images/closepressed.png) QFrame::Plain - + 2 @@ -538,7 +538,39 @@ border-image: url(:/images/closepressed.png) - + + + + 28 + 28 + + + + + 28 + 28 + + + + Qt::NoFocus + + + + :/images/chat_red24.png:/images/chat_red24.png + + + + 24 + 24 + + + + true + + + + + Qt::Horizontal @@ -571,12 +603,12 @@ border-image: url(:/images/closepressed.png) - + - + QLayout::SetMaximumSize @@ -600,7 +632,7 @@ border-image: url(:/images/closepressed.png) QFrame::Sunken - + 2 @@ -670,7 +702,7 @@ border-image: url(:/images/closepressed.png) - + Qt::Horizontal @@ -690,7 +722,7 @@ border-image: url(:/images/closepressed.png) QFrame::Plain - + 2 @@ -707,14 +739,14 @@ border-image: url(:/images/closepressed.png) - + QFrame::StyledPanel QFrame::Raised - + 0 @@ -771,38 +803,6 @@ border-image: url(:/images/closepressed.png) - - - - - 28 - 28 - - - - - 28 - 28 - - - - Qt::NoFocus - - - - :/images/chat_red24.png:/images/chat_red24.png - - - - 24 - 24 - - - - true - - - @@ -1099,8 +1099,8 @@ border-image: url(:/images/closepressed.png) - + From 42a2b37abb3063f80a3fad8f61bbf038652c78be Mon Sep 17 00:00:00 2001 From: Phenom Date: Wed, 13 Apr 2016 19:21:18 +0200 Subject: [PATCH 2/4] Move SearchBar to Tool Bar and remove Show/Hide action. As asked by Cyril in PR#346 --- retroshare-gui/src/gui/chat/ChatWidget.cpp | 17 - retroshare-gui/src/gui/chat/ChatWidget.h | 2 - retroshare-gui/src/gui/chat/ChatWidget.ui | 315 ++++++++---------- retroshare-gui/src/gui/settings/ChatPage.cpp | 2 - .../src/gui/settings/rsharesettings.cpp | 10 - .../src/gui/settings/rsharesettings.h | 3 - 6 files changed, 140 insertions(+), 209 deletions(-) diff --git a/retroshare-gui/src/gui/chat/ChatWidget.cpp b/retroshare-gui/src/gui/chat/ChatWidget.cpp index ea6469052..2bc545362 100644 --- a/retroshare-gui/src/gui/chat/ChatWidget.cpp +++ b/retroshare-gui/src/gui/chat/ChatWidget.cpp @@ -107,7 +107,6 @@ ChatWidget::ChatWidget(QWidget *parent) : connect(ui->actionMoveToCursor, SIGNAL(triggered()), this, SLOT(toogle_MoveToCursor())); connect(ui->actionSearchWithoutLimit, SIGNAL(triggered()), this, SLOT(toogle_SeachWithoutLimit())); connect(ui->searchButton, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(contextMenuSearchButton(QPoint))); - connect(ui->actionSearch_History, SIGNAL(triggered()), this, SLOT(searchHistory())); notify=NULL; ui->notifyButton->setVisible(false); @@ -146,9 +145,6 @@ ChatWidget::ChatWidget(QWidget *parent) : ui->infoFrame->setVisible(false); ui->statusMessageLabel->hide(); - ui->actionSearch_History->setChecked(Settings->getChatSearchShowBarByDefault()); - searchHistory(); - setAcceptDrops(true); ui->chatTextEdit->setAcceptDrops(false); ui->hashBox->setDropWidget(this); @@ -165,7 +161,6 @@ ChatWidget::ChatWidget(QWidget *parent) : menu->addAction(ui->actionDeleteChatHistory); menu->addAction(ui->actionSaveChatHistory); menu->addAction(ui->actionMessageHistory); - menu->addAction(ui->actionSearch_History); ui->pushtoolsButton->setMenu(menu); ui->textBrowser->installEventFilter(this); @@ -235,7 +230,6 @@ void ChatWidget::addTitleBarWidget(QWidget *w) void ChatWidget::hideChatText(bool hidden) { ui->chatTextFrame->setHidden(hidden); ; - ui->searchFrame->setVisible(ui->actionSearch_History->isChecked() && !hidden); ; } RSButtonOnText* ChatWidget::getNewButtonOnTextBrowser() @@ -316,7 +310,6 @@ void ChatWidget::init(const ChatId &chat_id, const QString &title) messageCount = Settings->getPublicChatHistoryCount(); ui->titleBarFrame->setVisible(false); - ui->actionSearch_History->setVisible(false); } if (rsHistory->getEnable(hist_chat_type)) @@ -1427,16 +1420,6 @@ void ChatWidget::messageHistory() imBrowser.exec(); } -void ChatWidget::searchHistory() -{ - if(ui->actionSearch_History->isChecked()){ - ui->searchFrame->show(); - }else { - ui->searchFrame->hide(); - } - -} - void ChatWidget::addExtraFile() { QStringList files; diff --git a/retroshare-gui/src/gui/chat/ChatWidget.h b/retroshare-gui/src/gui/chat/ChatWidget.h index 1aa2d9e4a..af4dab505 100644 --- a/retroshare-gui/src/gui/chat/ChatWidget.h +++ b/retroshare-gui/src/gui/chat/ChatWidget.h @@ -132,8 +132,6 @@ private slots: void deleteChatHistory(); void messageHistory(); void resetStatusBar() ; - void searchHistory(); - signals: void infoChanged(ChatWidget*); diff --git a/retroshare-gui/src/gui/chat/ChatWidget.ui b/retroshare-gui/src/gui/chat/ChatWidget.ui index 5ccfacae3..4ac16a057 100644 --- a/retroshare-gui/src/gui/chat/ChatWidget.ui +++ b/retroshare-gui/src/gui/chat/ChatWidget.ui @@ -569,6 +569,146 @@ border-image: url(:/images/closepressed.png) + + + + + 0 + 0 + + + + + 28 + 28 + + + + + 28 + 28 + + + + Qt::NoFocus + + + + :/images/highlight.png:/images/highlight.png + + + + 24 + 24 + + + + true + + + true + + + + + + + + + + + 14 + 28 + + + + + 14 + 28 + + + + Qt::NoFocus + + + + :/images/arrow-left.png:/images/arrow-left.png + + + true + + + + + + + + 14 + 28 + + + + + 14 + 28 + + + + Qt::NoFocus + + + + :/images/arrow-right.png:/images/arrow-right.png + + + true + + + + + + + + 0 + 0 + + + + + 28 + 28 + + + + + 28 + 28 + + + + Qt::NoFocus + + + Qt::CustomContextMenu + + + + :/images/find.png:/images/find.png + + + + 24 + 24 + + + + true + + + true + + + @@ -738,170 +878,6 @@ border-image: url(:/images/closepressed.png) - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - 0 - 0 - - - - - 28 - 28 - - - - - 28 - 28 - - - - Qt::NoFocus - - - Qt::CustomContextMenu - - - - :/images/find.png:/images/find.png - - - - 24 - 24 - - - - true - - - true - - - - - - - - 14 - 28 - - - - - 14 - 28 - - - - Qt::NoFocus - - - - :/images/arrow-right.png:/images/arrow-right.png - - - true - - - - - - - - - - - 14 - 28 - - - - - 14 - 28 - - - - Qt::NoFocus - - - - :/images/arrow-left.png:/images/arrow-left.png - - - true - - - - - - - - 0 - 0 - - - - - 28 - 28 - - - - - 28 - 28 - - - - Qt::NoFocus - - - - :/images/highlight.png:/images/highlight.png - - - - 24 - 24 - - - - true - - - true - - - - - - @@ -1033,17 +1009,6 @@ border-image: url(:/images/closepressed.png) Choose color - - - true - - - Display Search Box - - - Search Box - - Quote diff --git a/retroshare-gui/src/gui/settings/ChatPage.cpp b/retroshare-gui/src/gui/settings/ChatPage.cpp index da7168f7d..3c515be49 100644 --- a/retroshare-gui/src/gui/settings/ChatPage.cpp +++ b/retroshare-gui/src/gui/settings/ChatPage.cpp @@ -130,7 +130,6 @@ ChatPage::save(QString &/*errmsg*/) Settings->setChatSendMessageWithCtrlReturn(ui.sendMessageWithCtrlReturn->isChecked()); - Settings->setChatSearchShowBarByDefault(ui.cbSearch_ShowBar->isChecked()); Settings->setChatSearchCharToStartSearch(ui.sbSearch_CharToStart->value()); Settings->setChatSearchCaseSensitively(ui.cbSearch_CaseSensitively->isChecked()); Settings->setChatSearchWholeWords(ui.cbSearch_WholeWords->isChecked()); @@ -238,7 +237,6 @@ ChatPage::load() ui.sendMessageWithCtrlReturn->setChecked(Settings->getChatSendMessageWithCtrlReturn()); - ui.cbSearch_ShowBar->setChecked(Settings->getChatSearchShowBarByDefault()); ui.sbSearch_CharToStart->setValue(Settings->getChatSearchCharToStartSearch()); ui.cbSearch_CaseSensitively->setChecked(Settings->getChatSearchCaseSensitively()); ui.cbSearch_WholeWords->setChecked(Settings->getChatSearchWholeWords()); diff --git a/retroshare-gui/src/gui/settings/rsharesettings.cpp b/retroshare-gui/src/gui/settings/rsharesettings.cpp index 0dfc713f9..8c7220186 100644 --- a/retroshare-gui/src/gui/settings/rsharesettings.cpp +++ b/retroshare-gui/src/gui/settings/rsharesettings.cpp @@ -512,16 +512,6 @@ void RshareSettings::setChatSendMessageWithCtrlReturn(bool bValue) setValueToGroup("Chat", "SendMessageWithCtrlReturn", bValue); } -bool RshareSettings::getChatSearchShowBarByDefault() -{ - return valueFromGroup("Chat", "SearchShowBarByDefault", false).toBool(); -} - -void RshareSettings::setChatSearchShowBarByDefault(bool bValue) -{ - setValueToGroup("Chat", "SearchShowBarByDefault", bValue); -} - void RshareSettings::setChatSearchCharToStartSearch(int iValue) { setValueToGroup("Chat", "SearchCharToStartSearch", iValue); diff --git a/retroshare-gui/src/gui/settings/rsharesettings.h b/retroshare-gui/src/gui/settings/rsharesettings.h index 52963ce92..2f344b3a9 100644 --- a/retroshare-gui/src/gui/settings/rsharesettings.h +++ b/retroshare-gui/src/gui/settings/rsharesettings.h @@ -209,9 +209,6 @@ public: bool getChatSendMessageWithCtrlReturn(); void setChatSendMessageWithCtrlReturn(bool bValue); - bool getChatSearchShowBarByDefault(); - void setChatSearchShowBarByDefault(bool bValue); - void setChatSearchCharToStartSearch(int iValue); int getChatSearchCharToStartSearch(); From 718d6f9b19bcafcd0949f8291ef9ba8f71c12253 Mon Sep 17 00:00:00 2001 From: Phenom Date: Wed, 13 Apr 2016 20:26:36 +0200 Subject: [PATCH 3/4] Resize Chat Tool Bar Button for Hight DPI screen. --- retroshare-gui/src/gui/chat/ChatWidget.cpp | 43 +++++++++++++++++++--- 1 file changed, 38 insertions(+), 5 deletions(-) diff --git a/retroshare-gui/src/gui/chat/ChatWidget.cpp b/retroshare-gui/src/gui/chat/ChatWidget.cpp index 2bc545362..c2052365d 100644 --- a/retroshare-gui/src/gui/chat/ChatWidget.cpp +++ b/retroshare-gui/src/gui/chat/ChatWidget.cpp @@ -62,6 +62,8 @@ #include +#define FMM 2//fontMetricsMultiplicator + /***** * #define CHAT_DEBUG 1 *****/ @@ -71,6 +73,10 @@ ChatWidget::ChatWidget(QWidget *parent) : { ui->setupUi(this); + int iconHeight = FMM*QFontMetricsF(font()).height() ; + QSize iconSize = QSize(iconHeight,iconHeight); + QSize buttonSize = QSize(iconSize + QSize(FMM,FMM)); + newMessages = false; typing = false; peerStatus = 0; @@ -82,6 +88,29 @@ ChatWidget::ChatWidget(QWidget *parent) : lastStatusSendTime = 0 ; + //Resize Tool buttons + ui->emoteiconButton->setFixedSize(buttonSize); + ui->emoteiconButton->setIconSize(iconSize); + ui->fontButton->setFixedSize(buttonSize); + ui->fontButton->setIconSize(iconSize); + ui->attachPictureButton->setFixedSize(buttonSize); + ui->attachPictureButton->setIconSize(iconSize); + ui->addFileButton->setFixedSize(buttonSize); + ui->addFileButton->setIconSize(iconSize); + ui->pushtoolsButton->setFixedSize(buttonSize); + ui->pushtoolsButton->setIconSize(iconSize); + ui->notifyButton->setFixedSize(buttonSize); + ui->notifyButton->setIconSize(iconSize); + ui->markButton->setFixedSize(buttonSize); + ui->markButton->setIconSize(iconSize); + ui->leSearch->setFixedHeight(iconHeight); + ui->searchBefore->setFixedHeight(iconHeight); + ui->searchAfter->setFixedHeight(iconHeight); + ui->searchButton->setFixedSize(buttonSize); + ui->searchButton->setIconSize(iconSize); + ui->sendButton->setFixedHeight(iconHeight); + + //Initialize search iCharToStartSearch=Settings->getChatSearchCharToStartSearch(); bFindCaseSensitively=Settings->getChatSearchCaseSensitively(); bFindWholeWords=Settings->getChatSearchWholeWords(); @@ -90,7 +119,6 @@ ChatWidget::ChatWidget(QWidget *parent) : uiMaxSearchLimitColor=Settings->getChatSearchMaxSearchLimitColor(); cFoundColor=Settings->getChatSearchFoundColor(); - ui->actionSearchWithoutLimit->setText(tr("Don't stop to color after")+" "+QString::number(uiMaxSearchLimitColor)+" "+tr("items found (need more CPU)")); ui->leSearch->setVisible(false); @@ -102,6 +130,7 @@ ChatWidget::ChatWidget(QWidget *parent) : ui->searchButton->setChecked(false); ui->searchButton->setToolTip(tr("Find
Ctrl+F")); ui->leSearch->installEventFilter(this); + connect(ui->actionFindCaseSensitively, SIGNAL(triggered()), this, SLOT(toogle_FindCaseSensitively())); connect(ui->actionFindWholeWords, SIGNAL(triggered()), this, SLOT(toogle_FindWholeWords())); connect(ui->actionMoveToCursor, SIGNAL(triggered()), this, SLOT(toogle_MoveToCursor())); @@ -113,11 +142,11 @@ ChatWidget::ChatWidget(QWidget *parent) : ui->markButton->setToolTip(tr("Mark this selected text
Ctrl+M")); - connect(ui->sendButton, SIGNAL(clicked()), this, SLOT(sendChat())); - connect(ui->addFileButton, SIGNAL(clicked()), this , SLOT(addExtraFile())); - - connect(ui->attachPictureButton, SIGNAL(clicked()), this, SLOT(addExtraPicture())); connect(ui->emoteiconButton, SIGNAL(clicked()), this, SLOT(smileyWidget())); + connect(ui->attachPictureButton, SIGNAL(clicked()), this, SLOT(addExtraPicture())); + connect(ui->addFileButton, SIGNAL(clicked()), this , SLOT(addExtraFile())); + connect(ui->sendButton, SIGNAL(clicked()), this, SLOT(sendChat())); + connect(ui->actionSaveChatHistory, SIGNAL(triggered()), this, SLOT(fileSaveAs())); connect(ui->actionClearChatHistory, SIGNAL(triggered()), this, SLOT(clearChatHistory())); connect(ui->actionDeleteChatHistory, SIGNAL(triggered()), this, SLOT(deleteChatHistory())); @@ -219,6 +248,10 @@ void ChatWidget::addChatHorizontalWidget(QWidget *w) void ChatWidget::addChatBarWidget(QWidget *w) { + int iconHeight = FMM*QFontMetricsF(font()).height() ; + QSize iconSize = QSize(iconHeight,iconHeight); + QSize buttonSize = QSize(iconSize + QSize(FMM,FMM)); + w->setFixedSize(buttonSize); ui->pluginButtonFrame->layout()->addWidget(w) ; } From 45f77def2baf30f567cf233c0dc6bda60d2c451b Mon Sep 17 00:00:00 2001 From: Phenom Date: Wed, 13 Apr 2016 20:42:12 +0200 Subject: [PATCH 4/4] Change Lobby Send button tooltip. --- retroshare-gui/src/gui/chat/ChatWidget.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/retroshare-gui/src/gui/chat/ChatWidget.cpp b/retroshare-gui/src/gui/chat/ChatWidget.cpp index c2052365d..d3613a3c5 100644 --- a/retroshare-gui/src/gui/chat/ChatWidget.cpp +++ b/retroshare-gui/src/gui/chat/ChatWidget.cpp @@ -1102,15 +1102,21 @@ void ChatWidget::updateLenOfChatTextEdit() break; } - bool msgToLarge = false; + int charRemains = 0; if (maxMessageSize > 0) { - msgToLarge = (msg.length() >= maxMessageSize); + charRemains = maxMessageSize - msg.length(); } - ui->sendButton->setEnabled(!msgToLarge); - text = tr("%1This message consists of %2 characters.").arg(msgToLarge ? tr("Warning:")+" " : "").arg(msg.length()); + ui->sendButton->setEnabled(charRemains>=0); + if (charRemains>0) + text = tr("It remains %1 characters\nafter HTML conversion.").arg(charRemains); + else if(charRemains<0) + text = tr("Warning: This message is too big of %1 characters\nafter HTML conversion.").arg((0-charRemains)); + else + text = ""; + ui->sendButton->setToolTip(text); - ui->chatTextEdit->setToolTip(msgToLarge?text:""); + ui->chatTextEdit->setToolTip(text); } void ChatWidget::sendChat()