From 73daae59924447ec1b1c760067fbdfe663aa9ca5 Mon Sep 17 00:00:00 2001 From: thunder2 Date: Tue, 3 May 2011 23:04:42 +0000 Subject: [PATCH] Removed the GoTo buttons from the feeds and added clickable links. git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4184 b45a01b8-16f6-495d-af2f-9b41ad6348cc --- retroshare-gui/src/gui/ChannelFeed.ui | 1252 ++++++++--------- retroshare-gui/src/gui/feeds/ChanMsgItem.cpp | 34 +- retroshare-gui/src/gui/feeds/ChanMsgItem.h | 1 - retroshare-gui/src/gui/feeds/ChanMsgItem.ui | 48 +- retroshare-gui/src/gui/feeds/ChanNewItem.cpp | 28 +- retroshare-gui/src/gui/feeds/ChanNewItem.h | 1 - retroshare-gui/src/gui/feeds/ChanNewItem.ui | 26 +- retroshare-gui/src/gui/feeds/ForumMsgItem.cpp | 32 +- retroshare-gui/src/gui/feeds/ForumMsgItem.h | 1 - retroshare-gui/src/gui/feeds/ForumMsgItem.ui | 46 +- retroshare-gui/src/gui/feeds/ForumNewItem.cpp | 23 +- retroshare-gui/src/gui/feeds/ForumNewItem.h | 1 - retroshare-gui/src/gui/feeds/ForumNewItem.ui | 39 +- retroshare-gui/src/lang/retroshare_de.qm | Bin 328910 -> 328855 bytes retroshare-gui/src/lang/retroshare_de.ts | 176 +-- 15 files changed, 786 insertions(+), 922 deletions(-) diff --git a/retroshare-gui/src/gui/ChannelFeed.ui b/retroshare-gui/src/gui/ChannelFeed.ui index a2ee1a591..c8fe9312e 100644 --- a/retroshare-gui/src/gui/ChannelFeed.ui +++ b/retroshare-gui/src/gui/ChannelFeed.ui @@ -1,636 +1,616 @@ - - - ChannelFeed - - - - 0 - 0 - 681 - 476 - - - - - 0 - 0 - - - - - 0 - 0 - - - - - - - Qt::Horizontal - - - - - 0 - 0 - - - - QFrame#chanFrame{border: none;} - - - QFrame::StyledPanel - - - QFrame::Raised - - - - 2 - - - 0 - - - - - 0 - - - - - - 0 - 0 - - - - - - - - - - QFrame#chheaderframe{ -background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, - stop:0 #FEFEFE, stop:1 #E8E8E8); - -border: 1px solid #CCCCCC;} - - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - 2 - - - - - 0 - - - - - - 24 - 24 - - - - - - - :/images/channels32.png - - - true - - - - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Arial'; font-size:10pt; font-weight:600;">Channels</span></p></body></html> - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - true - - - Qt::NoFocus - - - Add - - - QPushButton::menu-indicator { - subcontrol-origin: padding; - subcontrol-position: bottom right; - } - - QPushButton::menu-indicator:pressed, QPushButton::menu-indicator:open { - position: relative; - top: 2px; left: 2px; /* shift the arrow by 2 px */ - } - - QPushButton:hover { - border: 1px solid #CCCCCC; - } - - - - - - - :/images/edit_add24.png:/images/edit_add24.png - - - false - - - true - - - - - - - - 0 - 0 - - - - - 0 - 25 - - - - - 16777215 - 26 - - - - Qt::NoFocus - - - Post to Channel - - - - - - - - - - :/images/mail_send.png:/images/mail_send.png - - - true - - - - - - - Qt::NoFocus - - - Display - - - QPushButton::menu-indicator { - subcontrol-origin: padding; - subcontrol-position: bottom right; - } - - QPushButton::menu-indicator:pressed, QPushButton::menu-indicator:open { - position: relative; - top: 2px; left: 2px; /* shift the arrow by 2 px */ - } - - QPushButton:hover { - border: 1px solid #CCCCCC; - } - - - - :/images/looknfeel.png:/images/looknfeel.png - - - true - - - - - - - - - - - - - - QFrame#frame{background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, - stop:0 #F2F2F2, stop:1 #E6E6E6); -border: 1px solid #CCCCCC;} - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - 0 - - - 0 - - - - - 16 - - - 9 - - - - - - 64 - 64 - - - - - 64 - 64 - - - - QLabel{ -border: 2px solid white; -border-radius: 10px; -} - - - - - - :/images/channels.png - - - true - - - - - - - - 75 - true - - - - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:600; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt;">Channel Name</span></p></body></html> - - - true - - - - - - - - - Qt::Horizontal - - - - - - - 9 - - - 9 - - - - - - 0 - 0 - - - - - 0 - 26 - - - - Unsubcribe To Channel - - - QToolButton, QPushButton, QComboBox { -border-image: url(:/images/btn_26.png) 4; -border-width: 4; -padding: 0px 6px; -font-size: 12px; -} - -QToolButton:hover, QPushButton:hover, QComboBox:hover { -border-image: url(:/images/btn_26_hover.png) 4; -} - -QToolButton:disabled, QPushButton:disabled, QComboBox::disabled { -color:gray; -} - -QToolButton:pressed, QPushButton:pressed{ -border-image: url(:/images/btn_26_pressed.png) 4; -} - - - Unsubscribe - - - - - - - - 0 - 0 - - - - - 0 - 26 - - - - - 16777215 - 26 - - - - Subscribe To Channel - - - QToolButton, QPushButton, QComboBox { -border-image: url(:/images/btn_26.png) 4; -border-width: 4; -padding: 0px 6px; -font-size: 12px; -} - -QToolButton:hover, QPushButton:hover, QComboBox:hover { -border-image: url(:/images/btn_26_hover.png) 4; -} - -QToolButton:disabled, QPushButton:disabled, QComboBox::disabled { -color:gray; -} - -QToolButton:pressed, QPushButton:pressed{ -border-image: url(:/images/btn_26_pressed.png) 4; -} - - - Subscribe - - - - :/images/konqsidebar_news16.png:/images/konqsidebar_news16.png - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 0 - 0 - - - - - 0 - 26 - - - - QToolButton, QPushButton, QComboBox { -border-image: url(:/images/btn_26.png) 4; -border-width: 4; -padding: 0px 6px; -font-size: 12px; -} - -QToolButton:hover, QPushButton:hover, QComboBox:hover { -border-image: url(:/images/btn_26_hover.png) 4; -} - -QToolButton:disabled, QPushButton:disabled, QComboBox::disabled { -color:gray; -} - -QToolButton:pressed, QPushButton:pressed{ -border-image: url(:/images/btn_26_pressed.png) 4; -} - - - Set all to read - - - - - - - QToolButton, QPushButton, QComboBox { -border-image: url(:/images/btn_26.png) 4; -border-width: 4; -padding: 0px 6px; -font-size: 12px; -} - -QToolButton:hover, QPushButton:hover, QComboBox:hover { -border-image: url(:/images/btn_26_hover.png) 4; -} - -QToolButton:disabled, QPushButton:disabled, QComboBox::disabled { -color:gray; -} - -QToolButton:pressed, QPushButton:pressed{ -border-image: url(:/images/btn_26_pressed.png) 4; -} - - - Enable Auto-download - - - - - - - - - - - - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - 0 - - - 0 - - - - - true - - - Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft - - - - - 0 - 0 - 407 - 330 - - - - QWidget#scrollAreaWidgetContents{border: none;} - - - - 0 - - - 0 - - - - - - - - Qt::Vertical - - - - 391 - 266 - - - - - - - - - - - - - - - - - - - - :/images/add_channel24.png:/images/add_channel24.png - - - Create Channel - - - - - - GroupTreeWidget - QWidget -
gui/common/GroupTreeWidget.h
- 1 -
-
- - - - -
+ + + ChannelFeed + + + + 0 + 0 + 681 + 476 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + + + Qt::Horizontal + + + + + 0 + 0 + + + + QFrame#chanFrame{border: none;} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + 2 + + + 0 + + + + + 0 + + + + + + 0 + 0 + + + + + + + + + + QFrame#chheaderframe{ +background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, + stop:0 #FEFEFE, stop:1 #E8E8E8); + +border: 1px solid #CCCCCC;} + + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + 2 + + + + + 0 + + + + + + 24 + 24 + + + + + + + :/images/channels32.png + + + true + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Arial'; font-size:10pt; font-weight:600;">Channels</span></p></body></html> + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + true + + + Qt::NoFocus + + + Add + + + QPushButton::menu-indicator { + subcontrol-origin: padding; + subcontrol-position: bottom right; + } + + QPushButton::menu-indicator:pressed, QPushButton::menu-indicator:open { + position: relative; + top: 2px; left: 2px; /* shift the arrow by 2 px */ + } + + QPushButton:hover { + border: 1px solid #CCCCCC; + } + + + + + + + :/images/edit_add24.png:/images/edit_add24.png + + + false + + + true + + + + + + + + 0 + 0 + + + + + 0 + 25 + + + + + 16777215 + 26 + + + + Qt::NoFocus + + + Post to Channel + + + + + + + + + + :/images/mail_send.png:/images/mail_send.png + + + true + + + + + + + Qt::NoFocus + + + Display + + + QPushButton::menu-indicator { + subcontrol-origin: padding; + subcontrol-position: bottom right; + } + + QPushButton::menu-indicator:pressed, QPushButton::menu-indicator:open { + position: relative; + top: 2px; left: 2px; /* shift the arrow by 2 px */ + } + + QPushButton:hover { + border: 1px solid #CCCCCC; + } + + + + :/images/looknfeel.png:/images/looknfeel.png + + + true + + + + + + + + + + + + + + QFrame#frame{background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, + stop:0 #F2F2F2, stop:1 #E6E6E6); +border: 1px solid #CCCCCC;} + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + 0 + + + 0 + + + + + 16 + + + 9 + + + + + + 64 + 64 + + + + + 64 + 64 + + + + QLabel{ +border: 2px solid white; +border-radius: 10px; +} + + + + + + :/images/channels.png + + + true + + + + + + + + 75 + true + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:600; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt;">Channel Name</span></p></body></html> + + + true + + + + + + + + + Qt::Horizontal + + + + + + + 9 + + + 9 + + + + + + 0 + 0 + + + + + 0 + 26 + + + + Unsubcribe To Channel + + + QToolButton, QPushButton, QComboBox { +border-image: url(:/images/btn_26.png) 4; +border-width: 4; +padding: 0px 6px; +font-size: 12px; +} + +QToolButton:hover, QPushButton:hover, QComboBox:hover { +border-image: url(:/images/btn_26_hover.png) 4; +} + +QToolButton:disabled, QPushButton:disabled, QComboBox::disabled { +color:gray; +} + +QToolButton:pressed, QPushButton:pressed{ +border-image: url(:/images/btn_26_pressed.png) 4; +} + + + Unsubscribe + + + + + + + + 0 + 0 + + + + + 0 + 26 + + + + + 16777215 + 26 + + + + Subscribe To Channel + + + QToolButton, QPushButton, QComboBox { +border-image: url(:/images/btn_26.png) 4; +border-width: 4; +padding: 0px 6px; +font-size: 12px; +} + +QToolButton:hover, QPushButton:hover, QComboBox:hover { +border-image: url(:/images/btn_26_hover.png) 4; +} + +QToolButton:disabled, QPushButton:disabled, QComboBox::disabled { +color:gray; +} + +QToolButton:pressed, QPushButton:pressed{ +border-image: url(:/images/btn_26_pressed.png) 4; +} + + + Subscribe + + + + :/images/konqsidebar_news16.png:/images/konqsidebar_news16.png + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + + 0 + 26 + + + + QToolButton, QPushButton, QComboBox { +border-image: url(:/images/btn_26.png) 4; +border-width: 4; +padding: 0px 6px; +font-size: 12px; +} + +QToolButton:hover, QPushButton:hover, QComboBox:hover { +border-image: url(:/images/btn_26_hover.png) 4; +} + +QToolButton:disabled, QPushButton:disabled, QComboBox::disabled { +color:gray; +} + +QToolButton:pressed, QPushButton:pressed{ +border-image: url(:/images/btn_26_pressed.png) 4; +} + + + Set all to read + + + + + + + Enable Auto-download + + + + + + + + + + + + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + 0 + + + 0 + + + + + true + + + Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + + 0 + 0 + 407 + 330 + + + + QWidget#scrollAreaWidgetContents{border: none;} + + + + 0 + + + 0 + + + + + + + + Qt::Vertical + + + + 391 + 266 + + + + + + + + + + + + + + + + + + + + :/images/add_channel24.png:/images/add_channel24.png + + + Create Channel + + + + + + GroupTreeWidget + QWidget +
gui/common/GroupTreeWidget.h
+ 1 +
+
+ + + + +
diff --git a/retroshare-gui/src/gui/feeds/ChanMsgItem.cpp b/retroshare-gui/src/gui/feeds/ChanMsgItem.cpp index 44d3279a4..24bd139e1 100644 --- a/retroshare-gui/src/gui/feeds/ChanMsgItem.cpp +++ b/retroshare-gui/src/gui/feeds/ChanMsgItem.cpp @@ -28,8 +28,6 @@ #include "SubFileItem.h" #include "gui/notifyqt.h" #include "util/misc.h" -#include "gui/MainWindow.h" -#include "gui/ChannelFeed.h" #include "gui/RetroShareLink.h" #include @@ -56,7 +54,6 @@ ChanMsgItem::ChanMsgItem(FeedHolder *parent, uint32_t feedId, std::string chanId /* general ones */ connect( expandButton, SIGNAL( clicked( void ) ), this, SLOT( toggle ( void ) ) ); connect( clearButton, SIGNAL( clicked( void ) ), this, SLOT( removeItem ( void ) ) ); - connect( gotoButton, SIGNAL( clicked( void ) ), this, SLOT( gotoHome ( void ) ) ); /* specific */ connect( unsubscribeButton, SIGNAL( clicked( void ) ), this, SLOT( unsubscribeChannel ( void ) ) ); @@ -106,10 +103,12 @@ void ChanMsgItem::updateItemStatic() if (!mIsHome) { - title = "Channel Feed: "; - title += QString::fromStdWString(ci.channelName); + title = tr("Channel Feed") + ": "; + RetroShareLink link(RetroShareLink::TYPE_CHANNEL, QString::fromStdWString(ci.channelName), QString::fromStdString(ci.channelId), ""); + title += link.toHtml(); titleLabel->setText(title); - subjectLabel->setText(QString::fromStdWString(cmi.subject)); + RetroShareLink msgLink(RetroShareLink::TYPE_CHANNEL, QString::fromStdWString(cmi.subject), QString::fromStdString(cmi.channelId), QString::fromStdString(cmi.msgId)); + subjectLabel->setText(msgLink.toHtml()); if ((ci.channelFlags & RS_DISTRIB_SUBSCRIBED) || (ci.channelFlags & RS_DISTRIB_ADMIN)) { unsubscribeButton->setEnabled(true); @@ -118,7 +117,6 @@ void ChanMsgItem::updateItemStatic() } readButton->hide(); newLabel->hide(); - gotoButton->show(); copyLinkButton->hide(); } else @@ -132,7 +130,6 @@ void ChanMsgItem::updateItemStatic() unsubscribeButton->setEnabled(false); clearButton->hide(); unsubscribeButton->hide(); - gotoButton->hide(); copyLinkButton->show(); if ((ci.channelFlags & RS_DISTRIB_SUBSCRIBED) || (ci.channelFlags & RS_DISTRIB_ADMIN)) { @@ -334,21 +331,6 @@ void ChanMsgItem::removeItem() } } - -void ChanMsgItem::gotoHome() -{ -#ifdef DEBUG_ITEM - std::cerr << "ChanMsgItem::gotoHome()"; - std::cerr << std::endl; -#endif - - MainWindow::showWindow(MainWindow::Channels); - ChannelFeed *channelFeed = dynamic_cast(MainWindow::getPage(MainWindow::Channels)); - if (channelFeed) { - channelFeed->navigate(mChanId, mMsgId); - } -} - /*********** SPECIFIC FUNCTIONS ***********************/ void ChanMsgItem::unsubscribeChannel() @@ -419,9 +401,9 @@ void ChanMsgItem::copyLink() return; } - ChannelInfo ci; - if (rsChannels->getChannelInfo(mChanId, ci)) { - RetroShareLink link(RetroShareLink::TYPE_CHANNEL, QString::fromStdWString(ci.channelName), QString::fromStdString(ci.channelId), QString::fromStdString(mMsgId)); + ChannelMsgInfo cmi; + if (rsChannels->getChannelMessage(mChanId, mMsgId, cmi)) { + RetroShareLink link(RetroShareLink::TYPE_CHANNEL, QString::fromStdWString(cmi.subject), QString::fromStdString(cmi.channelId), QString::fromStdString(cmi.msgId)); if (link.valid() && link.type() == RetroShareLink::TYPE_CHANNEL) { std::vector urls; urls.push_back(link); diff --git a/retroshare-gui/src/gui/feeds/ChanMsgItem.h b/retroshare-gui/src/gui/feeds/ChanMsgItem.h index 33fe81aab..67ade9512 100644 --- a/retroshare-gui/src/gui/feeds/ChanMsgItem.h +++ b/retroshare-gui/src/gui/feeds/ChanMsgItem.h @@ -44,7 +44,6 @@ public: private slots: /* default stuff */ - void gotoHome(); void removeItem(); void toggle(); diff --git a/retroshare-gui/src/gui/feeds/ChanMsgItem.ui b/retroshare-gui/src/gui/feeds/ChanMsgItem.ui index c648a4437..956b6d172 100644 --- a/retroshare-gui/src/gui/feeds/ChanMsgItem.ui +++ b/retroshare-gui/src/gui/feeds/ChanMsgItem.ui @@ -6,7 +6,7 @@ 0 0 - 583 + 546 208 @@ -150,9 +150,12 @@ p, li { white-space: pre-wrap; } false + + true + - + @@ -170,7 +173,7 @@ p, li { white-space: pre-wrap; } - + @@ -185,7 +188,7 @@ p, li { white-space: pre-wrap; } - + @@ -209,6 +212,9 @@ p, li { white-space: pre-wrap; } true + + true + @@ -319,14 +325,14 @@ border-radius: 3px} - + TextLabel - + @@ -352,7 +358,7 @@ border-radius: 3px} - + @@ -378,7 +384,7 @@ border-radius: 3px} - + @@ -408,32 +414,6 @@ border-radius: 3px} - - - - 0 - 0 - - - - - 24 - 16777215 - - - - Go to Channel Message - - - - - - - :/images/find-16.png:/images/find-16.png - - - - diff --git a/retroshare-gui/src/gui/feeds/ChanNewItem.cpp b/retroshare-gui/src/gui/feeds/ChanNewItem.cpp index 2a59dfe28..22c3b08a4 100644 --- a/retroshare-gui/src/gui/feeds/ChanNewItem.cpp +++ b/retroshare-gui/src/gui/feeds/ChanNewItem.cpp @@ -21,8 +21,7 @@ #include "ChanNewItem.h" #include "FeedHolder.h" -#include "gui/MainWindow.h" -#include "gui/ChannelFeed.h" +#include "gui/RetroShareLink.h" #include @@ -45,7 +44,6 @@ ChanNewItem::ChanNewItem(FeedHolder *parent, uint32_t feedId, std::string chanId /* general ones */ connect( expandButton, SIGNAL( clicked( void ) ), this, SLOT( toggle ( void ) ) ); connect( clearButton, SIGNAL( clicked( void ) ), this, SLOT( removeItem ( void ) ) ); - connect( gotoButton, SIGNAL( clicked( void ) ), this, SLOT( gotoHome ( void ) ) ); /* specific ones */ connect( subscribeButton, SIGNAL( clicked( void ) ), this, SLOT( subscribeChannel ( void ) ) ); @@ -71,7 +69,8 @@ void ChanNewItem::updateItemStatic() ChannelInfo ci; if (rsChannels->getChannelInfo(mChanId, ci)) { - nameLabel->setText(QString::fromStdWString(ci.channelName)); + RetroShareLink link(RetroShareLink::TYPE_CHANNEL, QString::fromStdWString(ci.channelName), QString::fromStdString(ci.channelId), ""); + nameLabel->setText(link.toHtml()); descLabel->setText(QString::fromStdWString(ci.channelDesc)); @@ -101,25 +100,24 @@ void ChanNewItem::updateItemStatic() } else { - nameLabel->setText("Unknown Channel"); + nameLabel->setText(tr("Unknown Channel")); titleLabel->setText("Channel ???"); descLabel->setText(""); } if (mIsNew) { - titleLabel->setText("New Channel"); + titleLabel->setText(tr("New Channel")); } else { - titleLabel->setText("Updated Channel"); + titleLabel->setText(tr("Updated Channel")); } if (mIsHome) { /* disable buttons */ clearButton->setEnabled(false); - //gotoButton->setEnabled(false); } } @@ -171,20 +169,6 @@ void ChanNewItem::removeItem() } -void ChanNewItem::gotoHome() -{ -#ifdef DEBUG_ITEM - std::cerr << "ChanNewItem::gotoHome()"; - std::cerr << std::endl; -#endif - - MainWindow::showWindow(MainWindow::Channels); - ChannelFeed *channelFeed = dynamic_cast(MainWindow::getPage(MainWindow::Channels)); - if (channelFeed) { - channelFeed->navigate(mChanId, ""); - } -} - /*********** SPECIFIC FUNCTIOSN ***********************/ diff --git a/retroshare-gui/src/gui/feeds/ChanNewItem.h b/retroshare-gui/src/gui/feeds/ChanNewItem.h index cba349cc7..d373674fb 100644 --- a/retroshare-gui/src/gui/feeds/ChanNewItem.h +++ b/retroshare-gui/src/gui/feeds/ChanNewItem.h @@ -42,7 +42,6 @@ public: private slots: /* default stuff */ - void gotoHome(); void removeItem(); void toggle(); diff --git a/retroshare-gui/src/gui/feeds/ChanNewItem.ui b/retroshare-gui/src/gui/feeds/ChanNewItem.ui index 0d9b62c64..a8a11978b 100644 --- a/retroshare-gui/src/gui/feeds/ChanNewItem.ui +++ b/retroshare-gui/src/gui/feeds/ChanNewItem.ui @@ -75,6 +75,9 @@ border-radius: 2px;} Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + true + @@ -95,6 +98,9 @@ border-radius: 2px;} New Channel + + false + @@ -117,26 +123,6 @@ border-radius: 2px;} - - - - - 0 - 0 - - - - Go to Channel - - - - - - - :/images/find-16.png:/images/find-16.png - - - diff --git a/retroshare-gui/src/gui/feeds/ForumMsgItem.cpp b/retroshare-gui/src/gui/feeds/ForumMsgItem.cpp index 7ca90180a..83bf497dc 100644 --- a/retroshare-gui/src/gui/feeds/ForumMsgItem.cpp +++ b/retroshare-gui/src/gui/feeds/ForumMsgItem.cpp @@ -24,8 +24,7 @@ #include "ForumMsgItem.h" #include "FeedHolder.h" -#include "gui/MainWindow.h" -#include "gui/ForumsDialog.h" +#include "gui/RetroShareLink.h" #include #include @@ -54,7 +53,6 @@ ForumMsgItem::ForumMsgItem(FeedHolder *parent, uint32_t feedId, const std::strin /* general ones */ connect( expandButton, SIGNAL( clicked( void ) ), this, SLOT( toggle ( void ) ) ); connect( clearButton, SIGNAL( clicked( void ) ), this, SLOT( removeItem ( void ) ) ); - connect( gotoButton, SIGNAL( clicked( void ) ), this, SLOT( gotoHome ( void ) ) ); /* specific ones */ connect( unsubscribeButton, SIGNAL( clicked( void ) ), this, SLOT( unsubscribeForum ( void ) ) ); @@ -88,8 +86,9 @@ void ForumMsgItem::updateItemStatic() ForumInfo fi; if (rsForums->getForumInfo(mForumId, fi)) { + RetroShareLink link(RetroShareLink::TYPE_FORUM, QString::fromStdWString(fi.forumName), QString::fromStdString(fi.forumId), ""); QString title = tr("Forum Post") + ": "; - title += QString::fromStdWString(fi.forumName); + title += link.toHtml(); titleLabel->setText(title); if (fi.subscribeFlags & (RS_DISTRIB_ADMIN | RS_DISTRIB_SUBSCRIBED)) @@ -135,6 +134,8 @@ void ForumMsgItem::updateItemStatic() mIsTop = true; } + RetroShareLink link(RetroShareLink::TYPE_FORUM, QString::fromStdWString(msg.title), QString::fromStdString(msg.forumId), QString::fromStdString(msg.msgId)); + if (mIsTop) { mGpgIdPrev = msg.srcId; @@ -148,7 +149,7 @@ void ForumMsgItem::updateItemStatic() namelabel->setText(tr("Anonymous")); } - prevSubLabel->setText(QString::fromStdWString(msg.title)); + prevSubLabel->setText(link.toHtml()); prevMsgLabel->setText(RsHtml::formatText(QString::fromStdWString(msg.msg), RSHTML_FORMATTEXT_EMBED_SMILEYS | RSHTML_FORMATTEXT_EMBED_LINKS)); QDateTime qtime; @@ -171,7 +172,7 @@ void ForumMsgItem::updateItemStatic() nextnamelabel->setText(tr("Anonymous")); } - nextSubLabel->setText(QString::fromStdWString(msg.title)); + nextSubLabel->setText(link.toHtml()); nextMsgLabel->setText(RsHtml::formatText(QString::fromStdWString(msg.msg), RSHTML_FORMATTEXT_EMBED_SMILEYS | RSHTML_FORMATTEXT_EMBED_LINKS)); QDateTime qtime; @@ -186,7 +187,8 @@ void ForumMsgItem::updateItemStatic() { mGpgIdPrev = msgParent.srcId; - prevSubLabel->setText(QString::fromStdWString(msgParent.title)); + RetroShareLink linkParent(RetroShareLink::TYPE_FORUM, QString::fromStdWString(msgParent.title), QString::fromStdString(msgParent.forumId), QString::fromStdString(msgParent.msgId)); + prevSubLabel->setText(linkParent.toHtml()); prevMsgLabel->setText(RsHtml::formatText(QString::fromStdWString(msgParent.msg), RSHTML_FORMATTEXT_EMBED_SMILEYS | RSHTML_FORMATTEXT_EMBED_LINKS)); if (rsPeers->getPeerName(msgParent.srcId) !="") @@ -208,7 +210,6 @@ void ForumMsgItem::updateItemStatic() /* header stuff */ subjectLabel->setText(QString::fromStdWString(msg.title)); srcLabel->setText(QString::fromStdString(msg.srcId)); - } if (mIsHome) @@ -285,21 +286,6 @@ void ForumMsgItem::removeItem() } } - -void ForumMsgItem::gotoHome() -{ -#ifdef DEBUG_ITEM - std::cerr << "ForumMsgItem::gotoHome()"; - std::cerr << std::endl; -#endif - - MainWindow::showWindow(MainWindow::Forums); - ForumsDialog *forumsDialog = dynamic_cast(MainWindow::getPage(MainWindow::Forums)); - if (forumsDialog) { - forumsDialog->navigate(mForumId, mPostId); - } -} - /*********** SPECIFIC FUNCTIOSN ***********************/ diff --git a/retroshare-gui/src/gui/feeds/ForumMsgItem.h b/retroshare-gui/src/gui/feeds/ForumMsgItem.h index 3de41148d..4a93a2a5c 100644 --- a/retroshare-gui/src/gui/feeds/ForumMsgItem.h +++ b/retroshare-gui/src/gui/feeds/ForumMsgItem.h @@ -42,7 +42,6 @@ public: private slots: /* default stuff */ - void gotoHome(); void removeItem(); void toggle(); diff --git a/retroshare-gui/src/gui/feeds/ForumMsgItem.ui b/retroshare-gui/src/gui/feeds/ForumMsgItem.ui index a999072a0..d655fe736 100644 --- a/retroshare-gui/src/gui/feeds/ForumMsgItem.ui +++ b/retroshare-gui/src/gui/feeds/ForumMsgItem.ui @@ -64,7 +64,7 @@ border-radius: 10px} - :/images/konversation.png + :/images/konversation.png Qt::AlignCenter @@ -93,6 +93,9 @@ border-radius: 10px} Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + true + @@ -144,7 +147,7 @@ border-radius: 10px} - + :/images/edit_add24.png:/images/edit_add24.png @@ -164,7 +167,7 @@ border-radius: 10px} - + :/images/close_normal.png:/images/close_normal.png @@ -204,6 +207,9 @@ border-radius: 10px} Subject... + + true + @@ -245,26 +251,6 @@ border-radius: 10px} - - - - - 0 - 0 - - - - Go to Forum Message - - - - - - - :/images/find-16.png:/images/find-16.png - - - @@ -280,7 +266,7 @@ border-radius: 10px} - + :/images/mail_delete.png:/images/mail_delete.png @@ -316,7 +302,7 @@ border-radius: 10px} - + :/images/replymail24.png:/images/replymail24.png @@ -406,6 +392,9 @@ border-radius: 10px} Message is about ??? + + true + @@ -567,6 +556,9 @@ border-radius: 10px} Message is about ??? + + true + @@ -659,8 +651,6 @@ border-radius: 10px} - - - + diff --git a/retroshare-gui/src/gui/feeds/ForumNewItem.cpp b/retroshare-gui/src/gui/feeds/ForumNewItem.cpp index af17866bd..08a861ff0 100644 --- a/retroshare-gui/src/gui/feeds/ForumNewItem.cpp +++ b/retroshare-gui/src/gui/feeds/ForumNewItem.cpp @@ -21,11 +21,10 @@ #include "ForumNewItem.h" #include "FeedHolder.h" -#include "gui/MainWindow.h" -#include "gui/ForumsDialog.h" #include #include "gui/forums/CreateForumMsg.h" +#include "gui/RetroShareLink.h" /**** * #define DEBUG_ITEM 1 @@ -44,7 +43,6 @@ ForumNewItem::ForumNewItem(FeedHolder *parent, uint32_t feedId, std::string foru /* general ones */ connect( expandButton, SIGNAL( clicked( void ) ), this, SLOT( toggle ( void ) ) ); connect( clearButton, SIGNAL( clicked( void ) ), this, SLOT( removeItem ( void ) ) ); - connect( gotoButton, SIGNAL( clicked( void ) ), this, SLOT( gotoHome ( void ) ) ); /* specific ones */ connect( subscribeButton, SIGNAL( clicked( void ) ), this, SLOT( subscribeForum ( void ) ) ); @@ -72,7 +70,8 @@ void ForumNewItem::updateItemStatic() ForumInfo fi; if (rsForums->getForumInfo(mForumId, fi)) { - nameLabel->setText(QString::fromStdWString(fi.forumName)); + RetroShareLink link(RetroShareLink::TYPE_FORUM, QString::fromStdWString(fi.forumName), QString::fromStdString(fi.forumId), ""); + nameLabel->setText(link.toHtml()); descLabel->setText(QString::fromStdWString(fi.forumDesc)); @@ -86,7 +85,6 @@ void ForumNewItem::updateItemStatic() subscribeButton->setEnabled(true); postButton->setEnabled(false); } - /* should also check the other flags */ } @@ -110,7 +108,6 @@ void ForumNewItem::updateItemStatic() { /* disable buttons */ clearButton->setEnabled(false); - //gotoButton->setEnabled(false); } } @@ -162,20 +159,6 @@ void ForumNewItem::removeItem() } -void ForumNewItem::gotoHome() -{ -#ifdef DEBUG_ITEM - std::cerr << "ForumNewItem::gotoHome()"; - std::cerr << std::endl; -#endif - - MainWindow::showWindow(MainWindow::Forums); - ForumsDialog *forumsDialog = dynamic_cast(MainWindow::getPage(MainWindow::Forums)); - if (forumsDialog) { - forumsDialog->navigate(mForumId, ""); - } -} - /*********** SPECIFIC FUNCTIOSN ***********************/ diff --git a/retroshare-gui/src/gui/feeds/ForumNewItem.h b/retroshare-gui/src/gui/feeds/ForumNewItem.h index ee55c1bd8..58743af91 100644 --- a/retroshare-gui/src/gui/feeds/ForumNewItem.h +++ b/retroshare-gui/src/gui/feeds/ForumNewItem.h @@ -42,7 +42,6 @@ public: private slots: /* default stuff */ - void gotoHome(); void removeItem(); void toggle(); diff --git a/retroshare-gui/src/gui/feeds/ForumNewItem.ui b/retroshare-gui/src/gui/feeds/ForumNewItem.ui index 824c60d63..01416a52d 100644 --- a/retroshare-gui/src/gui/feeds/ForumNewItem.ui +++ b/retroshare-gui/src/gui/feeds/ForumNewItem.ui @@ -55,7 +55,7 @@ border-radius: 10px} - :/images/konversation.png + :/images/konversation.png @@ -106,6 +106,9 @@ border-radius: 10px} name + + true + @@ -124,26 +127,6 @@ border-radius: 10px} - - - - - 0 - 0 - - - - Go to Forum - - - - - - - :/images/find-16.png:/images/find-16.png - - - @@ -159,7 +142,7 @@ border-radius: 10px} - + :/images/directoryadd_24x24_shadow.png:/images/directoryadd_24x24_shadow.png @@ -170,7 +153,7 @@ border-radius: 10px} - + :/images/mail_new.png:/images/mail_new.png @@ -206,7 +189,7 @@ border-radius: 10px} - + :/images/edit_add24.png:/images/edit_add24.png @@ -229,7 +212,7 @@ border-radius: 10px} - + :/images/close_normal.png:/images/close_normal.png @@ -266,7 +249,7 @@ border-radius: 10px} - :/images/contacts24.png + :/images/contacts24.png @@ -311,8 +294,6 @@ border-radius: 10px} - - - + diff --git a/retroshare-gui/src/lang/retroshare_de.qm b/retroshare-gui/src/lang/retroshare_de.qm index 0baa7ca3247b4942fcddca056796170738729ccb..9fa9b3e9ecedab99290657a71d6d6d7116054a27 100644 GIT binary patch delta 16825 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�dD?UTny`Kr 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 ChanMsgItem - + Remove Item Eintrag entfernen - + Expand Erweitern @@ -897,17 +897,21 @@ p, li { white-space: pre-wrap; } Kanal abbestellen - Go to Channel Message - Gehe zum Kanalbeitrag + Gehe zum Kanalbeitrag - + Copy RetroShare Link Kopiere RetroShare Link - + + Channel Feed + Kanal + + + Warning! You have less than %1 hours and %2 minute before this file is delted Consider saving it. @@ -920,7 +924,7 @@ p, li { white-space: pre-wrap; } ChanNewItem - + Remove Item Eintrag entfernen @@ -930,12 +934,26 @@ p, li { white-space: pre-wrap; } Kanal abonnieren - Go to Channel - Gehe zum Kanal + Gehe zum Kanal - + + Unknown Channel + Unbekannter Kanal + + + + New Channel + Neuer Kanal + + + + Updated Channel + Geänderter Kanal + + + Expand Erweitern @@ -1045,7 +1063,7 @@ p, li { white-space: pre-wrap; } Alle als gelesen markieren - + Enable Auto-download Aktiviere Auto-Download @@ -1055,7 +1073,7 @@ p, li { white-space: pre-wrap; } Kanal erstellen - + Unsubscribe Abbestellen @@ -3533,7 +3551,7 @@ p, li { white-space: pre-wrap; } ForumMsgItem - + Remove Item Eintrag entfernen @@ -3544,18 +3562,17 @@ p, li { white-space: pre-wrap; } - - + + Subject: Betreff: - Go to Forum Message - Gehe zum Forumbeitrag + Gehe zum Forumbeitrag - + Unsubscribe To Forum Forum abbestellen @@ -3565,7 +3582,7 @@ p, li { white-space: pre-wrap; } Antwort - + Send Senden @@ -3575,7 +3592,7 @@ p, li { white-space: pre-wrap; } Unterzeichnen - + Forum Post Beitrag @@ -3585,19 +3602,19 @@ p, li { white-space: pre-wrap; } Unbekannter Forumbeitrag - + - + Anonymous Anonym - + In Reply to Als Antwort auf - + Please give a Text Message Bitte Nachricht eingeben @@ -3610,7 +3627,7 @@ p, li { white-space: pre-wrap; } Formular - + Remove Item Eintrag entfernen @@ -3620,12 +3637,11 @@ p, li { white-space: pre-wrap; } Forum abonnieren - Go to Forum - Gehe zum Forum + Gehe zum Forum - + Expand Erweitern @@ -3656,7 +3672,7 @@ p, li { white-space: pre-wrap; } ForumsDialog - + Subscribe to Forum Forum abonnieren @@ -3722,7 +3738,7 @@ p, li { white-space: pre-wrap; } Alle reduzieren - + Hide Verbergen @@ -3771,7 +3787,7 @@ p, li { white-space: pre-wrap; } Du kannst einem anonymen Autor nicht antworten - + Your Forums Deine Foren @@ -3913,8 +3929,8 @@ p, li { white-space: pre-wrap; } Druckvorschau - - + + Start New Thread Erstelle neues Thema @@ -3942,7 +3958,7 @@ p, li { white-space: pre-wrap; } Inhalt - + Mark as read Als gelesen markieren @@ -5297,7 +5313,7 @@ p, li { white-space: pre-wrap; } MainWindow - + Network Netzwerk @@ -5308,29 +5324,29 @@ p, li { white-space: pre-wrap; } - + Transfers Übertragungen - - + + Messages Nachrichten - - + + Channels Kanäle - + Blogs Blogs - + Chat Chat @@ -5338,20 +5354,20 @@ p, li { white-space: pre-wrap; } - + %1 new messages %1 neue Nachrichten - + - + %1 new message %1 neue Nachricht - + You have %1 completed downloads Du hast %1 fertige Downloads @@ -5386,7 +5402,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. @@ -5396,23 +5412,23 @@ p, li { white-space: pre-wrap; } Link ist fehlerhaft. - + %1 friend connected %1 Freund verbunden - + Internal Error Interener Fehler - + Options Optionen - + Hide Verbergen @@ -5422,7 +5438,7 @@ p, li { white-space: pre-wrap; } Zeigen - + RetroShare @@ -5453,7 +5469,7 @@ p, li { white-space: pre-wrap; } Schnellstart Assistent - + Search Suchen @@ -5468,7 +5484,7 @@ p, li { white-space: pre-wrap; } Messenger - + Show/Hide Anzeigen/Verbergen @@ -5481,25 +5497,25 @@ p, li { white-space: pre-wrap; } - + You have %1 new messages Du hast %1 neue Nachrichten - + - + You have %1 new message Du hast %1 neue Nachricht - + Bandwidth Graph Bandbreiten-Graph - + Open Messenger Öffne Messenger @@ -5509,7 +5525,7 @@ p, li { white-space: pre-wrap; } Schliessen - + Minimize Minimieren @@ -5519,7 +5535,7 @@ p, li { white-space: pre-wrap; } Maximieren - + Links Cloud Verknüpfungs-Wolke @@ -5534,7 +5550,7 @@ p, li { white-space: pre-wrap; } - + Help Hilfe @@ -5544,33 +5560,33 @@ 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 - + Applications Anwendungen - + Plugins - + Do you really want to exit RetroShare ? Willst Du RetroShare wirklich beenden? @@ -5580,7 +5596,7 @@ p, li { white-space: pre-wrap; } Wirklich beenden? - + Low disk space warning Wenig Festplatenspeicher @@ -6173,7 +6189,7 @@ Willst Du die Nachricht speichern ? MessagesDialog - + New Message Neue Nachricht @@ -6189,14 +6205,14 @@ Willst Du die Nachricht speichern ? - + Date Datum - + From Von @@ -6369,7 +6385,7 @@ p, li { white-space: pre-wrap; } - + Subject Betreff @@ -6409,7 +6425,7 @@ p, li { white-space: pre-wrap; } Gewählte Nachricht weiterleiten - + Remove Messages Löschen @@ -6454,8 +6470,8 @@ p, li { white-space: pre-wrap; } HTML-Dateien (*.htm *.html);;Alle Dateien (*) - - + + Reply to All Allen antworten @@ -6474,7 +6490,7 @@ p, li { white-space: pre-wrap; } - + Content Inhalt @@ -6482,7 +6498,7 @@ p, li { white-space: pre-wrap; } - + Tags Schlagwörter @@ -8942,7 +8958,7 @@ Lockdatei: Vielleicht ist das Passwort falsch - + File Request Confirmation Bestätigung der Dateianforderung