This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository x2goclient. commit ae7a2971c567cfde0cdc1162e9823ac5bff7e8b1 Author: Mihai Moldovan <ionic@ionic.de> Date: Tue Jul 28 01:00:03 2015 +0200 sessionmanagedialog.cpp: enable some debugging and make selected sessions configureable or deletable. Fixes: #909. --- debian/changelog | 2 ++ src/sessionmanagedialog.cpp | 31 ++++++++++++++++++++++++++----- src/sessionmanagedialog.h | 3 ++- 3 files changed, 30 insertions(+), 6 deletions(-) diff --git a/debian/changelog b/debian/changelog index ab4dad7..fdb1052 100644 --- a/debian/changelog +++ b/debian/changelog @@ -72,6 +72,8 @@ x2goclient (4.0.4.1-0x2go1) UNRELEASED; urgency=low - onmainwindow.cpp: rename "optionsmd" setting to "optionswholedisplay", which is more clear. - xsettingswidget.cpp: fix compile error: settings -> setting. + - sessionmanagedialog.cpp: enable some debugging and make selected + sessions configureable or deletable. Fixes: #909. [ Mike Gabriel ] * debian/control: diff --git a/src/sessionmanagedialog.cpp b/src/sessionmanagedialog.cpp index 59423fa..5ec0331 100644 --- a/src/sessionmanagedialog.cpp +++ b/src/sessionmanagedialog.cpp @@ -18,6 +18,7 @@ #include "x2goclientconfig.h" #include "sessionmanagedialog.h" #include "onmainwindow.h" +#include "x2gologdebug.h" #include <QPushButton> #include <QDir> @@ -119,10 +120,16 @@ SessionManageDialog::SessionManageDialog ( QWidget * parent, setWindowTitle ( tr ( "Session management" ) ); loadSessions(); - connect ( sessions, SIGNAL(itemActivated(QTreeWidgetItem*,int)), - this,SLOT(slot_activated(QTreeWidgetItem*,int)) ); - connect ( sessions,SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)), - this,SLOT(slot_dclicked(QTreeWidgetItem*,int)) ); + connect (sessions, SIGNAL (itemPressed (QTreeWidgetItem *, int)), + this, SLOT (slot_endisable (QTreeWidgetItem *, int))); + connect (sessions, SIGNAL (itemActivated (QTreeWidgetItem *, int)), + this, SLOT (slot_endisable (QTreeWidgetItem *, int))); + connect (sessions, SIGNAL (itemChanged (QTreeWidgetItem *, int)), + this, SLOT (slot_endisable (QTreeWidgetItem *, int))); + connect (sessions, SIGNAL (currentItemChanged (QTreeWidgetItem *, QTreeWidgetItem *)), + this, SLOT (slot_endisable_ItemChanged_wrapper (QTreeWidgetItem *, QTreeWidgetItem *))); + connect (sessions,SIGNAL (itemDoubleClicked (QTreeWidgetItem *, int)), + this, SLOT (slot_dclicked (QTreeWidgetItem *, int))); } @@ -191,13 +198,19 @@ void SessionManageDialog::initFolders(QTreeWidgetItem* parent, QString path) } -void SessionManageDialog::slot_activated ( QTreeWidgetItem* item, int ) +void SessionManageDialog::slot_endisable ( QTreeWidgetItem* item, int col) { + Q_UNUSED (col); + bool isSess=item->data(0, SESSIONROLE).toBool(); + x2goDebug << "slot_endisable: isSess: " << isSess; + if(!isSess) { currentPath=item->data(0,Qt::UserRole).toString().split("/",QString::SkipEmptyParts).join("/"); + x2goDebug << "slot_endisable: no session, currentPath(?): " << currentPath; } + removeSession->setEnabled ( isSess ); editSession->setEnabled ( isSess ); #if (!defined Q_WS_HILDON) && (!defined Q_OS_DARWIN) @@ -206,6 +219,14 @@ void SessionManageDialog::slot_activated ( QTreeWidgetItem* item, int ) #endif } +void SessionManageDialog::slot_endisable_ItemChanged_wrapper (QTreeWidgetItem *item, QTreeWidgetItem *) { + /* + * The int parameter of slot_endisable is unused anyway, + * just use the default value in this special case. + */ + slot_endisable (item); +} + void SessionManageDialog::slot_dclicked ( QTreeWidgetItem* item, int ) { if(item->data(0, SESSIONROLE).toBool()) diff --git a/src/sessionmanagedialog.h b/src/sessionmanagedialog.h index 1908a1a..84f2992 100644 --- a/src/sessionmanagedialog.h +++ b/src/sessionmanagedialog.h @@ -48,7 +48,8 @@ private: ONMainWindow* par; QString currentPath; private slots: - void slot_activated ( QTreeWidgetItem * item, int); + void slot_endisable (QTreeWidgetItem *item, int col = -1); + void slot_endisable_ItemChanged_wrapper (QTreeWidgetItem *item, QTreeWidgetItem *); void slotNew(); void slot_edit(); void slot_createSessionIcon(); -- Alioth's /srv/git/code.x2go.org/x2goclient.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git