The branch, master has been updated via 95f154232125bbd92fa573e67f40f7b56765971c (commit) from 7168e499fc8164dfe3c3acdb71eb18f6a33b3be2 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 95f154232125bbd92fa573e67f40f7b56765971c Author: Oleksandr Shneyder <o.shneyder@phoca-gmbh.de> Date: Wed Nov 14 15:00:47 2012 +0100 add class SessionStatusFrame ----------------------------------------------------------------------- Summary of changes: icons/32x32/tbright.png | Bin 0 -> 899 bytes profile.cpp | 5 + profile.ui | 283 ++++++------- profilesettingsform.cpp | 2 +- resources.qrc | 2 + sessionform.cpp | 41 +- sessionform.h | 17 +- sessionform.ui | 7 +- ...etailconfigurator.cpp => sessionstatusframe.cpp | 48 +-- searchbar.h => sessionstatusframe.h | 23 +- sessionstatusframe.ui | 426 ++++++++++++++++++++ svg/{messagebox.svg => frame.svg} | 54 +-- x2goclient2.pro | 3 + 13 files changed, 692 insertions(+), 219 deletions(-) create mode 100644 icons/32x32/tbright.png copy profiledetailconfigurator.cpp => sessionstatusframe.cpp (62%) copy searchbar.h => sessionstatusframe.h (78%) create mode 100644 sessionstatusframe.ui copy svg/{messagebox.svg => frame.svg} (66%) The diff of changes is: diff --git a/icons/32x32/tbright.png b/icons/32x32/tbright.png new file mode 100644 index 0000000..cf52524 Binary files /dev/null and b/icons/32x32/tbright.png differ diff --git a/profile.cpp b/profile.cpp index bc49225..0ea82ec 100644 --- a/profile.cpp +++ b/profile.cpp @@ -21,6 +21,7 @@ #include "profile.h" #include "profileform.h" #include "workarea.h" +#include "sessionform.h" #include "profilesettingsform.h" #include "x2goclientconfig.h" #include "x2goclientconfigdetail.h" @@ -195,6 +196,8 @@ void Profile::initWidget() { setupUi(this); setupRegularWidget(); + + lPicture->setStyleSheet("border-image: url(:svg/transparent.svg) ; \ border-top: 0px transparent; border-bottom: 0px transparent; \ border-right: 0px transparent; border-left: 0px transparent"); @@ -297,6 +300,8 @@ void Profile::slotProfileSelected(Profile* profile) setupSelectedWidget(); X2GoApplication::instance()->get_profileSettingsForm()->set_profile(this); X2GoApplication::instance()->get_profileSettingsForm()->updateProfile(); + X2GoApplication::instance()->get_sessionForm()->set_profile(this); + X2GoApplication::instance()->get_sessionForm()->updateProfile(); } else { diff --git a/profile.ui b/profile.ui index a5d89f7..700d80a 100644 --- a/profile.ui +++ b/profile.ui @@ -34,7 +34,7 @@ <property name="frameShadow"> <enum>QFrame::Raised</enum> </property> - <layout class="QHBoxLayout" name="horizontalLayout"> + <layout class="QHBoxLayout" name="horizontalLayout_2"> <property name="spacing"> <number>2</number> </property> @@ -275,144 +275,151 @@ </spacer> </item> <item> - <widget class="QPushButton" name="pbSettings"> - <property name="minimumSize"> - <size> - <width>26</width> - <height>31</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>26</width> - <height>31</height> - </size> - </property> - <property name="focusPolicy"> - <enum>Qt::NoFocus</enum> - </property> - <property name="styleSheet"> - <string notr="true">border-image:url(:/svg/transparent.svg)</string> - </property> - <property name="text"> - <string/> - </property> - <property name="icon"> - <iconset resource="resources.qrc"> - <normaloff>:/svg/profilebuttonsettings.svg</normaloff>:/svg/profilebuttonsettings.svg</iconset> - </property> - <property name="iconSize"> - <size> - <width>26</width> - <height>31</height> - </size> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="pushButton_2"> - <property name="minimumSize"> - <size> - <width>26</width> - <height>31</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>26</width> - <height>31</height> - </size> - </property> - <property name="focusPolicy"> - <enum>Qt::NoFocus</enum> - </property> - <property name="styleSheet"> - <string notr="true">border-image:url(:/svg/transparent.svg)</string> - </property> - <property name="text"> - <string/> - </property> - <property name="icon"> - <iconset resource="resources.qrc"> - <normaloff>:/svg/profilebuttonstop.svg</normaloff>:/svg/profilebuttonstop.svg</iconset> - </property> - <property name="iconSize"> - <size> - <width>26</width> - <height>31</height> - </size> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="pushButton_3"> - <property name="minimumSize"> - <size> - <width>26</width> - <height>31</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>26</width> - <height>31</height> - </size> - </property> - <property name="focusPolicy"> - <enum>Qt::NoFocus</enum> - </property> - <property name="styleSheet"> - <string notr="true">border-image:url(:/svg/transparent.svg)</string> - </property> - <property name="text"> - <string/> - </property> - <property name="icon"> - <iconset resource="resources.qrc"> - <normaloff>:/svg/profilebuttonstart.svg</normaloff>:/svg/profilebuttonstart.svg</iconset> - </property> - <property name="iconSize"> - <size> - <width>26</width> - <height>31</height> - </size> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="pushButton_4"> - <property name="minimumSize"> - <size> - <width>26</width> - <height>31</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>26</width> - <height>31</height> - </size> - </property> - <property name="focusPolicy"> - <enum>Qt::NoFocus</enum> - </property> - <property name="styleSheet"> - <string notr="true">border-image:url(:/svg/transparent.svg)</string> - </property> - <property name="text"> - <string/> - </property> - <property name="icon"> - <iconset resource="resources.qrc"> - <normaloff>:/svg/profilebuttonpause.svg</normaloff>:/svg/profilebuttonpause.svg</iconset> + <layout class="QHBoxLayout" name="horizontalLayout"> + <property name="spacing"> + <number>1</number> </property> - <property name="iconSize"> - <size> - <width>26</width> - <height>31</height> - </size> - </property> - </widget> + <item> + <widget class="QPushButton" name="pbSettings"> + <property name="minimumSize"> + <size> + <width>26</width> + <height>31</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>26</width> + <height>31</height> + </size> + </property> + <property name="focusPolicy"> + <enum>Qt::NoFocus</enum> + </property> + <property name="styleSheet"> + <string notr="true">border-image:url(:/svg/transparent.svg)</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="resources.qrc"> + <normaloff>:/svg/profilebuttonsettings.svg</normaloff>:/svg/profilebuttonsettings.svg</iconset> + </property> + <property name="iconSize"> + <size> + <width>26</width> + <height>31</height> + </size> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="pbTerminate"> + <property name="minimumSize"> + <size> + <width>26</width> + <height>31</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>26</width> + <height>31</height> + </size> + </property> + <property name="focusPolicy"> + <enum>Qt::NoFocus</enum> + </property> + <property name="styleSheet"> + <string notr="true">border-image:url(:/svg/transparent.svg)</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="resources.qrc"> + <normaloff>:/svg/profilebuttonstop.svg</normaloff>:/svg/profilebuttonstop.svg</iconset> + </property> + <property name="iconSize"> + <size> + <width>26</width> + <height>31</height> + </size> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="pbStart"> + <property name="minimumSize"> + <size> + <width>26</width> + <height>31</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>26</width> + <height>31</height> + </size> + </property> + <property name="focusPolicy"> + <enum>Qt::NoFocus</enum> + </property> + <property name="styleSheet"> + <string notr="true">border-image:url(:/svg/transparent.svg)</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="resources.qrc"> + <normaloff>:/svg/profilebuttonstart.svg</normaloff>:/svg/profilebuttonstart.svg</iconset> + </property> + <property name="iconSize"> + <size> + <width>26</width> + <height>31</height> + </size> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="pbSuspend"> + <property name="minimumSize"> + <size> + <width>26</width> + <height>31</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>26</width> + <height>31</height> + </size> + </property> + <property name="focusPolicy"> + <enum>Qt::NoFocus</enum> + </property> + <property name="styleSheet"> + <string notr="true">border-image:url(:/svg/transparent.svg)</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="resources.qrc"> + <normaloff>:/svg/profilebuttonpause.svg</normaloff>:/svg/profilebuttonpause.svg</iconset> + </property> + <property name="iconSize"> + <size> + <width>26</width> + <height>31</height> + </size> + </property> + </widget> + </item> + </layout> </item> <item> <widget class="QWidget" name="spacer" native="true"> diff --git a/profilesettingsform.cpp b/profilesettingsform.cpp index f832c75..83bead9 100644 --- a/profilesettingsform.cpp +++ b/profilesettingsform.cpp @@ -55,7 +55,7 @@ ProfileSettingsForm::ProfileSettingsForm(QWidget* parent, Qt::WindowFlags f): QW connect(lwConnection,SIGNAL(itemActivated(QListWidgetItem*)), this, SLOT(slotItemActivated(QListWidgetItem*))); connect(lwSettings,SIGNAL(itemActivated(QListWidgetItem*)), this, SLOT(slotItemActivated(QListWidgetItem*))); connect(lwFolders,SIGNAL(itemActivated(QListWidgetItem*)), this, SLOT(slotItemActivated(QListWidgetItem*))); - QAction* actionScrollToProfiles=new QAction(QIcon(":/icons/32x32/tbleft.png"),tr("Back"),this); + QAction* actionScrollToProfiles=new QAction(QIcon(":/icons/32x32/tbleft.png"),tr("Back to profiles"),this); toolBar->addSpacer(5); toolBar->addAction(actionScrollToProfiles); connect(actionScrollToProfiles, SIGNAL(triggered(bool)), X2GoApplication::instance()->get_workArea(), SLOT(slotScrollToProfileForm())); diff --git a/resources.qrc b/resources.qrc index 8e60907..18a300e 100644 --- a/resources.qrc +++ b/resources.qrc @@ -13,6 +13,7 @@ <file>svg/profilebuttonstart.svg</file> <file>svg/profilebuttonstop.svg</file> <file>svg/profilebuttonpause.svg</file> + <file>svg/frame.svg</file> <file>png/ico.png</file> <file>png/ico_mini.png</file> <file>png/sess_ico.png</file> @@ -46,6 +47,7 @@ <file>icons/32x32/tbhide.png</file> <file>icons/32x32/tbshow.png</file> <file>icons/32x32/tbleft.png</file> + <file>icons/32x32/tbright.png</file> <file>icons/32x32/attach.png</file> <file>icons/32x32/detach.png</file> <file>icons/32x32/suspend.png</file> diff --git a/sessionform.cpp b/sessionform.cpp index 5e2b672..3db5c57 100644 --- a/sessionform.cpp +++ b/sessionform.cpp @@ -20,13 +20,52 @@ #include "sessionform.h" +#include <QVBoxLayout> +#include <QHBoxLayout> +#include <QLabel> +#include "toolbar.h" +#include "x2goapplication.h" +#include "workarea.h" +#include "profile.h" +#include "sessionstatusframe.h" SessionForm::SessionForm(QWidget* parent, Qt::WindowFlags f): QFrame(parent, f) { setupUi(this); -// setFixedSize(1024,768); + statusFrame=new SessionStatusFrame(this); + statusFrame->show(); + toolBar=new ToolBar(this); + QVBoxLayout* layout=new QVBoxLayout(this); + layout->setMargin(0); + layout->insertWidget(0,toolBar); + layout->addStretch(); + QHBoxLayout* hlayout=new QHBoxLayout(); + hlayout->addStretch(); + hlayout->addWidget(statusFrame); + hlayout->addStretch(); + layout->addLayout(hlayout); + layout->addStretch(); + QAction* actionScrollToProfiles=new QAction(QIcon(":/icons/32x32/tbright.png"),tr("Back to profiles"),this); + toolBar->addSpacer(15); + toolBar->addAction(actionScrollToProfiles); + connect(actionScrollToProfiles, SIGNAL(triggered(bool)), X2GoApplication::instance()->get_workArea(), SLOT(slotScrollToProfileForm())); + profileName=new QLabel(toolBar); + QPalette pal=profileName->palette(); + pal.setColor(QPalette::WindowText,QColor(255,255,255,255)); + profileName->setPalette(pal); + QFont fnt=profileName->font(); + fnt.setBold(true); + profileName->setFont(fnt); + toolBar->addSpacer(); + toolBar->addWidget(profileName); + profile=0; } SessionForm::~SessionForm() { } + +void SessionForm::updateProfile() +{ + profileName->setText(profile->get_profileName()); +} diff --git a/sessionform.h b/sessionform.h index 44eb369..976aaee 100644 --- a/sessionform.h +++ b/sessionform.h @@ -1,4 +1,6 @@ -/************************************************************************** + +class QLabel; +class ToolBar;/************************************************************************** * Copyright (C) 2005-2012 by Oleksandr Shneyder * * o.shneyder@phoca-gmbh.de * * * @@ -22,12 +24,25 @@ #define SESSIONFORM_H #include <QFrame> #include "ui_sessionform.h" +#include "x2goapplication.h" + +class Profile; +class ToolBar; +class QLabel; +class SessionStatusFrame; + class SessionForm: public QFrame, public Ui_SessionForm { Q_OBJECT + X2GO_PROPERTY(Profile*, profile) public: SessionForm(QWidget* parent = 0, Qt::WindowFlags f = 0); ~SessionForm(); + void updateProfile(); +private: + ToolBar* toolBar; + QLabel* profileName; + SessionStatusFrame* statusFrame; }; #endif // SESSIONFORM_H diff --git a/sessionform.ui b/sessionform.ui index 80a59d8..b708e44 100644 --- a/sessionform.ui +++ b/sessionform.ui @@ -6,13 +6,16 @@ <rect> <x>0</x> <y>0</y> - <width>400</width> - <height>300</height> + <width>740</width> + <height>567</height> </rect> </property> <property name="windowTitle"> <string>Frame</string> </property> + <property name="layoutDirection"> + <enum>Qt::LeftToRight</enum> + </property> <property name="styleSheet"> <string notr="true">border-image: url(:svg/profileformbackground.svg)</string> </property> diff --git a/profiledetailconfigurator.cpp b/sessionstatusframe.cpp similarity index 62% copy from profiledetailconfigurator.cpp copy to sessionstatusframe.cpp index 1d3fe93..270e1fd 100644 --- a/profiledetailconfigurator.cpp +++ b/sessionstatusframe.cpp @@ -18,48 +18,34 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ - -#include "profiledetailconfigurator.h" -#include "profilesettingsform.h" -#include "profile.h" -#include <QDebug> -#include "x2goapplication.h" -#include "workarea.h" +#include "sessionstatusframe.h" #include <QScrollBar> -ProfileDetailConfigurator::ProfileDetailConfigurator(Profile* profile, QWidget* parent, Qt::WindowFlags f): QFrame(parent, f) -{ - this->profile=profile; -} - -void ProfileDetailConfigurator::init() +SessionStatusFrame::SessionStatusFrame(QWidget* parent, Qt::WindowFlags f): QFrame(parent, f) { + setupUi(this); + teAdvancedStatus->hide(); + teAdvancedStatus->verticalScrollBar()->setStyleSheet( + "background-color:transparent;border-top:0px;border-left:0px;border-right:0px;border-bottom:0px"); + setFrame(pbStatus); } -ProfileDetailConfigurator::~ProfileDetailConfigurator() +SessionStatusFrame::~SessionStatusFrame() { } -void ProfileDetailConfigurator::apply() -{ - profile->updateProfileDetails(); - profile->saveProfile(); - X2GoApplication::instance()->get_profileSettingsForm()->updateProfile(); -} - -void ProfileDetailConfigurator::slotEmitModified() -{ - emit signalModified(); -} - - -void ProfileDetailConfigurator::defaults() +void SessionStatusFrame::slotSetTabFrames() { - emit signalModified(); + setFrame(pbApps); + setFrame(pbFolders); + setFrame(pbStatus); } -void ProfileDetailConfigurator::reset() +void SessionStatusFrame::setFrame(QPushButton* button) { - init(); + if(!button->isChecked()) + button->setStyleSheet("border-image:url(:svg/frame.svg);border-top:5px;border-left:5px;border-right:5px;border-bottom:5px"); + else + button->setStyleSheet("border-image:url(:svg/transparent.svg);border-top:5px;border-left:5px;border-right:5px;border-bottom:5px"); } diff --git a/searchbar.h b/sessionstatusframe.h similarity index 78% copy from searchbar.h copy to sessionstatusframe.h index d859cc7..02fc804 100644 --- a/searchbar.h +++ b/sessionstatusframe.h @@ -18,23 +18,22 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ -#ifndef SEARCHBAR_H -#define SEARCHBAR_H +#ifndef SESSIONSTATUSFRAME_H +#define SESSIONSTATUSFRAME_H #include <QFrame> -#include "ui_searchbar.h" +#include "ui_sessionstatusframe.h" -class SearchBar : public QFrame, public Ui_searchBar +class SessionStatusFrame : public QFrame, public Ui_SessionStatusFrame { Q_OBJECT public: - SearchBar(QWidget* parent = 0, Qt::WindowFlags f = 0); - ~SearchBar(); - QLineEdit* getLineEdit() - { - return lineEdit; - } - + explicit SessionStatusFrame(QWidget* parent = 0, Qt::WindowFlags f = 0); + virtual ~SessionStatusFrame(); +private slots: + void slotSetTabFrames(); +private: + void setFrame(QPushButton* button); }; -#endif // SEARCHBAR_H +#endif // SESSIONSTATUSFRAME_H diff --git a/sessionstatusframe.ui b/sessionstatusframe.ui new file mode 100644 index 0000000..9f0bf87 --- /dev/null +++ b/sessionstatusframe.ui @@ -0,0 +1,426 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>SessionStatusFrame</class> + <widget class="QFrame" name="SessionStatusFrame"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>644</width> + <height>415</height> + </rect> + </property> + <property name="windowTitle"> + <string>Frame</string> + </property> + <property name="styleSheet"> + <string notr="true">border-image: url(:png/profile.png); border-top: 25px transparent; border-bottom: 25px transparent; border-right: 25px transparent; border-left: 25px transparent</string> + </property> + <property name="frameShape"> + <enum>QFrame::StyledPanel</enum> + </property> + <property name="frameShadow"> + <enum>QFrame::Raised</enum> + </property> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <layout class="QHBoxLayout" name="horizontalLayout"> + <property name="spacing"> + <number>3</number> + </property> + <item> + <widget class="QPushButton" name="pbStatus"> + <property name="focusPolicy"> + <enum>Qt::NoFocus</enum> + </property> + <property name="styleSheet"> + <string notr="true">border-image:url(:svg/frame.svg);border-top:5px;border-left:5px;border-right:5px;border-bottom:5px</string> + </property> + <property name="text"> + <string>Status</string> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="checked"> + <bool>true</bool> + </property> + <property name="autoExclusive"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="pbApps"> + <property name="focusPolicy"> + <enum>Qt::NoFocus</enum> + </property> + <property name="styleSheet"> + <string notr="true">border-image:url(:svg/frame.svg);border-top:5px;border-left:5px;border-right:5px;border-bottom:5px</string> + </property> + <property name="text"> + <string>Shared applications</string> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="autoExclusive"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="pbFolders"> + <property name="focusPolicy"> + <enum>Qt::NoFocus</enum> + </property> + <property name="styleSheet"> + <string notr="true">border-image:url(:svg/frame.svg);border-top:5px;border-left:5px;border-right:5px;border-bottom:5px</string> + </property> + <property name="text"> + <string>Shared folders</string> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="autoExclusive"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + <item> + <widget class="QGroupBox" name="groupBox"> + <property name="styleSheet"> + <string notr="true">border-top:0px;border-left:0px;border-right:0px;border-bottom:0px</string> + </property> + <property name="title"> + <string/> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <layout class="QGridLayout" name="gridLayout"> + <property name="horizontalSpacing"> + <number>10</number> + </property> + <item row="1" column="1"> + <widget class="QLabel" name="lServer"> + <property name="styleSheet"> + <string notr="true">border-top:0px;border-left:0px;border-right:0px;border-bottom:0px</string> + </property> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item row="3" column="0"> + <widget class="QLabel" name="label_4"> + <property name="font"> + <font> + <weight>75</weight> + <bold>true</bold> + </font> + </property> + <property name="styleSheet"> + <string notr="true">border-top:0px;border-left:0px;border-right:0px;border-bottom:0px</string> + </property> + <property name="text"> + <string>Session ID:</string> + </property> + </widget> + </item> + <item row="5" column="1"> + <widget class="QLabel" name="lCrTime"> + <property name="styleSheet"> + <string notr="true">border-top:0px;border-left:0px;border-right:0px;border-bottom:0px</string> + </property> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item row="4" column="0"> + <widget class="QLabel" name="label_5"> + <property name="font"> + <font> + <weight>75</weight> + <bold>true</bold> + </font> + </property> + <property name="styleSheet"> + <string notr="true">border-top:0px;border-left:0px;border-right:0px;border-bottom:0px</string> + </property> + <property name="text"> + <string>Display:</string> + </property> + </widget> + </item> + <item row="4" column="1"> + <widget class="QLabel" name="lDisplay"> + <property name="styleSheet"> + <string notr="true">border-top:0px;border-left:0px;border-right:0px;border-bottom:0px</string> + </property> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="label_3"> + <property name="font"> + <font> + <weight>75</weight> + <bold>true</bold> + </font> + </property> + <property name="styleSheet"> + <string notr="true">border-top:0px;border-left:0px;border-right:0px;border-bottom:0px</string> + </property> + <property name="text"> + <string>Login:</string> + </property> + </widget> + </item> + <item row="3" column="1"> + <widget class="QLabel" name="lSID"> + <property name="styleSheet"> + <string notr="true">border-top:0px;border-left:0px;border-right:0px;border-bottom:0px</string> + </property> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item row="5" column="0"> + <widget class="QLabel" name="label_11"> + <property name="font"> + <font> + <weight>75</weight> + <bold>true</bold> + </font> + </property> + <property name="styleSheet"> + <string notr="true">border-top:0px;border-left:0px;border-right:0px;border-bottom:0px</string> + </property> + <property name="text"> + <string>Creation time:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLabel" name="lStatus"> + <property name="styleSheet"> + <string notr="true">border-top:0px;border-left:0px;border-right:0px;border-bottom:0px</string> + </property> + <property name="text"> + <string>not running</string> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_2"> + <property name="font"> + <font> + <weight>75</weight> + <bold>true</bold> + </font> + </property> + <property name="styleSheet"> + <string notr="true">border-top:0px;border-left:0px;border-right:0px;border-bottom:0px</string> + </property> + <property name="text"> + <string>Server:</string> + </property> + </widget> + </item> + <item row="0" column="0"> + <widget class="QLabel" name="label"> + <property name="font"> + <font> + <weight>75</weight> + <bold>true</bold> + </font> + </property> + <property name="styleSheet"> + <string notr="true">border-top:0px;border-left:0px;border-right:0px;border-bottom:0px</string> + </property> + <property name="text"> + <string>Status:</string> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QLabel" name="lLogin"> + <property name="styleSheet"> + <string notr="true">border-top:0px;border-left:0px;border-right:0px;border-bottom:0px</string> + </property> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item row="0" column="2"> + <spacer name="horizontalSpacer_2"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + <item> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QTextEdit" name="teAdvancedStatus"> + <property name="styleSheet"> + <string notr="true">border-image:url(:svg/frame.svg);border-top:1px;border-left:1px;border-right:1px;border-bottom:1px</string> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + <property name="verticalScrollBarPolicy"> + <enum>Qt::ScrollBarAsNeeded</enum> + </property> + <property name="horizontalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOff</enum> + </property> + <property name="readOnly"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="checkBox"> + <property name="styleSheet"> + <string notr="true">border-top:0px;border-left:0px;border-right:0px;border-bottom:0px</string> + </property> + <property name="text"> + <string>Show details</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + </layout> + </widget> + <resources> + <include location="resources.qrc"/> + </resources> + <connections> + <connection> + <sender>checkBox</sender> + <signal>toggled(bool)</signal> + <receiver>teAdvancedStatus</receiver> + <slot>setVisible(bool)</slot> + <hints> + <hint type="sourcelabel"> + <x>99</x> + <y>364</y> + </hint> + <hint type="destinationlabel"> + <x>147</x> + <y>277</y> + </hint> + </hints> + </connection> + <connection> + <sender>pbStatus</sender> + <signal>toggled(bool)</signal> + <receiver>SessionStatusFrame</receiver> + <slot>slotSetTabFrames()</slot> + <hints> + <hint type="sourcelabel"> + <x>78</x> + <y>44</y> + </hint> + <hint type="destinationlabel"> + <x>19</x> + <y>200</y> + </hint> + </hints> + </connection> + <connection> + <sender>pbApps</sender> + <signal>toggled(bool)</signal> + <receiver>SessionStatusFrame</receiver> + <slot>slotSetTabFrames()</slot> + <hints> + <hint type="sourcelabel"> + <x>192</x> + <y>47</y> + </hint> + <hint type="destinationlabel"> + <x>17</x> + <y>248</y> + </hint> + </hints> + </connection> + <connection> + <sender>pbFolders</sender> + <signal>toggled(bool)</signal> + <receiver>SessionStatusFrame</receiver> + <slot>slotSetTabFrames()</slot> + <hints> + <hint type="sourcelabel"> + <x>341</x> + <y>50</y> + </hint> + <hint type="destinationlabel"> + <x>13</x> + <y>299</y> + </hint> + </hints> + </connection> + <connection> + <sender>pbStatus</sender> + <signal>toggled(bool)</signal> + <receiver>groupBox</receiver> + <slot>setVisible(bool)</slot> + <hints> + <hint type="sourcelabel"> + <x>62</x> + <y>42</y> + </hint> + <hint type="destinationlabel"> + <x>40</x> + <y>89</y> + </hint> + </hints> + </connection> + </connections> + <slots> + <slot>slotSetTabFrames()</slot> + </slots> +</ui> diff --git a/svg/messagebox.svg b/svg/frame.svg similarity index 66% copy from svg/messagebox.svg copy to svg/frame.svg index 253b21b..c442c1c 100644 --- a/svg/messagebox.svg +++ b/svg/frame.svg @@ -9,14 +9,14 @@ xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="170" - height="105" - id="svg2" + width="40" + height="20" + id="svg3937" version="1.1" inkscape:version="0.48.3.1 r9886" sodipodi:docname="Neues Dokument 1"> <defs - id="defs4" /> + id="defs3939" /> <sodipodi:namedview id="base" pagecolor="#ffffff" @@ -24,9 +24,9 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="7.9195959" - inkscape:cx="76.79977" - inkscape:cy="56.993856" + inkscape:zoom="11.2" + inkscape:cx="3.5560855" + inkscape:cy="-13.574682" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="true" @@ -41,16 +41,16 @@ inkscape:window-maximized="1"> <inkscape:grid type="xygrid" - id="grid3000" + id="grid3945" empspacing="5" visible="true" enabled="true" snapvisiblegridlinesonly="true" - originx="-233px" - originy="-231.03711px" /> + originx="85.5px" + originy="-420.48718px" /> </sodipodi:namedview> <metadata - id="metadata7"> + id="metadata3942"> <rdf:RDF> <cc:Work rdf:about=""> @@ -65,27 +65,15 @@ inkscape:label="Ebene 1" inkscape:groupmode="layer" id="layer1" - transform="translate(-233,-716.32507)"> - <g - id="g3002"> - <rect - ry="8.9297485" - rx="10" - y="717.43243" - x="233" - height="103.89264" - width="168" - id="rect3937-8" - style="fill:#000000;fill-opacity:0.50196078;fill-rule:nonzero;stroke:none" /> - <rect - ry="7.93573" - rx="9" - y="719.42645" - x="235.01743" - height="99.985687" - width="163.98257" - id="rect3937" - style="fill:#ffffff;fill-opacity:0.85882353;fill-rule:nonzero;stroke:none" /> - </g> + transform="translate(85.5,-611.875)"> + <rect + style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-width:0.29999999999999999;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + id="rect3949" + width="39" + height="18.999998" + x="-85" + y="612.36218" + rx="1" + ry="1" /> </g> </svg> diff --git a/x2goclient2.pro b/x2goclient2.pro index 0863374..96a814f 100755 --- a/x2goclient2.pro +++ b/x2goclient2.pro @@ -27,6 +27,7 @@ FORMS += mainwindow.ui \ configuratorsharing.ui \ messagebox.ui \ helpdialog.ui \ + sessionstatusframe.ui \ profile.ui SOURCES += main.cpp \ @@ -58,6 +59,7 @@ SOURCES += main.cpp \ sshconnection.cpp \ sshconnectionguiinteraction.cpp \ sshprocess.cpp \ + sessionstatusframe.cpp \ profile.cpp HEADERS += mainwindow.h \ @@ -88,6 +90,7 @@ HEADERS += mainwindow.h \ sshconnection.h \ sshconnectionguiinteraction.h \ sshprocess.h \ + sessionstatusframe.h \ profile.h LIBS += -lssh hooks/post-receive -- x2goclient2.git (X2Go Client 2 (rewrite of x2goclient.git)) This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "x2goclient2.git" (X2Go Client 2 (rewrite of x2goclient.git)).