Exemplo n.º 1
0
ObjKsTheme::ObjKsTheme( const TQString& theme )
  :mActiveTheme (theme), mThemeDir("/"), mThemeConfig (0L), mThemePrefix( "Themes/" ), d(0)
{
  // Get Xinerama config.
  TDEConfig *config = kapp->config();
  config->setGroup( "Xinerama" );
  TQDesktopWidget *desktop = kapp->desktop();
  mXineramaScreen = config->readNumEntry("KSplashScreen", desktop->primaryScreen());

  // For Xinerama, let's put the mouse on the first head.  Otherwise it could appear anywhere!
  if (desktop->isVirtualDesktop() && mXineramaScreen != -2)
  {
    TQRect rect = desktop->screenGeometry( mXineramaScreen );
    if (!rect.contains(TQCursor::pos()))
      TQCursor::setPos(rect.center());
  }

  // Does the active theme exist?
  if( !loadThemeRc( mActiveTheme, false ) )
    if( !loadLocalConfig( mActiveTheme, false ) )
      if( !loadThemeRc( "Default", false ) )
        loadLocalConfig( "Default", true ); //force: we need some defaults
  loadCmdLineArgs(TDECmdLineArgs::parsedArgs());
  mThemePrefix += ( mActiveTheme + "/" );
}
Exemplo n.º 2
0
/*
 *  Constructs a CustomFaceManagerUI as a child of 'parent', with the
 *  name 'name' and widget flags set to 'f'.
 */
