mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	Make sure the save/cancel message is always shown
An addition to the "Move dive notes edit message above the scrollable widget" commit: Make sure the save/cancel message is always displayed on top, regardless of which tab is selected. Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
		
							parent
							
								
									9b51901f35
								
							
						
					
					
						commit
						b1febf17b1
					
				
					 3 changed files with 58 additions and 25 deletions
				
			
		|  | @ -32,20 +32,15 @@ MainTab::MainTab(QWidget *parent) : QTabWidget(parent), | ||||||
| 	ui.setupUi(this); | 	ui.setupUi(this); | ||||||
| 	ui.cylinders->setModel(cylindersModel); | 	ui.cylinders->setModel(cylindersModel); | ||||||
| 	ui.weights->setModel(weightModel); | 	ui.weights->setModel(weightModel); | ||||||
| 	ui.diveNotesMessage->hide(); | 	closeMessage(); | ||||||
| 	ui.diveEquipmentMessage->hide(); |  | ||||||
| 	ui.diveNotesMessage->setCloseButtonVisible(false); |  | ||||||
| 	ui.diveEquipmentMessage->setCloseButtonVisible(false); |  | ||||||
| 
 | 
 | ||||||
| 	QAction *action = new QAction(tr("Save"), this); | 	QAction *action = new QAction(tr("Save"), this); | ||||||
| 	connect(action, SIGNAL(triggered(bool)), this, SLOT(acceptChanges())); | 	connect(action, SIGNAL(triggered(bool)), this, SLOT(acceptChanges())); | ||||||
| 	ui.diveEquipmentMessage->addAction(action); | 	addMessageAction(action); | ||||||
| 	ui.diveNotesMessage->addAction(action); |  | ||||||
| 
 | 
 | ||||||
| 	action = new QAction(tr("Cancel"), this); | 	action = new QAction(tr("Cancel"), this); | ||||||
| 	connect(action, SIGNAL(triggered(bool)), this, SLOT(rejectChanges())); | 	connect(action, SIGNAL(triggered(bool)), this, SLOT(rejectChanges())); | ||||||
| 	ui.diveEquipmentMessage->addAction(action); | 	addMessageAction(action); | ||||||
| 	ui.diveNotesMessage->addAction(action); |  | ||||||
| 
 | 
 | ||||||
