diff --git a/retroshare-gui/src/gui/PeersDialog.cpp b/retroshare-gui/src/gui/PeersDialog.cpp index a943a4bbb..3345e8cdc 100644 --- a/retroshare-gui/src/gui/PeersDialog.cpp +++ b/retroshare-gui/src/gui/PeersDialog.cpp @@ -141,7 +141,8 @@ PeersDialog::PeersDialog(QWidget *parent) connect( ui.addfileButton, SIGNAL(clicked() ), this , SLOT(addExtraFile())); connect( ui.msgText, SIGNAL(anchorClicked(const QUrl &)), SLOT(anchorClicked(const QUrl &))); - connect(ui.hide_unconnected, SIGNAL(clicked()), this, SLOT(insertPeers())); + connect(ui.action_Hide_Offline_Friends, SIGNAL(triggered()), this, SLOT(insertPeers())); + connect(ui.action_Hide_Status_Column, SIGNAL(triggered()), this, SLOT(statusColumn())); ui.peertabWidget->setTabPosition(QTabWidget::North); ui.peertabWidget->addTab(new ProfileWidget(),QString(tr("Profile"))); @@ -233,6 +234,7 @@ PeersDialog::PeersDialog(QWidget *parent) updateAvatar(); loadmypersonalstatus(); loadEmoticonsgroupchat(); + displayMenu(); // load settings processSettings(true); @@ -269,7 +271,10 @@ void PeersDialog::processSettings(bool bLoad) header->restoreState(Settings->value("PeerTree").toByteArray()); // state of hideUnconnected - ui.hide_unconnected->setChecked(Settings->value("hideUnconnected", false).toBool()); + ui.action_Hide_Offline_Friends->setChecked(Settings->value("hideUnconnected", false).toBool()); + + // state of hideStatusColumn + ui.action_Hide_Status_Column->setChecked(Settings->value("hideStatusColumn", false).toBool()); // state of splitter ui.splitter->restoreState(Settings->value("Splitter").toByteArray()); @@ -280,7 +285,10 @@ void PeersDialog::processSettings(bool bLoad) Settings->setValue("PeerTree", header->saveState()); // state of hideUnconnected - Settings->setValue("hideUnconnected", ui.hide_unconnected->isChecked()); + Settings->setValue("hideUnconnected", ui.action_Hide_Offline_Friends->isChecked()); + + // state of hideStatusColumn + Settings->setValue("hideStatusColumn", ui.action_Hide_Status_Column->isChecked()); // state of splitter Settings->setValue("Splitter", ui.splitter->saveState()); @@ -439,7 +447,7 @@ void PeersDialog::insertPeers() return; } - bool bHideUnconnected = ui.hide_unconnected->isChecked(); + bool bHideUnconnected = ui.action_Hide_Offline_Friends->isChecked(); rsPeers->getGPGAcceptedList(gpgFriends); @@ -1803,3 +1811,31 @@ void PeersDialog::playsound(){ if(QSound::isAvailable()) QSound::play(OnlineSound); } + +void PeersDialog::displayMenu() +{ + QMenu *displaymenu = new QMenu(); + + displaymenu->addAction(ui.action_Hide_Offline_Friends); + displaymenu->addAction(ui.action_Hide_Status_Column); + + ui.displayButton->setMenu(displaymenu); +} + +void PeersDialog::statusColumn() +{ + /* Set header resize modes and initial section sizes */ + QHeaderView * peerheader = ui.peertreeWidget->header(); + + if(ui.action_Hide_Status_Column->isChecked()) + { + ui.peertreeWidget->setColumnHidden ( 1, true); + peerheader->resizeSection ( 0, 200 ); + } + else + { + ui.peertreeWidget->setColumnHidden ( 1, false); + peerheader->resizeSection ( 0, 200 ); + } + +} diff --git a/retroshare-gui/src/gui/PeersDialog.h b/retroshare-gui/src/gui/PeersDialog.h index 607e21f58..81374feb5 100644 --- a/retroshare-gui/src/gui/PeersDialog.h +++ b/retroshare-gui/src/gui/PeersDialog.h @@ -76,7 +76,7 @@ public slots: void setChatInfo(QString info, QColor color=QApplication::palette().color(QPalette::WindowText)); void resetStatusBar() ; - void fileHashingFinished(AttachFileItem* file); + void fileHashingFinished(AttachFileItem* file); void smileyWidgetgroupchat(); void addSmileys(); @@ -147,9 +147,13 @@ private slots: void addAttachment(std::string); bool fileSave(); - bool fileSaveAs(); + bool fileSaveAs(); void setCurrentFileName(const QString &fileName); + + void displayMenu(); + void statusColumn(); + signals: void friendsUpdated() ; diff --git a/retroshare-gui/src/gui/PeersDialog.ui b/retroshare-gui/src/gui/PeersDialog.ui index 507467e59..ac42615d3 100644 --- a/retroshare-gui/src/gui/PeersDialog.ui +++ b/retroshare-gui/src/gui/PeersDialog.ui @@ -606,12 +606,26 @@ p, li { white-space: pre-wrap; } - + - hide unconnected + <!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-size:8pt;">Display</span></p></body></html> - QPushButton:hover { + 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; } @@ -620,7 +634,7 @@ p, li { white-space: pre-wrap; } - :/images/user/identityoffline24.png:/images/user/identityoffline24.png + :/images/looknfeel.png:/images/looknfeel.png @@ -649,7 +663,7 @@ p, li { white-space: pre-wrap; } - 250 + 150 0 @@ -1426,6 +1440,22 @@ p, li { white-space: pre-wrap; } Save Chat History + + + true + + + Hide Offline Friends + + + + + true + + + Hide Status Column + +