summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/applets/vtapplet/vt.cpp18
-rw-r--r--core/applets/vtapplet/vt.h4
2 files changed, 10 insertions, 12 deletions
diff --git a/core/applets/vtapplet/vt.cpp b/core/applets/vtapplet/vt.cpp
index cdd3c97..881eb41 100644
--- a/core/applets/vtapplet/vt.cpp
+++ b/core/applets/vtapplet/vt.cpp
@@ -17,33 +17,33 @@
#include <qpe/qcopenvelope_qws.h>
#include <qapplication.h>
#include <qiconset.h>
#include <qpopupmenu.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <linux/vt.h>
#include "vt.h"
VTApplet::VTApplet ( )
- : QObject ( 0, "VTApplet" ), ref ( 0 )
+ : QObject ( 0, "VTApplet" )
{
}
VTApplet::~VTApplet ( )
{
}
int VTApplet::position ( ) const
{
return 2;
}
QString VTApplet::name ( ) const
{
return tr( "VT shortcut" );
}
@@ -71,77 +71,77 @@ QIconSet VTApplet::icon ( ) const
QImage img = Resource::loadImage ( "terminal" );
if ( !img. isNull ( ))
pix. convertFromImage ( img. smoothScale ( 14, 14 ));
return pix;
}
QPopupMenu *VTApplet::popup ( QWidget* parent ) const
{
qDebug( "VTApplet::popup" );
struct vt_stat vtstat;
int fd = ::open( "/dev/tty0", O_RDWR );
if ( fd == -1 ) return 0;
if ( ioctl( fd, VT_GETSTATE, &vtstat ) == -1 ) return 0;
- submenu = new QPopupMenu( parent );
- submenu->setCheckable( true );
+ m_subMenu = new QPopupMenu( parent );
+ m_subMenu->setCheckable( true );
for ( int i = 1; i < 10; ++i )
{
- int id = submenu->insertItem( QString::number( i ), 500+i );
- submenu->setItemChecked( id, id-500 == vtstat.v_active );
+ int id = m_subMenu->insertItem( QString::number( i ), 500+i );
+ m_subMenu->setItemChecked( id, id-500 == vtstat.v_active );
}
::close( fd );
- connect( submenu, SIGNAL( activated(int) ), this, SLOT( changeVT(int) ) );
- connect( submenu, SIGNAL( aboutToShow() ), this, SLOT( updateMenu() ) );
+ connect( m_subMenu, SIGNAL( activated(int) ), this, SLOT( changeVT(int) ) );
+ connect( m_subMenu, SIGNAL( aboutToShow() ), this, SLOT( updateMenu() ) );
- return submenu;
+ return m_subMenu;
}
void VTApplet::changeVT( int index )
{
//qDebug( "VTApplet::changeVT( %d )", index-500 );
int fd = ::open("/dev/tty0", O_RDWR);
if ( fd == -1 ) return;
ioctl( fd, VT_ACTIVATE, index-500 );
}
void VTApplet::updateMenu()
{
//qDebug( "VTApplet::updateMenu()" );
int fd = ::open( "/dev/console", O_RDONLY );
if ( fd == -1 ) return;
for ( int i = 1; i < 10; ++i )
{
int result = ioctl( fd, VT_DISALLOCATE, i );
/*
if ( result == -1 )
qDebug( "VT %d disallocated == free", i );
else
qDebug( "VT %d _not_ disallocated == busy", i );
*/
- submenu->setItemEnabled( 500+i, result == -1 );
+ m_subMenu->setItemEnabled( 500+i, result == -1 );
}
::close( fd );
}
void VTApplet::activated()
{
qDebug( "VTApplet::activated()" );
}
QRESULT VTApplet::queryInterface ( const QUuid &uuid, QUnknownInterface **iface )
{
*iface = 0;
if ( uuid == IID_QUnknown )
diff --git a/core/applets/vtapplet/vt.h b/core/applets/vtapplet/vt.h
index 6bdb9e0..4c92ddd 100644
--- a/core/applets/vtapplet/vt.h
+++ b/core/applets/vtapplet/vt.h
@@ -31,24 +31,22 @@ public:
Q_REFCOUNT
virtual int position() const;
virtual QString name ( ) const;
virtual QIconSet icon ( ) const;
virtual QString text ( ) const;
//virtual QString tr( const char* ) const;
//virtual QString tr( const char*, const char* ) const;
virtual QPopupMenu *popup ( QWidget *parent ) const;
virtual void activated ();
public slots:
virtual void changeVT( int index );
virtual void updateMenu();
-
private:
- ulong ref;
+ mutable QPopupMenu* m_subMenu;
};
-static QPopupMenu* submenu;
#endif