コード例 #1
0
ファイル: kaspopup.cpp プロジェクト: serghei/kde3-kdebase
QPoint KasPopup::calcPosition(KasItem *item, int w, int h)
{
    KasBar *kasbar = item->kasbar();
    QPoint pos = kasbar->itemPos(item);

    if((pos.x() < 0) && (pos.y() < 0))
        return QPoint();

    pos = kasbar->mapToGlobal(pos);
    int x = pos.x();
    int y = pos.y();

    if(kasbar->orientation() == Horizontal)
    {
        if(y < (qApp->desktop()->height() / 2))
            y = y + kasbar->itemExtent();
        else
            y = y - h;

        if((x + w) > qApp->desktop()->width())
            x = x - w + kasbar->itemExtent();
    }
    else
    {
        if(x < (qApp->desktop()->width() / 2))
            x = x + kasbar->itemExtent();
        else
            x = x - w;

        if((y + h) > qApp->desktop()->height())
            y = y - h + kasbar->itemExtent();
    }

    return QPoint(x, y);
}
コード例 #2
0
ファイル: kasaboutdlg.cpp プロジェクト: Fat-Zer/tdebase
void KasAboutDialog::addDemoBar()
{
   TQHBox *box = new TQHBox( this );

   box->setLineWidth(2);
   box->setFrameStyle( TQFrame::Panel | TQFrame::Sunken );

   box->setSpacing( spacingHint() );
   box->setMargin( marginHint() );

   KasBar *bar = new KasBar( Qt::Horizontal, box );
   bar->setItemSize( KasBar::Large );
   bar->setMasked( false );

   KasItem *ci = new KasItem( bar );
   ci->setIcon( LargeIcon( "icons" ) );
   bar->append( ci );

   KasPopup *pop = new KasPopup( ci );
   ci->setPopup( pop );
   ci->setCustomPopup( true );
   connect( ci, TQT_SIGNAL(leftButtonClicked(TQMouseEvent *)), ci, TQT_SLOT(togglePopup()) );

   KasBar *groupbar = bar->createChildBar( ( bar->orientation() == Qt::Horizontal ) ? Qt::Vertical : Qt::Horizontal, pop );
   KasItem *i = 0;

   KasClockItem *clk = new KasClockItem( groupbar );
   groupbar->append( clk );

   i = new KasLoadItem( groupbar );
   groupbar->append( i );

   groupbar->addTestItems();

   pop->resize( groupbar->size() );

   bar->setFixedSize( bar->itemExtent(), bar->itemExtent() );
   addWidgetBelowList( box );
}
コード例 #3
0
ファイル: kasbar.cpp プロジェクト: jschwartzenberg/kicker
KasBar *KasBar::createChildBar( Qt::Orientation o, QWidget *parent, const char *name )
{
    KasBar *child = new KasBar( o, this, parent, name );
    child->rereadMaster();
    return child;
}
コード例 #4
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();
}