Disable editor actions if editor view not visible.

This commit is contained in:
Jim Evins
2016-12-24 00:51:01 -05:00
parent 2df8d4fd43
commit 63adfab2a5
2 changed files with 28 additions and 10 deletions
+27 -10
View File
@@ -125,6 +125,7 @@ MainWindow::MainWindow()
setDocVerbsEnabled( false ); setDocVerbsEnabled( false );
setPasteVerbsEnabled( false ); setPasteVerbsEnabled( false );
setWelcomeMode( true );
setTitle(); setTitle();
// Connect // Connect
@@ -179,6 +180,7 @@ void MainWindow::setModel( LabelModel *label )
setDocVerbsEnabled( true ); setDocVerbsEnabled( true );
setSelectionVerbsEnabled( false ); setSelectionVerbsEnabled( false );
setMultiSelectionVerbsEnabled( false ); setMultiSelectionVerbsEnabled( false );
setWelcomeMode( false );
setTitle(); setTitle();
connect( mLabelEditor, SIGNAL(contextMenuActivate()), this, SLOT(onContextMenuActivate()) ); connect( mLabelEditor, SIGNAL(contextMenuActivate()), this, SLOT(onContextMenuActivate()) );
@@ -736,13 +738,26 @@ QWidget* MainWindow::createPrintPage()
} }
///
/// Set enabled state of TOC buttons based on Welcome mode
///
void MainWindow::setWelcomeMode( bool enabled )
{
mWelcomeButton->setHidden( !enabled );
mPropertiesButton->setHidden( enabled );
mEditorButton->setHidden( enabled );
mMergeButton->setHidden( enabled );
mPrintButton->setHidden( enabled );
}
/// ///
/// Set enabled state of actions associated with a document. /// Set enabled state of actions associated with a document.
/// ///
void MainWindow::setDocVerbsEnabled( bool enabled ) void MainWindow::setDocVerbsEnabled( bool enabled )
{ {
fileSaveAction->setEnabled( enabled ); fileSaveAction->setEnabled( mModel && mModel->isModified() );
fileSaveAsAction->setEnabled( enabled ); fileSaveAsAction->setEnabled( mModel );
editUndoAction->setEnabled( enabled && mUndoRedoModel->canUndo() ); editUndoAction->setEnabled( enabled && mUndoRedoModel->canUndo() );
editRedoAction->setEnabled( enabled && mUndoRedoModel->canRedo() ); editRedoAction->setEnabled( enabled && mUndoRedoModel->canRedo() );
editDeleteAction->setEnabled( enabled ); editDeleteAction->setEnabled( enabled );
@@ -780,13 +795,6 @@ void MainWindow::setDocVerbsEnabled( bool enabled )
objectsCenterMenu->setEnabled( enabled ); objectsCenterMenu->setEnabled( enabled );
objectsCenterHorizAction->setEnabled( enabled ); objectsCenterHorizAction->setEnabled( enabled );
objectsCenterVertAction->setEnabled( enabled ); objectsCenterVertAction->setEnabled( enabled );
// Contents buttons
mWelcomeButton->setHidden( enabled );
mPropertiesButton->setHidden( !enabled );
mEditorButton->setHidden( !enabled );
mMergeButton->setHidden( !enabled );
mPrintButton->setHidden( !enabled );
} }
@@ -805,6 +813,7 @@ void MainWindow::setDocModifiedVerbsEnabled( bool enabled )
void MainWindow::setPasteVerbsEnabled( bool enabled ) void MainWindow::setPasteVerbsEnabled( bool enabled )
{ {
editPasteAction->setEnabled( enabled ); editPasteAction->setEnabled( enabled );
contextPasteAction->setEnabled( enabled );
} }
@@ -966,7 +975,15 @@ void MainWindow::changePage(QListWidgetItem *current, QListWidgetItem *previous)
current = previous; current = previous;
} }
mPages->setCurrentIndex(mContents->row(current)); int row = mContents->row(current);
mPages->setCurrentIndex(row);
bool isEditorPage = ( row == mContents->row(mEditorButton) );
setDocVerbsEnabled( isEditorPage );
setSelectionVerbsEnabled( isEditorPage && !mModel->isSelectionEmpty() );
setMultiSelectionVerbsEnabled( isEditorPage && !mModel->isSelectionAtomic() );
setPasteVerbsEnabled( isEditorPage && mModel->canPaste() );
} }
+1
View File
@@ -166,6 +166,7 @@ private:
QWidget* createMergePage(); QWidget* createMergePage();
QWidget* createPrintPage(); QWidget* createPrintPage();
void setWelcomeMode( bool );
void setDocVerbsEnabled( bool ); void setDocVerbsEnabled( bool );
void setDocModifiedVerbsEnabled( bool ); void setDocModifiedVerbsEnabled( bool );
void setPasteVerbsEnabled( bool ); void setPasteVerbsEnabled( bool );