From 9992d6ae12a86d4dd7a3c7be9e4883fd224545e7 Mon Sep 17 00:00:00 2001 From: thunder2 Date: Wed, 13 Jul 2011 19:24:33 +0000 Subject: [PATCH] Removed the single notify systray icon (combined icon) and combined it with the normal RetroShare systray icon. The user can choose, which notify icon is shown as single icon in systray or with the normal RetroShare icon. git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4442 b45a01b8-16f6-495d-af2f-9b41ad6348cc --- retroshare-gui/src/gui/MainWindow.cpp | 168 ++++++++++-------- retroshare-gui/src/gui/MainWindow.h | 3 +- retroshare-gui/src/gui/images.qrc | 2 +- retroshare-gui/src/gui/images/rstray_new.png | Bin 1281 -> 0 bytes retroshare-gui/src/gui/images/rstray_star.png | Bin 0 -> 341 bytes .../src/gui/settings/NotifyPage.cpp | 48 ++++- retroshare-gui/src/gui/settings/NotifyPage.h | 3 + retroshare-gui/src/gui/settings/NotifyPage.ui | 121 ++++++++----- .../src/gui/settings/rsharesettings.cpp | 2 +- .../src/gui/settings/rsharesettings.h | 17 +- retroshare-gui/src/lang/retroshare_de.qm | Bin 327493 -> 327486 bytes retroshare-gui/src/lang/retroshare_de.ts | 122 +++++++------ retroshare-gui/src/util/PixmapMerging.cpp | 3 +- 13 files changed, 298 insertions(+), 191 deletions(-) delete mode 100644 retroshare-gui/src/gui/images/rstray_new.png create mode 100644 retroshare-gui/src/gui/images/rstray_star.png diff --git a/retroshare-gui/src/gui/MainWindow.cpp b/retroshare-gui/src/gui/MainWindow.cpp index 46e2bb21a..7f6de3806 100644 --- a/retroshare-gui/src/gui/MainWindow.cpp +++ b/retroshare-gui/src/gui/MainWindow.cpp @@ -166,7 +166,7 @@ MainWindow::MainWindow(QWidget* parent, Qt::WFlags flags) m_bStatusLoadDone = false; isIdle = false; - trayIconCombined = NULL; + notifyMenu = NULL; trayIconMessages = NULL; trayIconForums = NULL; trayIconChannels = NULL; @@ -258,7 +258,7 @@ MainWindow::MainWindow(QWidget* parent, Qt::WFlags flags) forumAction = createPageAction(QIcon(IMAGE_FORUMS), tr("Forums"), grp)); std::cerr << "Looking for interfaces in existing plugins:" << std::endl; - for(uint32_t i = 0;inbPlugins();++i) + for(int i = 0;inbPlugins();++i) { QIcon icon ; @@ -397,8 +397,13 @@ void MainWindow::createTrayIcon() QObject::connect(trayMenu, SIGNAL(aboutToShow()), this, SLOT(updateMenu())); toggleVisibilityAction = trayMenu->addAction(QIcon(IMAGE_RETROSHARE), tr("Show/Hide"), this, SLOT(toggleVisibilitycontextmenu())); - QMenu *pStatusMenu = trayMenu->addMenu(tr("Status")); - initializeStatusObject(pStatusMenu, true); + /* Create status menu */ + QMenu *statusMenu = trayMenu->addMenu(tr("Status")); + initializeStatusObject(statusMenu, true); + + /* Create notify menu */ + notifyMenu = trayMenu->addMenu(tr("Notify")); + notifyMenu->menuAction()->setVisible(false); trayMenu->addSeparator(); trayMenu->addAction(QIcon(IMAGE_RSM16), tr("Open Messenger"), this, SLOT(showMessengerWindow())); @@ -434,44 +439,25 @@ void MainWindow::createTrayIcon() void MainWindow::createNotifyIcons() { -#define DELETE_ICON(x) if (x) { delete(x); x = NULL; } +#define DELETE_OBJECT(x) if (x) { delete(x); x = NULL; } int notifyFlag = Settings->getTrayNotifyFlags(); - QMenu *trayMenu = NULL; - - /* Delete combined systray icon and rebuild it */ - trayActionMessages = NULL; - trayActionForums = NULL; - trayActionChannels = NULL; - trayActionChat = NULL; - trayActionTransfers = NULL; - DELETE_ICON(trayIconCombined); - - if (notifyFlag & TRAYNOTIFY_COMBINEDICON) { - /* Delete single systray icons */ - DELETE_ICON(trayIconMessages); - DELETE_ICON(trayIconForums); - DELETE_ICON(trayIconChannels); - DELETE_ICON(trayIconChat); - DELETE_ICON(trayIconTransfers); - - /* Create combined systray icon */ - trayIconCombined = new QSystemTrayIcon(this); - trayIconCombined->setIcon(QIcon(":/images/rstray_new.png")); - - trayMenu = new QMenu(this); - trayIconCombined->setContextMenu(trayMenu); - } + /* Delete notify actions */ + DELETE_OBJECT(trayActionMessages); + DELETE_OBJECT(trayActionForums); + DELETE_OBJECT(trayActionChannels); + DELETE_OBJECT(trayActionChat); + DELETE_OBJECT(trayActionTransfers); /* Create systray icons or actions */ if (notifyFlag & TRAYNOTIFY_MESSAGES) { - if (trayMenu) { - DELETE_ICON(trayIconMessages); + if (notifyFlag & TRAYNOTIFY_MESSAGES_COMBINED) { + DELETE_OBJECT(trayIconMessages); - trayActionMessages = trayMenu->addAction(QIcon(":/images/newmsg.png"), "", this, SLOT(trayIconMessagesClicked())); + trayActionMessages = notifyMenu->addAction(QIcon(":/images/newmsg.png"), "", this, SLOT(trayIconMessagesClicked())); trayActionMessages->setVisible(false); - trayActionMessages->setData(tr("Messages")); +// trayActionMessages->setData(tr("Messages")); } else if (trayIconMessages == NULL) { // Create the tray icon for messages trayIconMessages = new QSystemTrayIcon(this); @@ -479,16 +465,17 @@ void MainWindow::createNotifyIcons() connect(trayIconMessages, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(trayIconMessagesClicked(QSystemTrayIcon::ActivationReason))); } } else { - DELETE_ICON(trayIconMessages); + DELETE_OBJECT(trayIconMessages); + DELETE_OBJECT(trayActionMessages); } if (notifyFlag & TRAYNOTIFY_FORUMS) { - if (trayMenu) { - DELETE_ICON(trayIconForums); + if (notifyFlag & TRAYNOTIFY_FORUMS_COMBINED) { + DELETE_OBJECT(trayIconForums); - trayActionForums = trayMenu->addAction(QIcon(":/images/konversation16.png"), "", this, SLOT(trayIconForumsClicked())); + trayActionForums = notifyMenu->addAction(QIcon(":/images/konversation16.png"), "", this, SLOT(trayIconForumsClicked())); trayActionForums->setVisible(false); - trayActionForums->setData(tr("Forums")); +// trayActionForums->setData(tr("Forums")); } else if (trayIconForums == NULL) { // Create the tray icon for forums trayIconForums = new QSystemTrayIcon(this); @@ -496,16 +483,17 @@ void MainWindow::createNotifyIcons() connect(trayIconForums, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(trayIconForumsClicked(QSystemTrayIcon::ActivationReason))); } } else { - DELETE_ICON(trayIconForums); + DELETE_OBJECT(trayIconForums); + DELETE_OBJECT(trayActionForums); } if (notifyFlag & TRAYNOTIFY_CHANNELS) { - if (trayMenu) { - DELETE_ICON(trayIconChannels); + if (notifyFlag & TRAYNOTIFY_CHANNELS_COMBINED) { + DELETE_OBJECT(trayIconChannels); - trayActionChannels = trayMenu->addAction(QIcon(":/images/channels16.png"), "", this, SLOT(trayIconChannelsClicked())); + trayActionChannels = notifyMenu->addAction(QIcon(":/images/channels16.png"), "", this, SLOT(trayIconChannelsClicked())); trayActionChannels->setVisible(false); - trayActionChannels->setData(tr("Channels")); +// trayActionChannels->setData(tr("Channels")); } else if (trayIconChannels == NULL) { // Create the tray icon for channels trayIconChannels = new QSystemTrayIcon(this); @@ -513,16 +501,17 @@ void MainWindow::createNotifyIcons() connect(trayIconChannels, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(trayIconChannelsClicked(QSystemTrayIcon::ActivationReason))); } } else { - DELETE_ICON(trayIconChannels); + DELETE_OBJECT(trayIconChannels); + DELETE_OBJECT(trayActionChannels); } if (notifyFlag & TRAYNOTIFY_PRIVATECHAT) { - if (trayMenu) { - DELETE_ICON(trayIconChat); + if (notifyFlag & TRAYNOTIFY_PRIVATECHAT_COMBINED) { + DELETE_OBJECT(trayIconChat); - trayActionChat = trayMenu->addAction(QIcon(":/images/chat.png"), "", this, SLOT(trayIconChatClicked())); + trayActionChat = notifyMenu->addAction(QIcon(":/images/chat.png"), "", this, SLOT(trayIconChatClicked())); trayActionChat->setVisible(false); - trayActionChat->setData(tr("Chat")); +// trayActionChat->setData(tr("Chat")); } else if (trayIconChat == NULL) { // Create the tray icon for chat trayIconChat = new QSystemTrayIcon(this); @@ -530,16 +519,17 @@ void MainWindow::createNotifyIcons() connect(trayIconChat, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(trayIconChatClicked(QSystemTrayIcon::ActivationReason))); } } else { - DELETE_ICON(trayIconChat); + DELETE_OBJECT(trayIconChat); + DELETE_OBJECT(trayActionChat); } if (notifyFlag & TRAYNOTIFY_TRANSFERS) { - if (trayMenu) { - DELETE_ICON(trayIconTransfers); + if (notifyFlag & TRAYNOTIFY_TRANSFERS_COMBINED) { + DELETE_OBJECT(trayIconTransfers); - trayActionTransfers = trayMenu->addAction(QIcon(":/images/ktorrent32.png"), "", this, SLOT(trayIconTransfersClicked())); + trayActionTransfers = notifyMenu->addAction(QIcon(":/images/ktorrent32.png"), "", this, SLOT(trayIconTransfersClicked())); trayActionTransfers->setVisible(false); - trayActionTransfers->setData(tr("Transfers")); +// trayActionTransfers->setData(tr("Transfers")); } else if (trayIconTransfers == NULL) { // Create the tray icon for transfers trayIconTransfers = new QSystemTrayIcon(this); @@ -547,7 +537,8 @@ void MainWindow::createNotifyIcons() connect(trayIconTransfers, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(trayIconTransfersClicked(QSystemTrayIcon::ActivationReason))); } } else { - DELETE_ICON(trayIconTransfers); + DELETE_OBJECT(trayIconTransfers); + DELETE_OBJECT(trayActionTransfers); } /* call once */ @@ -557,7 +548,7 @@ void MainWindow::createNotifyIcons() privateChatChanged(NOTIFY_LIST_PRIVATE_INCOMING_CHAT, NOTIFY_TYPE_ADD); // transfer -#undef DELETE_ICON +#undef DELETE_OBJECT } /*static*/ void MainWindow::installGroupChatNotifier() @@ -614,6 +605,7 @@ void MainWindow::updateMessages() } if (trayActionMessages) { + trayActionMessages->setData(newInboxCount); if (newInboxCount) { if (newInboxCount > 1) { trayActionMessages->setText(tr("%1 new messages").arg(newInboxCount)); @@ -655,6 +647,7 @@ void MainWindow::updateForums() } if (trayActionForums) { + trayActionForums->setData(newMessageCount); if (newMessageCount) { if (newMessageCount > 1) { trayActionForums->setText(tr("%1 new messages").arg(newMessageCount)); @@ -696,6 +689,7 @@ void MainWindow::updateChannels(int type) } if (trayActionChannels) { + trayActionChannels->setData(newMessageCount); if (newMessageCount) { if (newMessageCount > 1) { trayActionChannels->setText(tr("%1 new messages").arg(newMessageCount)); @@ -733,6 +727,7 @@ void MainWindow::updateTransfers(int count) } if (trayActionTransfers) { + trayActionTransfers->setData(count); if (count) { if (count > 1) { trayActionTransfers->setText(tr("%1 completed downloads").arg(count)); @@ -750,27 +745,32 @@ void MainWindow::updateTransfers(int count) void MainWindow::updateTrayCombine() { - if (trayIconCombined) { - QMenu *trayMenu = trayIconCombined->contextMenu(); - QList actions = trayMenu->actions(); + notifyToolTip.clear(); - bool visible = false; - QString toolTip; + bool visible = false; + if (notifyMenu) { + QList actions = notifyMenu->actions(); + int count = 0; QList::iterator actionIt; for (actionIt = actions.begin(); actionIt != actions.end(); actionIt++) { if ((*actionIt)->isVisible()) { visible = true; - if (toolTip.isEmpty() == false) { - toolTip += "\r"; - } - toolTip += (*actionIt)->data().toString() + ":" + (*actionIt)->text(); - } - } - trayIconCombined->setToolTip(toolTip); - trayIconCombined->setVisible(visible); + count += (*actionIt)->data().toInt(); +// ToolTip is too long to show all services +// if (notifyToolTip.isEmpty() == false) { +// notifyToolTip += "\r"; +// } +// notifyToolTip += (*actionIt)->data().toString() + ":" + (*actionIt)->text(); + } + if (visible) { + notifyToolTip = ((count == 1) ? tr("%1 new message") : tr("%1 new messages")).arg(count); + } + + } } + notifyMenu->menuAction()->setVisible(visible); } void MainWindow::updateStatus() @@ -803,23 +803,40 @@ void MainWindow::updateStatus() discstatus->update(); } + QString trayIconResource; + if (nOnlineCount == 0) { - trayIcon->setIcon(QIcon(IMAGE_NOONLINE)); + trayIconResource = IMAGE_NOONLINE; } else if (nOnlineCount < 2) { - trayIcon->setIcon(QIcon(IMAGE_ONEONLINE)); + trayIconResource = IMAGE_ONEONLINE; } else if (nOnlineCount < 3) { - trayIcon->setIcon(QIcon(IMAGE_TWOONLINE)); + trayIconResource = IMAGE_TWOONLINE; } else { - trayIcon->setIcon(QIcon(IMAGE_RETROSHARE)); + trayIconResource = IMAGE_RETROSHARE; } + QIcon icon; + if (notifyMenu && notifyMenu->menuAction()->isVisible()) { + QPixmap trayImage(trayIconResource); + QPixmap overlayImage(":/images/rstray_star.png"); + + QPainter painter(&trayImage); + painter.drawPixmap(0, 0, overlayImage); + + icon.addPixmap(trayImage); + } else { + icon = QIcon(trayIconResource); + } + + trayIcon->setIcon(icon); + QString tray = "RetroShare\n" + tr("Down: %1 (kB/s)").arg(downKb, 0, 'f', 2) + " | " + tr("Up: %1 (kB/s)").arg(upKb, 0, 'f', 2) + "\n"; if (nOnlineCount == 1) { @@ -830,6 +847,10 @@ void MainWindow::updateStatus() tray += "\n" + nameAndLocation; + if (!notifyToolTip.isEmpty()) { + tray += "\n"; + tray += notifyToolTip; + } trayIcon->setToolTip(tray); } @@ -856,6 +877,7 @@ void MainWindow::privateChatChanged(int list, int type) } if (trayActionChat) { + trayActionChat->setData(chatCount); if (chatCount) { if (chatCount > 1) { trayActionChat->setText(tr("%1 new messages").arg(chatCount)); diff --git a/retroshare-gui/src/gui/MainWindow.h b/retroshare-gui/src/gui/MainWindow.h index dde1588b9..e09156aea 100644 --- a/retroshare-gui/src/gui/MainWindow.h +++ b/retroshare-gui/src/gui/MainWindow.h @@ -226,12 +226,13 @@ private: QString nameAndLocation; QSystemTrayIcon *trayIcon; - QSystemTrayIcon *trayIconCombined; QSystemTrayIcon *trayIconMessages; QSystemTrayIcon *trayIconForums; QSystemTrayIcon *trayIconChannels; QSystemTrayIcon *trayIconChat; QSystemTrayIcon *trayIconTransfers; + QMenu *notifyMenu; + QString notifyToolTip; QAction *trayActionMessages; QAction *trayActionForums; QAction *trayActionChannels; diff --git a/retroshare-gui/src/gui/images.qrc b/retroshare-gui/src/gui/images.qrc index e60fe0edf..2ef20d88f 100644 --- a/retroshare-gui/src/gui/images.qrc +++ b/retroshare-gui/src/gui/images.qrc @@ -356,7 +356,7 @@ images/rstray0.png images/rstray1.png images/rstray2.png - images/rstray_new.png + images/rstray_star.png images/security-high-16.png images/security-high-48.png images/security-low-48.png diff --git a/retroshare-gui/src/gui/images/rstray_new.png b/retroshare-gui/src/gui/images/rstray_new.png deleted file mode 100644 index a45d972d34e53f6018678af3e922f4673f5bb6b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1281 zcmV+c1^)VpP)>*? zAIwx<+LkG`RBC;6q&})3Afi%Gf?GHgqUnLU4mLW$~cU7W_M?H@BQuFbI4OQ&caE>yoLWfk{C?#Wz6hF(4`lhn&Kb4}*m(^HxVGl@Ykm z*kJsAf7zvnp~m+iVhFjNPA72KmN7>%HDe1$r^!kUn*!8S0(Hk9^NV0y7|(vEm`Ml&uWKrT2|r9;Ed3GlH`G+V&NMv#noCql(mg? zr$+$0jTV;hsN2dAfKVo`%uHLlttvW91Z5!5cnxUK09^V7?7@cS`4Jr@enOU7)$mr7 z@XaKE0t}xV#9soK0?sIeiG4lj$yTFYUx(}t6ToEQgx+K#7Umzl7#^J-6)6XrI)K8e z|2{ua1-v^gAL;yRIE)VPUzd6A_wBij+dAv#j#kNQQ9f*0{Tum^xQb|<1qgE4u)Wpr zDY0N}jeGLcRD?_fHWmY4%X1;;bYXZ%Nz!wmc)oDay7HDJfGO_vfXQAt^t(@ba)u0M zFogc-yQK$VlRKN8@~-v|FsezOY;@OF9Q;+DuxHfqT98jN%h9 zeQ@FGA#r1GJq(vE2Y4UXEsLEV<0ky)9QchLv@~OohLUs#LOxLR%xcW#6v6A2XF)J+ zqx+8};L_29-KBv+;Od#T2b1nUBBEoaD;?8*u9L_VLMAZ+4&~IKK%RynjTd;c1YnK# zdK7w>0qZro(`r4WnTv4hdgaNS4M=?e9zMmUuZ!nRdVa?^f5|Kkn*pPF$UK8ueCD0x z{tRb}9pdzHj|I1t_2YKLbDhaKfs@Nh_EoJYK=%K@!_jv28k5WAatMN8kR<5{4GDHO z?^XSx7--89PUDRv(N+WFUI8uJjo)pk3P?wIj08V@TU=0f7@HpfKQ31~<6Q0W6dJ>mI7UNdd0<>#2#y|ES&9B>i_Q{)&eyiB+?>zv*LO`#h zFi2->?IMH{Mg*xCAkDy!-6DLkT!sLjKuocR8F!}^M$x6(QNa{-Ty%5Ii+8-;6#7gs zl1{9B&pR+vvHs<(_)EPAt~>;pw-tZ)0hwz?Y9fWvker%Ocw+OBwWESHY6MXfI_br+ znZ6dPDqzgsnNvJIMXH{_k-%)!p}%qumYf09d9-Yzk-C`HxKm9Z)Q@f3jNLf1ls{jv z++hC)UDoTcQ+AJH&7$Y&@51uOyB3^pt-3$!g=H|-~eUTr9?uY021MvDtg7kLHcALR-H rgu#Ftce)2U#CQBF%gf7q@8|pr3S!a8Gwxxm00000NkvXXu0mjf|Ltdi diff --git a/retroshare-gui/src/gui/images/rstray_star.png b/retroshare-gui/src/gui/images/rstray_star.png new file mode 100644 index 0000000000000000000000000000000000000000..3840855365650c276be875850785119c74f648b4 GIT binary patch literal 341 zcmV-b0jmCqP);gng5qWR`hh6Z81ym}D(?WIYL>d_1hR5AF<0*3$E z@pr-Os|%GGbP~vSHRHKi4Euq!1BfGOkia0Jp9q$CadAGw^9u`L>JAvCF*uTB@bSqE z|1ENWuKc(Uy9$0Mh7(hi87y;2b3Nn!9isChecked()) traynotifyflags |= TRAYNOTIFY_TRANSFERS; - if (ui.trayNotify_CombinedIcon->isChecked()) - traynotifyflags |= TRAYNOTIFY_COMBINEDICON; + + if (ui.trayNotify_PrivateChatCombined->isChecked()) + traynotifyflags |= TRAYNOTIFY_PRIVATECHAT_COMBINED; + if (ui.trayNotify_MessagesCombined->isChecked()) + traynotifyflags |= TRAYNOTIFY_MESSAGES_COMBINED; + if (ui.trayNotify_ChannelsCombined->isChecked()) + traynotifyflags |= TRAYNOTIFY_CHANNELS_COMBINED; + if (ui.trayNotify_ForumsCombined->isChecked()) + traynotifyflags |= TRAYNOTIFY_FORUMS_COMBINED; + if (ui.trayNotify_TransferCombined->isChecked()) + traynotifyflags |= TRAYNOTIFY_TRANSFERS_COMBINED; Settings->setNotifyFlags(notifyflags); Settings->setTrayNotifyFlags(traynotifyflags); @@ -154,7 +169,12 @@ void NotifyPage::load() ui.trayNotify_Channels->setChecked(traynotifyflags & TRAYNOTIFY_CHANNELS); ui.trayNotify_Forums->setChecked(traynotifyflags & TRAYNOTIFY_FORUMS); ui.trayNotify_Transfer->setChecked(traynotifyflags & TRAYNOTIFY_TRANSFERS); - ui.trayNotify_CombinedIcon->setChecked(traynotifyflags & TRAYNOTIFY_COMBINEDICON); + + ui.trayNotify_PrivateChatCombined->setChecked(traynotifyflags & TRAYNOTIFY_PRIVATECHAT_COMBINED); + ui.trayNotify_MessagesCombined->setChecked(traynotifyflags & TRAYNOTIFY_MESSAGES_COMBINED); + ui.trayNotify_ChannelsCombined->setChecked(traynotifyflags & TRAYNOTIFY_CHANNELS_COMBINED); + ui.trayNotify_ForumsCombined->setChecked(traynotifyflags & TRAYNOTIFY_FORUMS_COMBINED); + ui.trayNotify_TransferCombined->setChecked(traynotifyflags & TRAYNOTIFY_TRANSFERS_COMBINED); ui.addFeedsAtEnd->setChecked(Settings->getAddFeedsAtEnd()); @@ -180,4 +200,26 @@ void NotifyPage::load() QPoint margin = Settings->getToasterMargin(); ui.spinBoxToasterXMargin->setValue(margin.x()); ui.spinBoxToasterYMargin->setValue(margin.y()); + + privatChatToggled(); +} + +void NotifyPage::privatChatToggled() +{ + QList > checkboxes; + checkboxes << qMakePair(ui.trayNotify_PrivateChat, ui.trayNotify_PrivateChatCombined) + << qMakePair(ui.trayNotify_Messages, ui.trayNotify_MessagesCombined) + << qMakePair(ui.trayNotify_Channels, ui.trayNotify_ChannelsCombined) + << qMakePair(ui.trayNotify_Forums, ui.trayNotify_ForumsCombined) + << qMakePair(ui.trayNotify_Transfer, ui.trayNotify_TransferCombined); + + QList >::iterator checkboxIt; + for (checkboxIt = checkboxes.begin(); checkboxIt != checkboxes.end(); checkboxIt++) { + if (checkboxIt->first->isChecked()) { + checkboxIt->second->setEnabled(true); + } else { + checkboxIt->second->setChecked(false); + checkboxIt->second->setEnabled(false); + } + } } diff --git a/retroshare-gui/src/gui/settings/NotifyPage.h b/retroshare-gui/src/gui/settings/NotifyPage.h index d984ccc38..b7e3f78ca 100755 --- a/retroshare-gui/src/gui/settings/NotifyPage.h +++ b/retroshare-gui/src/gui/settings/NotifyPage.h @@ -40,6 +40,9 @@ public: /** Loads the settings for this page */ void load(); +private slots: + void privatChatToggled(); + private: /** Qt Designer generated object */ Ui::NotifyPage ui; diff --git a/retroshare-gui/src/gui/settings/NotifyPage.ui b/retroshare-gui/src/gui/settings/NotifyPage.ui index 7a0a65ac7..f33656abc 100755 --- a/retroshare-gui/src/gui/settings/NotifyPage.ui +++ b/retroshare-gui/src/gui/settings/NotifyPage.ui @@ -6,7 +6,7 @@ 0 0 - 408 + 427 425 @@ -582,53 +582,78 @@ - - - Private Message - - - - - - - Message - - - - - - - Channel Post - - - - - - - Forum Post - - - - - - - Download completed - - - - - - - Qt::Horizontal - - - - - - - Combined icon - - + + + + + Private Message + + + + + + + Message + + + + + + + Channel Post + + + + + + + Forum Post + + + + + + + Download completed + + + + + + + Combined + + + + + + + Combined + + + + + + + Combined + + + + + + + Combined + + + + + + + Combined + + + + diff --git a/retroshare-gui/src/gui/settings/rsharesettings.cpp b/retroshare-gui/src/gui/settings/rsharesettings.cpp index e9eaf8e61..c1c390989 100644 --- a/retroshare-gui/src/gui/settings/rsharesettings.cpp +++ b/retroshare-gui/src/gui/settings/rsharesettings.cpp @@ -309,7 +309,7 @@ void RshareSettings::setNotifyFlags(uint flags) uint RshareSettings::getTrayNotifyFlags() { - return value(SETTING_TRAYNOTIFY_FLAGS, TRAYNOTIFY_ALL).toUInt(); + return value(SETTING_TRAYNOTIFY_FLAGS, TRAYNOTIFY_PRIVATECHAT | TRAYNOTIFY_MESSAGES | TRAYNOTIFY_CHANNELS | TRAYNOTIFY_FORUMS | TRAYNOTIFY_TRANSFERS).toUInt(); } void RshareSettings::setTrayNotifyFlags(uint flags) diff --git a/retroshare-gui/src/gui/settings/rsharesettings.h b/retroshare-gui/src/gui/settings/rsharesettings.h index 18bda3e8c..3a7111415 100644 --- a/retroshare-gui/src/gui/settings/rsharesettings.h +++ b/retroshare-gui/src/gui/settings/rsharesettings.h @@ -31,14 +31,17 @@ #include "rsettings.h" /* Defines for get/setTrayNotifyFlags */ -#define TRAYNOTIFY_PRIVATECHAT 0x00000001 -#define TRAYNOTIFY_MESSAGES 0x00000002 -#define TRAYNOTIFY_CHANNELS 0x00000004 -#define TRAYNOTIFY_FORUMS 0x00000008 -#define TRAYNOTIFY_TRANSFERS 0x00000010 -#define TRAYNOTIFY_ALL 0x0000001F +#define TRAYNOTIFY_PRIVATECHAT 0x00000001 +#define TRAYNOTIFY_MESSAGES 0x00000002 +#define TRAYNOTIFY_CHANNELS 0x00000004 +#define TRAYNOTIFY_FORUMS 0x00000008 +#define TRAYNOTIFY_TRANSFERS 0x00000010 -#define TRAYNOTIFY_COMBINEDICON 0x80000000 +#define TRAYNOTIFY_PRIVATECHAT_COMBINED 0x00000020 +#define TRAYNOTIFY_MESSAGES_COMBINED 0x00000040 +#define TRAYNOTIFY_CHANNELS_COMBINED 0x00000080 +#define TRAYNOTIFY_FORUMS_COMBINED 0x00000100 +#define TRAYNOTIFY_TRANSFERS_COMBINED 0x00000200 #define STATUSBAR_DISC 0x00000001 diff --git a/retroshare-gui/src/lang/retroshare_de.qm b/retroshare-gui/src/lang/retroshare_de.qm index 542506783284b57213a7eea064d3159d36383a7b..8788de44da3e1582aedd5dba23187fd73aa9094f 100644 GIT binary patch delta 11803 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 SHL5o_ntH<)s@_m1-TwiIOia`O delta 12023 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 - Transfers Übertragungen - - + Messages Nachrichten - - + Channels Kanäle - + Blogs Blogs - + + Notify + Meldungen + + + Dht Details - Chat - Chat + Chat - - - - + + + + + %1 new messages %1 neue Nachrichten - - - - + + + + + %1 new message %1 neue Nachricht - + You have %1 completed downloads Du hast %1 fertige Downloads @@ -5952,17 +5955,17 @@ p, li { white-space: pre-wrap; } Du hast %1 fertigen Download - + %1 completed downloads %1 fertige Downloads %1 completed download - %1 fertigen Download + %1 fertiger Download - + Down: %1 (kB/s) Runter: %1 (kB/s) @@ -5977,7 +5980,7 @@ p, li { white-space: pre-wrap; } %1 Freunde verbunden - + It seems to be an old RetroShare link. Please use copy instead. Es scheint ein alter RetroShare Link zu sein. Bitte kopiere den Link stattdessen. @@ -5987,23 +5990,23 @@ p, li { white-space: pre-wrap; } Link ist fehlerhaft. - + %1 friend connected %1 Freund verbunden - + Internal Error Interener Fehler - + Options Optionen - + Hide Verbergen @@ -6013,7 +6016,7 @@ p, li { white-space: pre-wrap; } Zeigen - + RetroShare @@ -6044,7 +6047,7 @@ p, li { white-space: pre-wrap; } Schnellstart Assistent - + Search Suchen @@ -6064,28 +6067,28 @@ p, li { white-space: pre-wrap; } Anzeigen/Verbergen - + &Quit &Schliessen - - - - + + + + You have %1 new messages Du hast %1 neue Nachrichten - - - - + + + + You have %1 new message Du hast %1 neue Nachricht - + Bandwidth Graph Bandbreiten-Graph @@ -6114,7 +6117,7 @@ p, li { white-space: pre-wrap; } Verknüpfungs-Wolke - + Unfinished unfertig @@ -6124,7 +6127,7 @@ p, li { white-space: pre-wrap; } - + Help Hilfe @@ -6134,18 +6137,17 @@ p, li { white-space: pre-wrap; } Über - - + Forums Foren - + RetroShare %1 a secure decentralised communication platform RetroShare %1 eine sichere und dezentralisierte Kommunikationsplattform - + Open Messages Öffne Nachrichten @@ -6155,12 +6157,12 @@ p, li { white-space: pre-wrap; } Anwendungen - + Plugins - + Do you really want to exit RetroShare ? Willst Du RetroShare wirklich beenden? @@ -6170,7 +6172,7 @@ p, li { white-space: pre-wrap; } Wirklich beenden? - + Low disk space warning Wenig Festplatenspeicher @@ -6198,7 +6200,7 @@ Normalerweise hält RetroShare jetzt sicher alle Festplattenzugriffe auf das Ver Bitte gib etwas Speicher frei und drücke OK. - + Status Status @@ -8144,7 +8146,7 @@ p, li { white-space: pre-wrap; } Systray Icon - + Private Message Private Nachricht @@ -8165,17 +8167,25 @@ p, li { white-space: pre-wrap; } - + Download completed Download fertig - Combined icon - Kombiniertes Icon + Kombiniertes Icon - + + + + + + Combined + Kombiniert + + + Toasters @@ -8235,12 +8245,12 @@ p, li { white-space: pre-wrap; } Zeige Systemabschnitts-Nachricht an - + Add feeds at end Feeds am Ende anfügen - + Top Left Oben Links @@ -9427,7 +9437,7 @@ Do you want to send them a Message instead Immer im Vordergrund - + RetroShare RetroShare diff --git a/retroshare-gui/src/util/PixmapMerging.cpp b/retroshare-gui/src/util/PixmapMerging.cpp index 1b80cf1fb..e8aa749e0 100644 --- a/retroshare-gui/src/util/PixmapMerging.cpp +++ b/retroshare-gui/src/util/PixmapMerging.cpp @@ -21,7 +21,8 @@ #include -#include +#include +#include QPixmap PixmapMerging::merge(const std::string & foregroundPixmapData, const std::string & backgroundPixmapFilename) { QImage foregroundImage;