Moved window options into a sub-menu. Still not convinced that having full

screen and noborder there is a good idea. How does an application get notified
that it was switched to full screen mode? How do you revert these settings?

svn path=/trunk/kdebase/kwin/; revision=254230
This commit is contained in:
Stephan Binner 2003-09-26 21:32:49 +00:00
parent cbcad61c71
commit 2ec6c54769
3 changed files with 23 additions and 14 deletions

View file

@ -41,7 +41,7 @@ namespace KWinInternal
QPopupMenu* Workspace::clientPopup()
{
if ( !popup )
if ( !popup )
{
popup = new QPopupMenu;
popup->setCheckable( TRUE );
@ -54,11 +54,18 @@ QPopupMenu* Workspace::clientPopup()
popup->insertItem( i18n("Mi&nimize")+'\t'+keys->shortcut("Window Minimize").seq(0).toString(), Options::MinimizeOp );
popup->insertItem( i18n("Ma&ximize")+'\t'+keys->shortcut("Window Maximize").seq(0).toString(), Options::MaximizeOp );
popup->insertItem( i18n("Sh&ade")+'\t'+keys->shortcut("Window Shade").seq(0).toString(), Options::ShadeOp );
popup->insertItem( SmallIconSet( "attach" ), i18n("Window &Above Others"), Options::KeepAboveOp );
popup->insertItem( i18n("Window &Below Others"), Options::KeepBelowOp );
popup->insertItem( i18n("Window &Fullscreen"), Options::FullScreenOp );
popup->insertItem( i18n("Window &Noborder"), Options::NoBorderOp );
popup->insertItem( SmallIconSet( "filesave" ), i18n("Sto&re Window Settings"), Options::ToggleStoreSettingsOp );
options_popup = new QPopupMenu( popup );
options_popup->setCheckable( TRUE );
options_popup->setFont(KGlobalSettings::menuFont());
connect( options_popup, SIGNAL( activated(int) ), this, SLOT( clientPopupActivated(int) ) );
options_popup->insertItem( SmallIconSet( "attach" ), i18n("Window &Above Others"), Options::KeepAboveOp );
options_popup->insertItem( i18n("Window &Below Others"), Options::KeepBelowOp );
options_popup->insertItem( i18n("Window &Fullscreen"), Options::FullScreenOp );
options_popup->insertItem( i18n("Window &Noborder"), Options::NoBorderOp );
options_popup->insertItem( SmallIconSet( "filesave" ), i18n("Sto&re Window Settings"), Options::ToggleStoreSettingsOp );
popup->insertItem(i18n("&Window Settings"), options_popup );
popup->insertSeparator();
desk_popup_index = popup->count();
@ -98,14 +105,14 @@ void Workspace::clientPopupAboutToShow()
popup->setItemChecked( Options::MaximizeOp, popup_client->maximizeMode() == Client::MaximizeFull );
// TODO this doesn't show it's shaded when it's hovered or activated
popup->setItemChecked( Options::ShadeOp, popup_client->isShade() );
popup->setItemChecked( Options::KeepAboveOp, popup_client->keepAbove() );
popup->setItemChecked( Options::KeepBelowOp, popup_client->keepBelow() );
popup->setItemChecked( Options::FullScreenOp, popup_client->isFullScreen() );
popup->setItemEnabled( Options::FullScreenOp, popup_client->userCanSetFullScreen() );
popup->setItemChecked( Options::NoBorderOp, popup_client->noBorder() );
popup->setItemEnabled( Options::NoBorderOp, popup_client->userCanSetNoBorder() );
options_popup->setItemChecked( Options::KeepAboveOp, popup_client->keepAbove() );
options_popup->setItemChecked( Options::KeepBelowOp, popup_client->keepBelow() );
options_popup->setItemChecked( Options::FullScreenOp, popup_client->isFullScreen() );
options_popup->setItemEnabled( Options::FullScreenOp, popup_client->userCanSetFullScreen() );
options_popup->setItemChecked( Options::NoBorderOp, popup_client->noBorder() );
options_popup->setItemEnabled( Options::NoBorderOp, popup_client->userCanSetNoBorder() );
popup->setItemEnabled( Options::MinimizeOp, popup_client->isMinimizable() );
popup->setItemChecked( Options::ToggleStoreSettingsOp, popup_client->storeSettings() );
options_popup->setItemChecked( Options::ToggleStoreSettingsOp, popup_client->storeSettings() );
popup->setItemEnabled( Options::CloseOp, popup_client->isCloseable() );
}
@ -145,7 +152,7 @@ void Workspace::desktopPopupAboutToShow()
for ( int i = 1; i <= numberOfDesktops(); i++ )
{
QString basic_name("%1 %2");
if (i<BASE)
if (i<BASE)
{
basic_name.prepend('&');
}

View file

@ -80,6 +80,7 @@ Workspace::Workspace( bool restore )
tab_box (0),
popupinfo (0),
popup (0),
options_popup (0),
desk_popup (0),
desk_popup_index (0),
keys (0),

View file

@ -473,6 +473,7 @@ class Workspace : public QObject, virtual public KWinInterface, public KDecorati
PopupInfo* popupinfo;
QPopupMenu *popup;
QPopupMenu *options_popup;
QPopupMenu *desk_popup;
int desk_popup_index;