Group :: Networking/Remote access
RPM: italc
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
Patch: italc-1.0.13-ubuntu.patch
Download
Download
ica/src/isd_server.cpp | 5 ++++-
ica/src/ivs.cpp | 13 +------------
ica/src/local_system_ica.cpp | 2 +-
ima/src/classroom_manager.cpp | 21 ++++++++++++++++++++-
ima/src/client.cpp | 13 +++++++++++--
lib/src/lock_widget.cpp | 1 +
6 files changed, 38 insertions(+), 17 deletions(-)
diff --git a/ica/src/isd_server.cpp b/ica/src/isd_server.cpp
index 280c91a..7c09e70 100644
--- a/ica/src/isd_server.cpp
+++ b/ica/src/isd_server.cpp
@@ -285,7 +285,10 @@ int isdServer::processClient( socketDispatcher _sd, void * _user )
}
else
{
- action = port;
+ if ( port.split(":").size() == 3 )
+ action = port.split(":")[1]+":"+port.split(":")[2];
+ else
+ action = port;
}
break;
}
diff --git a/ica/src/ivs.cpp b/ica/src/ivs.cpp
index 086ca61..34e6f1e 100644
--- a/ica/src/ivs.cpp
+++ b/ica/src/ivs.cpp
@@ -180,18 +180,7 @@ void IVS::run( void )
p.setProcessChannelMode( QProcess::ForwardedChannels );
p.start( QCoreApplication::applicationFilePath() +
" -rx11vs " + cmdline.join( " " ) );
- m_restart = FALSE;
- while( p.state() != QProcess::NotRunning )
- {
- sleep( 1 );
- if( m_restart )
- {
- p.terminate();
- sleep( 1 );
- p.kill();
- break;
- }
- }
+ p.waitForFinished(-1);
}
return;
}
diff --git a/ica/src/local_system_ica.cpp b/ica/src/local_system_ica.cpp
index 511fa6b..08cccf9 100644
--- a/ica/src/local_system_ica.cpp
+++ b/ica/src/local_system_ica.cpp
@@ -395,7 +395,7 @@ QString currentUser( void )
}
return( QString( "%1 (%2)" ).
- arg( QString::fromUtf8( pw_entry->pw_gecos ) ).
+ arg( QString::fromUtf8( pw_entry->pw_gecos ).replace( ",,,", "" ) ).
arg( QString::fromUtf8( pw_entry->pw_name ) ) );
}
#endif
diff --git a/ima/src/classroom_manager.cpp b/ima/src/classroom_manager.cpp
index 154947a..5dc4b99 100644
--- a/ima/src/classroom_manager.cpp
+++ b/ima/src/classroom_manager.cpp
@@ -76,6 +76,7 @@ inline T roundCorrect( T _val )
const int widths[] = { 128, 192, 256, 320, 384, 448, 512, 0 };
+int items_at_zero_pos = 0;
@@ -724,7 +725,15 @@ void classroomManager::loadTree( classRoom * _parent_item,
_parent_item,
mainWindow(),
e.attribute( "id" ).toInt() );
- c->hide();
+ if( _parent_element.attribute("forcevisible") == "yes" )
+ {
+ c->show();
+ }
+ else
+ {
+ c->hide();
+ }
+ ++items_at_zero_pos;
}
else
{
@@ -739,6 +748,10 @@ void classroomManager::loadTree( classRoom * _parent_item,
e.attribute( "y" ).toInt() );
c->m_rasterX = e.attribute( "x" ).toInt();
c->m_rasterY = e.attribute( "y" ).toInt();
+ if( c->m_rasterX != 0 || c->m_rasterY != 0 )
+ {
+ --items_at_zero_pos;
+ }
c->setFixedSize( e.attribute( "w" ).toInt(),
e.attribute( "h" ).toInt() );
@@ -988,6 +1001,12 @@ void classroomManager::updateClients( void )
cl->update();
}
+ if ( items_at_zero_pos > 1 )
+ {
+ arrangeWindows();
+ items_at_zero_pos = 0;
+ }
+
QTimer::singleShot( m_clientUpdateInterval * 1000, this,
SLOT( updateClients() ) );
}
diff --git a/ima/src/client.cpp b/ima/src/client.cpp
index 1c53c66..c34aaf9 100644
--- a/ima/src/client.cpp
+++ b/ima/src/client.cpp
@@ -52,12 +52,13 @@ const int TITLE_HEIGHT = 23;
const QPoint CONTENT_OFFSET( DECO_WIDTH, DECO_WIDTH + TITLE_HEIGHT );
const QSize CONTENT_SIZE_SUB( 2*DECO_WIDTH, 2*DECO_WIDTH + TITLE_HEIGHT );
+extern QString __isd_host;
// resolve static symbols...
QHash<int, client *> client::s_clientIDs;
bool client::s_reloadSnapshotList = FALSE;
-
+QString demohost;
class closeButton : public QWidget
{
@@ -1240,8 +1241,16 @@ void updateThread::update( void )
i.second.toString() );
break;
case Cmd_StartDemo:
+ if ( __isd_host != "127.0.0.1" )
+ {
+ demohost=__isd_host + ":" + i.second.toList()[0].toString();
+ }
+ else
+ {
+ demohost=i.second.toList()[0].toString();
+ }
m_client->m_connection->startDemo(
- i.second.toList()[0].toString(),
+ demohost,
i.second.toList()[1].toInt() );
break;
case Cmd_StopDemo:
diff --git a/lib/src/lock_widget.cpp b/lib/src/lock_widget.cpp
index 2fdee15..ad40b1b 100644
--- a/lib/src/lock_widget.cpp
+++ b/lib/src/lock_widget.cpp
@@ -71,6 +71,7 @@ lockWidget::lockWidget( types _type ) :
m_sysKeyTrapper.disableAllKeys( TRUE );
setWindowTitle( tr( "screen lock" ) );
setWindowIcon( QIcon( ":/resources/icon32.png" ) );
+ setWindowFlags( Qt::Popup );
setCursor( Qt::BlankCursor );
showFullScreen();
move( 0, 0 );