| 	if (qApp->style()->objectName() == "oxygen") | 	if (qApp->style()->objectName() == "oxygen") | ||||||
| 		setDocumentMode(true); | 		setDocumentMode(true); | ||||||
|  | @ -164,6 +159,43 @@ void MainTab::addDiveStarted() | ||||||
| 	editMode = ADD; | 	editMode = ADD; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | void MainTab::addMessageAction(QAction* action) | ||||||
|  | { | ||||||
|  | 	ui.diveEquipmentMessage->addAction(action); | ||||||
|  | 	ui.diveNotesMessage->addAction(action); | ||||||
|  | 	ui.diveInfoMessage->addAction(action); | ||||||
|  | 	ui.diveStatisticsMessage->addAction(action); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void MainTab::hideMessage() | ||||||
|  | { | ||||||
|  | 	ui.diveNotesMessage->animatedHide(); | ||||||
|  | 	ui.diveEquipmentMessage->animatedHide(); | ||||||
|  | 	ui.diveInfoMessage->animatedHide(); | ||||||
|  | 	ui.diveStatisticsMessage->animatedHide(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void MainTab::closeMessage() | ||||||
|  | { | ||||||
|  | 	hideMessage(); | ||||||
|  | 	ui.diveNotesMessage->setCloseButtonVisible(false); | ||||||
|  | 	ui.diveEquipmentMessage->setCloseButtonVisible(false); | ||||||
|  | 	ui.diveInfoMessage->setCloseButtonVisible(false); | ||||||
|  | 	ui.diveStatisticsMessage->setCloseButtonVisible(false); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void MainTab::displayMessage(QString str) | ||||||
|  | { | ||||||
|  | 	ui.diveNotesMessage->setText(str); | ||||||
|  | 	ui.diveNotesMessage->animatedShow(); | ||||||
|  | 	ui.diveEquipmentMessage->setText(str); | ||||||
|  | 	ui.diveEquipmentMessage->animatedShow(); | ||||||
|  | 	ui.diveInfoMessage->setText(str); | ||||||
|  | 	ui.diveInfoMessage->animatedShow(); | ||||||
|  | 	ui.diveStatisticsMessage->setText(str); | ||||||
|  | 	ui.diveStatisticsMessage->animatedShow(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| void MainTab::enableEdition(EditMode newEditMode) | void MainTab::enableEdition(EditMode newEditMode) | ||||||
| { | { | ||||||
| 	if (selected_dive < 0 || editMode != NONE) | 	if (selected_dive < 0 || editMode != NONE) | ||||||
|  | @ -175,23 +207,16 @@ void MainTab::enableEdition(EditMode newEditMode) | ||||||
| 	notesBackup.clear(); | 	notesBackup.clear(); | ||||||
| 	if (mainWindow() && mainWindow()->dive_list()->selectedTrips().count() == 1) { | 	if (mainWindow() && mainWindow()->dive_list()->selectedTrips().count() == 1) { | ||||||
| 		// we are editing trip location and notes
 | 		// we are editing trip location and notes
 | ||||||
| 		ui.diveNotesMessage->setText(tr("This trip is being edited.")); | 		displayMessage(tr("This trip is being edited.")); | ||||||
| 		ui.diveNotesMessage->animatedShow(); |  | ||||||
| 		ui.diveEquipmentMessage->setText(tr("This trip is being edited.")); |  | ||||||
| 		ui.diveEquipmentMessage->animatedShow(); |  | ||||||
| 		notesBackup[NULL].notes = ui.notes->toPlainText(); | 		notesBackup[NULL].notes = ui.notes->toPlainText(); | ||||||
| 		notesBackup[NULL].location = ui.location->text(); | 		notesBackup[NULL].location = ui.location->text(); | ||||||
| 		editMode = TRIP; | 		editMode = TRIP; | ||||||
| 	} else { | 	} else { | ||||||
| 		if (amount_selected > 1) { | 		if (amount_selected > 1) { | ||||||
| 			ui.diveNotesMessage->setText(tr("Multiple dives are being edited.")); | 			displayMessage(tr("Multiple dives are being edited.")); | ||||||
| 			ui.diveEquipmentMessage->setText(tr("Multiple dives are being edited.")); |  | ||||||
| 		} else { | 		} else { | ||||||
| 			ui.diveNotesMessage->setText(tr("This dive is being edited.")); | 			displayMessage(tr("This dive is being edited.")); | ||||||
| 			ui.diveEquipmentMessage->setText(tr("This dive is being edited.")); |  | ||||||
| 		} | 		} | ||||||
| 		ui.diveNotesMessage->animatedShow(); |  | ||||||
| 		ui.diveEquipmentMessage->animatedShow(); |  | ||||||
| 
 | 
 | ||||||
| 		// We may be editing one or more dives here. backup everything.
 | 		// We may be editing one or more dives here. backup everything.
 | ||||||
| 		struct dive *mydive; | 		struct dive *mydive; | ||||||
|  | @ -513,8 +538,7 @@ void MainTab::acceptChanges() | ||||||
| 	mainWindow()->dive_list()->setEnabled(true); | 	mainWindow()->dive_list()->setEnabled(true); | ||||||
| 	tabBar()->setTabIcon(0, QIcon()); // Notes
 | 	tabBar()->setTabIcon(0, QIcon()); // Notes
 | ||||||
| 	tabBar()->setTabIcon(1, QIcon()); // Equipment
 | 	tabBar()->setTabIcon(1, QIcon()); // Equipment
 | ||||||
| 	ui.diveNotesMessage->animatedHide(); | 	hideMessage(); | ||||||
| 	ui.diveEquipmentMessage->animatedHide(); |  | ||||||
| 	/* now figure out if things have changed */ | 	/* now figure out if things have changed */ | ||||||
| 	if (mainWindow() && mainWindow()->dive_list()->selectedTrips().count() == 1) { | 	if (mainWindow() && mainWindow()->dive_list()->selectedTrips().count() == 1) { | ||||||
| 		if (notesBackup[NULL].notes != ui.notes->toPlainText() || | 		if (notesBackup[NULL].notes != ui.notes->toPlainText() || | ||||||
|  | @ -712,8 +736,7 @@ void MainTab::rejectChanges() | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	ui.diveNotesMessage->animatedHide(); | 	hideMessage(); | ||||||
| 	ui.diveEquipmentMessage->animatedHide(); |  | ||||||
| 	mainWindow()->dive_list()->setEnabled(true); | 	mainWindow()->dive_list()->setEnabled(true); | ||||||
| 	notesBackup.clear(); | 	notesBackup.clear(); | ||||||
| 	resetPallete(); | 	resetPallete(); | ||||||
|  |  | ||||||
|  | @ -82,6 +82,10 @@ public slots: | ||||||
| 	void editCylinderWidget(const QModelIndex& index); | 	void editCylinderWidget(const QModelIndex& index); | ||||||
| 	void editWeightWidget(const QModelIndex& index); | 	void editWeightWidget(const QModelIndex& index); | ||||||
| 	void addDiveStarted(); | 	void addDiveStarted(); | ||||||
|  | 	void addMessageAction(QAction* action); | ||||||
|  | 	void hideMessage(); | ||||||
|  | 	void closeMessage(); | ||||||
|  | 	void displayMessage(QString str); | ||||||
| 	void enableEdition(EditMode newEditMode = NONE); | 	void enableEdition(EditMode newEditMode = NONE); | ||||||
| 	void toggleTriggeredColumn(); | 	void toggleTriggeredColumn(); | ||||||
| private: | private: | ||||||
|  |  | ||||||
|  | @ -263,6 +263,9 @@ | ||||||
|    </attribute> |    </attribute> | ||||||
|    <layout class="QGridLayout" name="gridLayout_4"> |    <layout class="QGridLayout" name="gridLayout_4"> | ||||||
|     <item row="0" column="0"> |     <item row="0" column="0"> | ||||||
|  |      <widget class="KMessageWidget" name="diveEquipmentMessage" native="true"/> | ||||||
|  |     </item> | ||||||
|  |     <item row="1" column="0"> | ||||||
|      <widget class="QScrollArea" name="scrollArea_2"> |      <widget class="QScrollArea" name="scrollArea_2"> | ||||||
|       <property name="frameShape"> |       <property name="frameShape"> | ||||||
|        <enum>QFrame::NoFrame</enum> |        <enum>QFrame::NoFrame</enum> | ||||||
|  | @ -298,9 +301,6 @@ | ||||||
|         <property name="spacing"> |         <property name="spacing"> | ||||||
|          <number>2</number> |          <number>2</number> | ||||||
|         </property> |         </property> | ||||||
|         <item row="0" column="0"> |  | ||||||
|          <widget class="KMessageWidget" name="diveEquipmentMessage" native="true"/> |  | ||||||
|         </item> |  | ||||||
|         <item row="1" column="0"> |         <item row="1" column="0"> | ||||||
|          <widget class="QWidget" name="widget" native="true"> |          <widget class="QWidget" name="widget" native="true"> | ||||||
|           <layout class="QVBoxLayout" name="verticalLayout"> |           <layout class="QVBoxLayout" name="verticalLayout"> | ||||||
|  | @ -343,6 +343,9 @@ | ||||||
|    </attribute> |    </attribute> | ||||||
|    <layout class="QGridLayout" name="gridLayout"> |    <layout class="QGridLayout" name="gridLayout"> | ||||||
|     <item row="0" column="0"> |     <item row="0" column="0"> | ||||||
|  |      <widget class="KMessageWidget" name="diveInfoMessage" native="true"/> | ||||||
|  |     </item> | ||||||
|  |     <item row="1" column="0"> | ||||||
|      <widget class="QScrollArea" name="scrollArea_3"> |      <widget class="QScrollArea" name="scrollArea_3"> | ||||||
|       <property name="frameShape"> |       <property name="frameShape"> | ||||||
|        <enum>QFrame::NoFrame</enum> |        <enum>QFrame::NoFrame</enum> | ||||||
|  | @ -650,6 +653,9 @@ | ||||||
|    </attribute> |    </attribute> | ||||||
|    <layout class="QGridLayout" name="gridLayout1"> |    <layout class="QGridLayout" name="gridLayout1"> | ||||||
|     <item row="0" column="1"> |     <item row="0" column="1"> | ||||||
|  |      <widget class="KMessageWidget" name="diveStatisticsMessage" native="true"/> | ||||||
|  |     </item> | ||||||
|  |     <item row="1" column="1"> | ||||||
|      <widget class="QScrollArea" name="scrollArea_4"> |      <widget class="QScrollArea" name="scrollArea_4"> | ||||||
|       <property name="frameShape"> |       <property name="frameShape"> | ||||||
|        <enum>QFrame::NoFrame</enum> |        <enum>QFrame::NoFrame</enum> | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue