diff options
Diffstat (limited to 'audio/amarok/files/hide-main-menu-bar-feature.patch')
-rw-r--r-- | audio/amarok/files/hide-main-menu-bar-feature.patch | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/audio/amarok/files/hide-main-menu-bar-feature.patch b/audio/amarok/files/hide-main-menu-bar-feature.patch new file mode 100644 index 000000000000..dc53b53a6d2b --- /dev/null +++ b/audio/amarok/files/hide-main-menu-bar-feature.patch @@ -0,0 +1,119 @@ +diff -ruN amarok.orig/src/amarokcore/amarok.kcfg amarok/src/amarokcore/amarok.kcfg +--- amarok.orig/src/amarokcore/amarok.kcfg Mon Jun 18 01:51:49 2007 ++++ amarok/src/amarokcore/amarok.kcfg Thu Jun 21 22:42:23 2007 +@@ -216,6 +216,11 @@ + <whatsthis>Set this to the style dir you want to use.</whatsthis> + <default>Default</default> + </entry> ++ <entry key="Show Menu Bar" type="Bool"> ++ <label>Whether Menubar is shown</label> ++ <whatsthis>If set, Amarok displays a menubar on top of the application.</whatsthis> ++ <default>true</default> ++ </entry> + <entry key="Relative Playlist" type="Bool"> + <label>Whether playlists store relative path</label> + <whatsthis>If set, Amarok's manually saved playlists will contain a relative path to each track, not an absolute path.</whatsthis> +diff -ruN amarok.orig/src/app.cpp amarok/src/app.cpp +--- amarok.orig/src/app.cpp Mon Jun 18 01:51:49 2007 ++++ amarok/src/app.cpp Thu Jun 21 22:43:27 2007 +@@ -678,6 +674,11 @@ + m_pPlaylistWindow->setCaption( i18n("Amarok - %1").arg( EngineController::instance()->bundle().veryNiceTitle() ) ); + else + m_pPlaylistWindow->setCaption( "Amarok" ); ++ ++ //m_pPlaylistWindow->show(); //must be shown //we do below now ++ //ensure that at least one Menu is plugged into an accessible UI element ++ if( !AmarokConfig::showMenuBar() && !Amarok::actionCollection()->action( "amarok_menu" )->isPlugged() ) ++ playlistWindow()->createGUI(); + } + + playlistWindow()->applySettings(); +diff -ruN amarok.orig/src/playlistwindow.cpp amarok/src/playlistwindow.cpp +--- amarok.orig/src/playlistwindow.cpp Mon Jun 18 01:51:49 2007 ++++ amarok/src/playlistwindow.cpp Thu Jun 21 22:48:15 2007 +@@ -139,6 +139,7 @@ + ac->action( "stream_add" )->setIcon( Amarok::icon( "files" ) ); + KStdAction::save( this, SLOT(savePlaylist()), ac, "playlist_save" )->setText( i18n("&Save Playlist As...") ); + ac->action( "playlist_save" )->setIcon( Amarok::icon( "save" ) ); ++ KStdAction::showMenubar( this, SLOT(slotToggleMenu()), ac ); + + //FIXME: after string freeze rename to "Burn Current Playlist"? + new KAction( i18n("Burn to CD"), Amarok::icon( "burn" ), 0, this, SLOT(slotBurnPlaylist()), ac, "playlist_burn" ); +@@ -233,6 +236,7 @@ + + PlaylistWindow::~PlaylistWindow() + { ++ Amarok::config( "PlaylistWindow" )->writeEntry( "showMenuBar", m_menubar->isShown() ); + AmarokConfig::setPlaylistWindowPos( pos() ); //TODO de XT? + AmarokConfig::setPlaylistWindowSize( size() ); //TODO de XT? + } +@@ -307,6 +310,7 @@ + connect( repeatAction, SIGNAL( activated( int ) ), playlist, SLOT( slotRepeatTrackToggled( int ) ) ); + + m_menubar = new KMenuBar( this ); ++ m_menubar->setShown( AmarokConfig::showMenuBar() ); + + //BEGIN Actions menu + KPopupMenu *actionsMenu = new KPopupMenu( m_menubar ); +@@ -381,6 +388,8 @@ + m_settingsMenu = new KPopupMenu( m_menubar ); + //TODO use KStdAction or KMainWindow + #ifndef Q_WS_MAC ++ static_cast<KToggleAction *>(actionCollection()->action(KStdAction::name(KStdAction::ShowMenubar)))->setChecked( AmarokConfig::showMenuBar() ); ++ actionCollection()->action(KStdAction::name(KStdAction::ShowMenubar))->plug( m_settingsMenu ); + m_settingsMenu->insertItem( AmarokConfig::showToolbar() ? i18n( "Hide Toolbar" ) : i18n("Show Toolbar"), ID_SHOW_TOOLBAR ); + m_settingsMenu->insertItem( AmarokConfig::showPlayerWindow() ? i18n("Hide Player &Window") : i18n("Show Player &Window"), ID_SHOW_PLAYERWINDOW ); + m_settingsMenu->insertSeparator(); +@@ -569,6 +578,12 @@ + for( QStringList::ConstIterator it = list.constBegin(); it != end; ++it ) + { + KToolBarButton* const button = static_cast<KToolBarButton*>( m_toolbar->child( (*it).latin1() ) ); ++ if ( it == last ) { ++ //if the user has no PlayerWindow, he MUST have the menu action plugged ++ //NOTE this is not saved to the local XMLFile, which is what the user will want ++ if ( !AmarokConfig::showPlayerWindow() && !AmarokConfig::showMenuBar() && !button ) ++ actionCollection()->action( "amarok_menu" )->plug( m_toolbar ); ++ } + + if ( button ) { + button->modeChange(); +@@ -1031,6 +1046,20 @@ + Playlist::instance()->setFocus(); + } + ++void PlaylistWindow::slotToggleMenu() //SLOT ++{ ++ if( static_cast<KToggleAction *>(actionCollection()->action(KStdAction::name(KStdAction::ShowMenubar)))->isChecked() ) { ++ AmarokConfig::setShowMenuBar( true ); ++ m_menubar->setShown( true ); ++ } ++ else ++ { ++ AmarokConfig::setShowMenuBar( false ); ++ m_menubar->setShown( false ); ++ } ++ recreateGUI(); ++} ++ + void PlaylistWindow::slotMenuActivated( int index ) //SLOT + { + switch( index ) +@@ -1042,6 +1071,7 @@ + case ID_SHOW_TOOLBAR: + m_toolbar->setShown( !m_toolbar->isShown() ); + AmarokConfig::setShowToolbar( !AmarokConfig::showToolbar() ); ++ actionCollection()->action(KStdAction::name(KStdAction::ShowMenubar))->setEnabled( m_toolbar->isShown() ); + m_settingsMenu->changeItem( index, m_toolbar->isShown() ? i18n("Hide Toolbar") : i18n("Show Toolbar") ); + break; + case ID_SHOW_PLAYERWINDOW: +diff -ruN amarok.orig/src/playlistwindow.h amarok/src/playlistwindow.h +--- amarok.orig/src/playlistwindow.h Mon Jun 18 01:51:49 2007 ++++ amarok/src/playlistwindow.h Thu Jun 21 22:48:44 2007 +@@ -91,6 +91,7 @@ + void slotMenuActivated( int ); + void actionsMenuAboutToShow(); + void toolsMenuAboutToShow(); ++ void slotToggleMenu(); + void slotToggleFocus(); + void slotEditFilter(); + void slotSetFilter( const QString &filter ); |