CustomFaceManagerUI::CustomFaceManagerUI( TQWidget* parent, const char* name, WFlags fl )
    : TQWidget( parent, name, fl )
{
    TQImage img;
    img.loadFromData( image0_data, sizeof( image0_data ), "PNG" );
    image0 = img;
    img.loadFromData( image1_data, sizeof( image1_data ), "PNG" );
    image1 = img;
    img.loadFromData( image2_data, sizeof( image2_data ), "PNG" );
    image2 = img;
    if ( !name )
	setName( "CustomFaceManagerUI" );
    CustomFaceManagerUILayout = new TQGridLayout( this, 1, 1, 3, 0, "CustomFaceManagerUILayout"); 

    layout9 = new TQVBoxLayout( 0, 0, 6, "layout9"); 

    frame7 = new TQFrame( this, "frame7" );
    frame7->setSizePolicy( TQSizePolicy( (TQSizePolicy::SizeType)1, (TQSizePolicy::SizeType)1, 0, 0, frame7->sizePolicy().hasHeightForWidth() ) );
    frame7->setFrameShape( TQFrame::TabWidgetPanel );
    frame7->setFrameShadow( TQFrame::Raised );
    frame7Layout = new TQGridLayout( frame7, 1, 1, 2, 0, "frame7Layout"); 

    layout1 = new TQHBoxLayout( 0, 0, 6, "layout1"); 

    tbtnImport = new TQToolButton( frame7, "tbtnImport" );
    tbtnImport->setAutoRaise( TRUE );
    layout1->addWidget( tbtnImport );

    tbtnExport = new TQToolButton( frame7, "tbtnExport" );
    tbtnExport->setAutoRaise( TRUE );
    layout1->addWidget( tbtnExport );

    tbtnAddGroup = new TQToolButton( frame7, "tbtnAddGroup" );
    tbtnAddGroup->setIconSet( TQIconSet( image0 ) );
    tbtnAddGroup->setUsesTextLabel( TRUE );
    tbtnAddGroup->setAutoRaise( TRUE );
    tbtnAddGroup->setTextPosition( TQToolButton::BesideIcon );
    layout1->addWidget( tbtnAddGroup );

    tbtnEditGroup = new TQToolButton( frame7, "tbtnEditGroup" );
    tbtnEditGroup->setIconSet( TQIconSet( image1 ) );
    tbtnEditGroup->setUsesTextLabel( TRUE );
    tbtnEditGroup->setAutoRaise( TRUE );
    tbtnEditGroup->setTextPosition( TQToolButton::BesideIcon );
    layout1->addWidget( tbtnEditGroup );

    tbtnRemoveGroup = new TQToolButton( frame7, "tbtnRemoveGroup" );
    tbtnRemoveGroup->setIconSet( TQIconSet( image2 ) );
    tbtnRemoveGroup->setUsesBigPixmap( TRUE );
    tbtnRemoveGroup->setUsesTextLabel( TRUE );
    tbtnRemoveGroup->setAutoRaise( TRUE );
    tbtnRemoveGroup->setTextPosition( TQToolButton::BesideIcon );
    layout1->addWidget( tbtnRemoveGroup );

    frame7Layout->addLayout( layout1, 0, 0 );
    layout9->addWidget( frame7 );

    layout7 = new TQHBoxLayout( 0, 0, 6, "layout7"); 

    frame6 = new TQFrame( this, "frame6" );
    frame6->setPaletteForegroundColor( TQColor( 0, 124, 206 ) );
    frame6->setFrameShape( TQFrame::Box );
    frame6->setFrameShadow( TQFrame::Plain );
    frame6Layout = new TQGridLayout( frame6, 1, 1, 1, 0, "frame6Layout"); 

    lvGroups = new TQListView( frame6, "lvGroups" );
    lvGroups->setSizePolicy( TQSizePolicy( (TQSizePolicy::SizeType)5, (TQSizePolicy::SizeType)7, 0, 0, lvGroups->sizePolicy().hasHeightForWidth() ) );
    lvGroups->setMinimumSize( TQSize( 100, 0 ) );
    lvGroups->setMaximumSize( TQSize( 250, 32767 ) );
    lvGroups->setFrameShape( TQListView::NoFrame );
    lvGroups->setFrameShadow( TQListView::Plain );
    lvGroups->setLineWidth( 1 );
    lvGroups->setHScrollBarMode( TQListView::AlwaysOff );
    lvGroups->setSorting( -1 ); // don't sort

    frame6Layout->addWidget( lvGroups, 0, 0 );
    layout7->addWidget( frame6 );

    frmMain = new TQFrame( this, "frmMain" );
    frmMain->setPaletteForegroundColor( TQColor( 0, 124, 206 ) );
    frmMain->setPaletteBackgroundColor( TQColor( 255, 255, 255 ) );
    frmMain->setFrameShape( TQFrame::Box );
    frmMain->setFrameShadow( TQFrame::Plain );
    frmMainLayout = new TQGridLayout( frmMain, 1, 1, 11, 6, "frmMainLayout"); 

    layout6 = new TQHBoxLayout( 0, 0, 6, "layout6"); 

    tblFaceList = new TQTable( frmMain, "tblFaceList" );
    tblFaceList->setNumCols( tblFaceList->numCols() + 1 );
    tblFaceList->horizontalHeader()->setLabel( tblFaceList->numCols() - 1, i18n("No." ) );
    tblFaceList->setNumCols( tblFaceList->numCols() + 1 );
    tblFaceList->horizontalHeader()->setLabel( tblFaceList->numCols() - 1, i18n("Smiley" ) );
    tblFaceList->setNumCols( tblFaceList->numCols() + 1 );
    tblFaceList->horizontalHeader()->setLabel( tblFaceList->numCols() - 1, i18n("Shortcut" ) );
    tblFaceList->setFrameShape( TQTable::GroupBoxPanel );
    tblFaceList->setFrameShadow( TQTable::Plain );
    tblFaceList->setHScrollBarMode( TQTable::AlwaysOff );
    tblFaceList->setNumRows( 0 );
    tblFaceList->setNumCols( 3 );
    tblFaceList->setSelectionMode( TQTable::MultiRow );
    tblFaceList->setFocusStyle( TQTable::FollowStyle );
    layout6->addWidget( tblFaceList );

    layout5 = new TQVBoxLayout( 0, 0, 6, "layout5"); 

    btnAdd = new TQPushButton( frmMain, "btnAdd" );
    layout5->addWidget( btnAdd );

    btnRemove = new TQPushButton( frmMain, "btnRemove" );
    layout5->addWidget( btnRemove );

    btnEdit = new TQPushButton( frmMain, "btnEdit" );
    layout5->addWidget( btnEdit );

    btnUp = new TQPushButton( frmMain, "btnUp" );
    layout5->addWidget( btnUp );

    btnDown = new TQPushButton( frmMain, "btnDown" );
    layout5->addWidget( btnDown );

    btnMoveTo = new TQPushButton( frmMain, "btnMoveTo" );
    layout5->addWidget( btnMoveTo );
    spacer1 = new TQSpacerItem( 20, 20, TQSizePolicy::Minimum, TQSizePolicy::Expanding );
    layout5->addItem( spacer1 );

    lblPreview = new TQLabel( frmMain, "lblPreview" );
    lblPreview->setSizePolicy( TQSizePolicy( (TQSizePolicy::SizeType)0, (TQSizePolicy::SizeType)0, 0, 0, lblPreview->sizePolicy().hasHeightForWidth() ) );
    lblPreview->setMinimumSize( TQSize( 100, 85 ) );
    lblPreview->setMaximumSize( TQSize( 100, 85 ) );
    lblPreview->setPaletteForegroundColor( TQColor( 0, 124, 206 ) );
    lblPreview->setFrameShape( TQLabel::Box );
    layout5->addWidget( lblPreview );
    layout6->addLayout( layout5 );

    frmMainLayout->addLayout( layout6, 0, 0 );
    layout7->addWidget( frmMain );
    layout9->addLayout( layout7 );

    layout8 = new TQHBoxLayout( 0, 0, 6, "layout8"); 
    spacer2 = new TQSpacerItem( 91, 20, TQSizePolicy::Expanding, TQSizePolicy::Minimum );
    layout8->addItem( spacer2 );

    btnOK = new TQPushButton( this, "btnOK" );
    layout8->addWidget( btnOK );

    btnCancel = new TQPushButton( this, "btnCancel" );
    layout8->addWidget( btnCancel );
    layout9->addLayout( layout8 );

    CustomFaceManagerUILayout->addLayout( layout9, 0, 0 );
    languageChange();
    resize( TQSize(521, 382).expandedTo(minimumSizeHint()) );
    clearWState( WState_Polished );

    TQRect scr = TDEApplication::desktop()->screenGeometry();
    move(scr.center()-rect().center());
}
Exemplo n.º 3
0
void MenuManager::kmenuAccelActivated()
{
    if (m_kmenu->isVisible())
    {
        m_kmenu->hide();
        return;
    }

    m_kmenu->initialize();

    if (m_kbuttons.isEmpty())
    {
        // no button to use, make it behave like a desktop menu
        TQPoint p;
        // Popup the K-menu at the center of the screen.
        TQDesktopWidget* desktop = TDEApplication::desktop();
        TQRect r;
        if (desktop->numScreens() < 2)
            r = desktop->geometry();
        else
            r = desktop->screenGeometry(desktop->screenNumber(TQCursor::pos()));
        // kMenu->rect() is not valid before showing, use sizeHint()
        p = r.center() - TQRect( TQPoint( 0, 0 ), m_kmenu->sizeHint()).center();
        m_kmenu->popup(p);

        // when the cursor is in the area where the menu pops up,
        // the item under the cursor gets selected. The single shot
        // avoids this from happening by allowing the item to be selected
        // when the event loop is enterred, and then resetting it.
        TQTimer::singleShot(0, this, TQT_SLOT(slotSetKMenuItemActive()));
    }
    else
    {
        // We need the kmenu's size to place it at the right position.
        // We cannot rely on the popup menu's current size(), if it wasn't
        // shown before, so we resize it here according to its sizeHint().
        const TQSize size = m_kmenu->sizeHint();
        m_kmenu->resize(size.width(),size.height());

        PanelPopupButton* button = findKButtonFor(m_kmenu->widget());

        // let's unhide the panel while we're at it. traverse the widget
        // hierarchy until we find the panel, if any
        TQObject* menuParent = button->parent();
        while (menuParent)
        {
            ExtensionContainer* ext = dynamic_cast<ExtensionContainer*>(menuParent);

            if (ext)
            {
                ext->unhideIfHidden();
                // make sure it's unhidden before we use it to figure out
                // where to popup
                tqApp->processEvents();
                break;
            }

            menuParent = menuParent->parent();
        }
        button->showMenu();
    }
}