Add an action to hide/show the status bar

Each view has its own status bar.  For the moment, this
action toggles the status bar of the current view only.

BUG:111162
REVIEW:105337
GUI:
This commit is contained in:
Jonathan Marten 2012-06-25 17:20:34 +01:00
parent a601588b50
commit f4fbf758ce
3 changed files with 35 additions and 3 deletions

View file

@ -1312,8 +1312,12 @@ void KonqMainWindow::slotCreateNewWindow( const KUrl &url,
if ( view ) {
if ( !windowArgs.scrollBarsVisible() )
view->disableScrolling();
if ( !windowArgs.isStatusBarVisible() )
if ( !windowArgs.isStatusBarVisible() ) {
view->frame()->statusbar()->hide();
mainWindow->m_paShowStatusBar->setChecked( false );
} else {
mainWindow->m_paShowStatusBar->setChecked( true );
}
}
if ( !windowArgs.isResizable() )
@ -1969,7 +1973,11 @@ void KonqMainWindow::slotPartActivated(KParts::Part *part)
}
kDebug() << "New current view" << newView;
m_currentView = newView;
m_currentView = newView;
if (newView) {
m_paShowStatusBar->setChecked( newView->frame()->statusbar()->isVisible() );
}
if (!part) {
//kDebug() << "No part activated - returning";
unplugViewModeActions();
@ -3245,6 +3253,22 @@ void KonqMainWindow::slotShowMenuBar()
slotForceSaveMainWindowSettings();
}
void KonqMainWindow::slotShowStatusBar()
{
if (m_currentView)
m_currentView->frame()->statusbar()->setVisible( m_paShowStatusBar->isChecked() );
// An alternative: this will change simultaneously all of the status bars on
// all of the current views.
//MapViews::const_iterator end = m_mapViews.constEnd();
//for (MapViews::const_iterator it = m_mapViews.constBegin(); it != end; ++it) {
// KonqView* view = it.value();
// view->frame()->statusbar()->setVisible(on);
//}
slotForceSaveMainWindowSettings();
}
void KonqMainWindow::slotUpdateFullScreen( bool set )
{
KToggleFullScreenAction::setFullScreen( this, set );
@ -3778,6 +3802,9 @@ void KonqMainWindow::initActions()
m_paShowMenuBar = KStandardAction::showMenubar( this, SLOT(slotShowMenuBar()), this );
actionCollection()->addAction( KStandardAction::name(KStandardAction::ShowMenubar), m_paShowMenuBar );
m_paShowStatusBar = KStandardAction::showStatusbar( this, SLOT(slotShowStatusBar()), this );
actionCollection()->addAction( KStandardAction::name(KStandardAction::ShowStatusbar), m_paShowStatusBar );
action = actionCollection()->addAction( "konqintro" );
action->setText( i18n( "Kon&queror Introduction" ) );
connect(action, SIGNAL(triggered()), SLOT(slotIntro()));
@ -4303,6 +4330,8 @@ void KonqMainWindow::showEvent(QShowEvent *event)
// view profiles store toolbar info, and that info is read after
// construct time.
m_paShowMenuBar->setChecked( !menuBar()->isHidden() );
if ( m_currentView )
m_paShowStatusBar->setChecked( m_currentView->frame()->statusbar()->isVisible() );
updateBookmarkBar(); // hide if empty
// Call parent method

View file

@ -500,6 +500,7 @@ private Q_SLOTS:
void slotCheckComboSelection();
void slotShowMenuBar();
void slotShowStatusBar();
void slotOpenURL( const KUrl& );
@ -677,6 +678,7 @@ private: // members
KToggleAction *m_ptaUseHTML;
KToggleAction *m_paShowMenuBar;
KToggleAction *m_paShowStatusBar;
KToggleFullScreenAction *m_ptaFullScreen;

View file

@ -1,6 +1,6 @@
<?xml version="1.0"?>
<!DOCTYPE gui SYSTEM "kpartgui.dtd">
<gui name="Konqueror" version="69">
<gui name="Konqueror" version="70">
<MenuBar>
<Menu name="file" noMerge="1"><text>&amp;File</text>
<Action name="new_window"/>
@ -54,6 +54,7 @@
<Menu name="settings" noMerge="1"><text>&amp;Settings</text>
<Merge name="StandardToolBarMenuHandler" />
<Action name="options_show_menubar"/>
<Action name="options_show_statusbar"/>
<ActionList name="toggleview" />
<Separator/>
<Action name="fullscreen"/>