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 + "/" ); }
/* * 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()); }
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(); } }