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 a45d972d3..000000000 Binary files a/retroshare-gui/src/gui/images/rstray_new.png and /dev/null differ 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 000000000..384085536 Binary files /dev/null and b/retroshare-gui/src/gui/images/rstray_star.png differ diff --git a/retroshare-gui/src/gui/settings/NotifyPage.cpp b/retroshare-gui/src/gui/settings/NotifyPage.cpp index bc3bbe42f..bd5f948fd 100755 --- a/retroshare-gui/src/gui/settings/NotifyPage.cpp +++ b/retroshare-gui/src/gui/settings/NotifyPage.cpp @@ -36,6 +36,12 @@ NotifyPage::NotifyPage(QWidget * parent, Qt::WFlags flags) /* Invoke the Qt Designer generated object setup routine */ ui.setupUi(this); + connect(ui.trayNotify_PrivateChat, SIGNAL(toggled(bool)), this, SLOT(privatChatToggled())); + connect(ui.trayNotify_Messages, SIGNAL(toggled(bool)), this, SLOT(privatChatToggled())); + connect(ui.trayNotify_Channels, SIGNAL(toggled(bool)), this, SLOT(privatChatToggled())); + connect(ui.trayNotify_Forums, SIGNAL(toggled(bool)), this, SLOT(privatChatToggled())); + connect(ui.trayNotify_Transfer, SIGNAL(toggled(bool)), this, SLOT(privatChatToggled())); + /* Hide platform specific features */ #ifdef Q_WS_WIN @@ -96,8 +102,17 @@ NotifyPage::save(QString &errmsg) traynotifyflags |= TRAYNOTIFY_FORUMS; if (ui.trayNotify_Transfer->isChecked()) 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 542506783..8788de44d 100644 Binary files a/retroshare-gui/src/lang/retroshare_de.qm and b/retroshare-gui/src/lang/retroshare_de.qm differ diff --git a/retroshare-gui/src/lang/retroshare_de.ts b/retroshare-gui/src/lang/retroshare_de.ts index 3f3307b0b..d2ea995fd 100644 --- a/retroshare-gui/src/lang/retroshare_de.ts +++ b/retroshare-gui/src/lang/retroshare_de.ts @@ -5894,55 +5894,58 @@ p, li { white-space: pre-wrap; } - 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;