コード例 #1
0
ファイル: kasbarapp.cpp プロジェクト: Fat-Zer/tdebase
int main( int argc, char **argv )
{
  TDECmdLineArgs::init( argc, argv, "kasbar", "KasBar", I18N_NOOP( "An alternative task manager" ), VERSION_STRING );
  TDECmdLineArgs::addCmdLineOptions( options );
  TDEGlobal::locale()->setMainCatalogue( "kasbarextension" );
  TDEApplication app;
  TDECmdLineArgs *args = TDECmdLineArgs::parsedArgs();

  kdDebug(1345) << "Kasbar starting..." << endl;

  int wflags = TQt::WStyle_Customize | TQt::WX11BypassWM | TQt::WStyle_DialogBorder | TQt::WStyle_StaysOnTop;
  KasBar *kasbar;
  TDEConfig conf( "kasbarrc" );

  if ( args->isSet("test") ) {
      kasbar = new KasBar( Qt::Vertical, 0, "testkas", (TQ_WFlags)wflags );
      kasbar->setItemSize( KasBar::Large );
      kasbar->append( new KasClockItem(kasbar) );
      kasbar->append( new KasItem(kasbar) );
      kasbar->append( new KasLoadItem(kasbar) );
      kasbar->append( new KasItem(kasbar) );
      kasbar->addTestItems();
  }
  else {
      KasTasker *kastasker = new KasTasker( Qt::Vertical, 0, "testkas", (TQ_WFlags)wflags );
      kastasker->setConfig( &conf );
      kastasker->setStandAlone( true );
      kasbar = kastasker;

      kastasker->readConfig();
      kastasker->move( kastasker->detachedPosition() );
      kastasker->connect( kastasker->resources(), TQT_SIGNAL(changed()), TQT_SLOT(readConfig()) );
      kastasker->refreshAll();
  }

  kdDebug(1345) << "Kasbar about to show" << endl;
  app.setMainWidget( kasbar );
  kasbar->show();

  kasbar->setDetached( true );
  KWin::setOnAllDesktops( kasbar->winId(), true );
  kdDebug() << "kasbar: Window id is " << kasbar->winId() << endl;

  TDEApplication::kApplication()->dcopClient()->registerAs( "kasbar" );

  app.connect( &app, TQT_SIGNAL( lastWindowClosed() ), TQT_SLOT(quit()) );

  return app.exec();
}